HTML-pedia
|
|
|
НавигацияУроки CSS |
CSS хаки для IE6, Opera, Firefox, SafariХаком называется набор приемов, направленных на то, чтобы для одного браузера задать стиль определенного элемента, который бы отличался от стиля для других браузеров. В первую очередь хаки предназначены для устранения существующих ошибок в браузере и создания так называемой кроссбраузерной верстки, когда один и тот же документ одинаково и без ошибок отображается в разных браузерах. Использование !importantРаботает: IE5 IE5.5 IE6 Не работает: IE7 IE8 Opera Safari Firefox ОписаниеПри добавлении параметра !important к значению стилевого параметра его важность повышается. Если переопределить значение того же параметра без !important, он будет игнорироваться браузерами. Но только не в Intenet Explorer версии 6 и ниже. Пример 1
В данном примере в браузере Internet Exolorer 6 цвет фона блока будет красным, в остальных браузерах — зеленым. Символ подчеркивания перед атрибутомРаботает: IE5 IE5.5 IE6 Не работает: IE7 IE8 Opera Safari Firefox ОписаниеЕсли перед стилевым атрибутом добавить символ подчеркивания, то он будет пониматься только браузером Internet Explorer до 6 версии включительно. Пример 2
В данном примере в браузере Internet Exolorer 6 цвет фона блока будет красным, в остальных браузерах — зеленым. Комбинация * htmlРаботает: IE5 IE5.5 IE6 Не работает: IE7 IE8 Opera Safari Firefox Для обозначения любого элемента в CSS используется символ звездочки (*), который называется универсальным селектором. Его понимают все браузеры, но вот сочетание * HTML — только один Internet Explorer до 6 версии включительно. Добавляя эту комбинацию перед селектором, получим стиль, который работает только в одном браузере. Пример 3
В данном примере в браузере Internet Explorer версии 6 и ниже текст отображается оливковым цветом, а в остальных браузерах — красным. Универсальный селекторРаботает: IE5 IE5.5 IE6 IE7 Не работает:IE8 Opera Safari Firefox Добавление символа звездочки (*) перед именем стилевого атрибута противоречит спецификации CSS, но понимается браузером Internet Explorer до версии 7 включительно. Соответственно, параметры со звездочкой впереди будут работать только в этом семействе браузеров. Пример 4
В данном примере синий цвет фона у блока будет установлен только для браузера Internet Explorer. В остальных цвет фона будет зеленым. Условные комментарииРаботает: IE5 IE5.5 IE6 IE7IE8 Не работает:Opera Safari Firefox Любой текст в коде HTML можно закомментировать и при этом он никак не будет отображаться на веб-странице. Для этого его следует поместить между элементами <!-- и -->. Браузер Internet Explorer кроме того поддерживает специальный синтаксис, в задачу которого входит интерпретировать код, если перед нами Internet Explorer. Остальные браузеры при этом видят обычный комментарий и не отображают его.
Внутри квадратных скобок допустимо использовать следующие ключевые слова: IE — любая версия браузера Internet Explorer; Поскольку указанные элементы можно писать только внутри контейнера <BODY>, то следует добавить тег <STYLE>, как показано в примере 5. Пример 5
@media all and (min-width)Работает: Opera Safari Не работает:IEFirefox Правило @media используется для определения стиля, предназначенного только для определенных устройств. Конструкцию @media all понимают все браузеры, но Opera и Safari также поддерживают @media all and (min-width) — правило, появившееся в CSS3. Соответственно, помещая желаемые стилевые атрибуты внутрь этого правила, получим стиль, работающий только в браузерах Opera и Safari. Пример 6
В данном примере в браузере Opera и Safari цвет блока отображается оранжевым, в то время как Internet Explorer и Firefox покажут его синим. Псевдокласс rootРаботает: Firefox Safari Не работает:IEOpera Псевдокласс root применяется к элементам верхнего уровня (называемых корневыми) и поддерживается CSS3. Конструкция HTML:root или *:root понимается браузерами Firefox и Safari, поэтому, используя контекстные селекторы в стилях (*:root селектор), получим стиль, работающий только в указанных браузерах. Пример 7
Данный код проходит валидацию как CSS 3, но не CSS 2.1. Псевдокласс first-childРаботает: Opera Не работает:IEFirefoxSafari Псевдокласс first-child применяется к первому дочернему элементу. Хотя этот параметр понимают многие браузеры, но конструкция HTML: first-child работает только в Опере. Пример 8
В данном примере показано, как только для браузера Opera задать оранжевый цвет фона, в то время как для остальных браузеров он будет синим.
Источник: Справочник по CSS. Версия 3.0
Автор: Влад Мержевич
|
|
© 2009 «html-pedia» При использовании материалов «HTML-pedia» ссылка на сайт html-pedia обязательна. |