Использовать двойные классы в IE6 CSS?

есть ли способ заставить IE6 понимать двойные классы, скажем, у меня есть класс MenuButton с классом цвета и, возможно, классом, по которому щелкнули; нравиться :

.LeftContent a.MenuButton {..general rules..}  
.LeftContent a.MenuButton.Orange {..sets background-image..}  
.LeftContent a.MenuButton.Clicked {...hum ta dum...}

Теперь IE6 понимает <a class = "MenuButton Orange">, но при добавлении Нажатие, как <a class = "MenuButton Orange Clicked">, IE просто игнорирует Нажатое правило.

Конечно, я мог бы переписать свой CSS и иметь собственные правила для .MenuButtonOrange
и тому подобное (и это, вероятно, заняло намного меньше времени, чем задать этот вопрос ;-),
но, черт возьми, это так непривлекательно и Web 0.9 ...

Ваше здоровье!

Доступно ли свойство! Important в IE6 и младше? Также может быть возможным исправлением в зависимости от ситуации.

artdias90 10.02.2014 15:53
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
24
1
15 062
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

IE6 не поддерживает несколько селекторов классов. Причина, по которой вы видите изменение класса Orange, заключается в том, что a.MenuButton.Orange интерпретируется IE6 как a.Orange.

Я рекомендую структурировать разметку таким образом, чтобы вы могли обойти это:

<div class = "leftcontent">
   <ul class = "navmenu">
     <li><a class = "menubutton orange" href = "#">One</a></li>
     <li><a class = "menubutton orange clicked" href = "#">Two</a></li>
   </ul>
</div>

Группируя по более конкретному предку, вы можете создать вариацию с классами, ограниченными этим предком (в этом примере navmenu):

.leftcontent .navmenu a { /* ... basic styles ... */ }
.leftcontent .navmenu a.orange { /* ... extra orange ... */ }
.leftcontent .navmenu a.clicked { /* ... bold text ... */ }

Это не так хорошо, как несколько классов, но я использовал его, чтобы обойти отсутствие поддержки в IE.

Если бы мог, я бы утроил твой ответ :) Спас меня от прыжка с моста :)

bisko 10.11.2010 14:50

IE отстой. +1 за то, что я не схожу с ума

Nate 02.03.2014 21:56

If I use (like I wrote in the question), tag-specific rules, like .LeftContent a.MenuButton.Orange, it works...

It only matches them if the classes in the selector are in the same order as the classes on the element.

Это не совсем так. IE6 (и IE7 в режиме Quirks) запоминает только один класс для каждой части селектора. Если вы напишете два, второй переопределит первый. Итак, «a.MenuButton.Orange» по сути идентичен «a.Orange».

Так что пока что следует избегать использования нескольких селекторов классов.

+1. Это то, что я изначально написал, но Интернету было что сказать, и я по глупости поверил этому без тестирования. Я откатил свои правки и опустил голову от стыда.

Borgar 23.11.2008 21:33

Сценарий IE7 Дина Эдвардса добавляет поддержку нескольких классов для IE6. См. http://code.google.com/p/ie7-js/

Другие вопросы по теме