Наскоро обсъждахме как може да се преодолеят разни различия в различните браузъри без да се вадят отделни файлове със стилове.
Принципно не съм привърженик на хаковете, но понякога се налага да се ползва някой друг хак по някаква причина.
Затова реших да извадя някои хакове.
Ето тук са извадени няколко типа хакове, които влияят на различните браузъри

#example {
	color:black; /* mozilla, opera, safari i chrome */
	color: blue\9; /* ie 8 */
	*color:orange; /* ie 6 ie 7*/
        #color:orange; //for IE7
 
	_color: green; /* ie 6 */
}

Вижда се че 1-вия ред е за браузърите различни от IE.
След това е редът за IE8, тук си позволих да направя няколко опита, тъй като в нета четох че и това

color: blue;\ /* ie 8 */

било за IE8, но когато се напише така другите браузъри също го четат. Освен това опитах неща от сорта на

color: blue\1; /* ie 8 */
color: blue\x; /* ie 8 */

И всякакви от сорта, но.. установих че работи само с \9. Интересно нали 🙂
3-тият ред е за IE6 и IE7, но ако напишете 4-тия ред, IE6 ще вземе него под внимание.

Подредбата тук е важна.
Напр. ако се напише така

#example {
	color: blue\9; /* ie 8 */
	color:black; /* ff */
	*color:orange; /* ie 6 ie 7*/
        _color: green; /* ie 6 */
}

mozilla, opera, safari, chrome, IE8 ще покажат текста черен.

Kогато говорим за IE8 се оказа че има и 2-ри начин да го накараме да покаже нещо по определен начин.

Слагаме текста в елемент с клас test, затова пишем

#example .test{
	font-size: 13px;
}

но за IE8 се пише допълнително това:

#example .test, #ie8#fix{
	font-size: 20px;
}

оказа се че когато види #ie8#fix, IE8 смята това за невалиден селектор, поради което спира да чете всичко след него.
Просто игнорирал съдържанието в скобите.

Ето и демо

Posted in CSS