#css #internet-explorer-6
#css #internet-explorer-6
Вопрос:
Хорошо, вот в чем дело. Следующий код указан в моем Drupal page.tpl.php и все же IE6 не хочет принимать display:none
часть.
<!--[if IE 6]>
<style type="text/css">
.coda-nav{display:none; position:absolute; width:400px;height:20px;top:260px;right:100px;z-index:125421;}
</style>
<![endif]-->
Очистка кэша Drupal или кэша браузера не помогла.
Что не так с моим кодом (мне кажется, все в порядке?)
И не спрашивайте, почему я все еще пишу код для IE6, это и так достаточно унизительно 🙂
Комментарии:
1. Вы уверены, что ваша разметка имеет класс
coda-nav
и чтоdisplay
настройка не переопределяется другим правилом где-либо еще?2. Поскольку (по какой-то причине) для IE6 не объявлен другой файл css, я предполагаю, что это единственная строка кода, применяемая для IE6.
3. Нет. Весь CSS используется IE 6, упомянутое вами дополнительное правило применяется только к IE 6, но не к другим браузерам.
4. разве эта строка не переопределяет другие? Должно ли это иметь значение при добавлении
!important
?
Ответ №1:
Все правила CSS применяются в каскадном порядке, независимо от того, находятся они внутри специфичного для IE условного комментария или нет.
В этом случае добавление !important
к значению может решить вашу проблему, если только другие значения, которые также являются !important
, не указаны с более высоким приоритетом.
Кстати, если вы хотите обратиться только к IE 6 и 7, вы также можете добавить другое слово, чем important
после !
, например
display: none !hotdog;
В этих браузерах это будет иметь тот же эффект, что и добавление !important
.
Комментарии:
1. Спасибо за комментарий. Хотдог? Смехотворно 🙂 Однако
!important
не сработало. Я предполагаю, что с css что-то искренне не так!2. @Michiel: Я думаю, лучшее, что вы можете сделать, это удалить этот условный комментарий и применить правило ко всем браузерам, затем загляните в веб-инспектор Firebug или Chrome и посмотрите, какие правила применяются (и попытайтесь сделать так, чтобы правило, содержащее
display: none
, было более важным, чем другие правила; обычно это можно сделать, уточнив элементы, к которым оно применяется).