Я написал некоторый CSS, который нацелен на элементы, используя селектор parent> child. Специально для таблиц, поэтому я могу применить определенные стили к верхним и нижним колонтитулам, как это
table > thead > tr > th ...
table > tbody > tr > td ...
//there are other uses in the css as well
Это отлично работает, кроме IE6. Каков мой лучший подход к отключению этого CSS для поддержки IE6?






Вы можете настроить таргетинг на них с помощью JavaScript, но это вряд ли реальное решение, поскольку для чего-то, что должно выполняться с помощью CSS, потребуется javaScript. Вы также можете изменить свой HTML, чтобы иметь определенные классы, но это означает изменение вашего HTML. Я действительно не думаю, что есть какие-то `` хорошие '' решения, я бы, вероятно, взломал все это вместе с помощью JavaScript, если бы это был я, который должен был позаботиться об этом, или если бы у меня был доступ к HTML или классам создания сценария HTML для те конкретные дети.
Обычно вы можете просто удалить '>', и это сработает. Все дело в том, как написаны ваши CSS и HTML. Я бы попробовал.
TD в TR в TBODY я имею в виду
Я не думал, что это сработает, это слишком просто, но мои страницы в IE6 выглядят так же, как в IE7 и Firefox, спасибо!
@ Пим Ягер: ты делаешь его дитем ада ?!
нет, не так ли? или я очень ошибаюсь насчет селекторов CSS?
Если я хочу выбрать E> F, я использую
E F {
set-some-style: value;
}
E * F {
unset-some-style: 0;
}
Только это не так хорошо работает, когда у вас много> селекторов.
Больше чтения: http://www.sitepoint.com/blogs/2005/06/20/erics-universal-child-selector/
IE6 не поддерживает селектор >.
В некоторых случаях вы можете заменить его переключателем пробела и добиться того же результата, но это не всегда работает; бывают случаи, когда вы просто нужно>.
Мой первый совет - отказаться от поддержки IE6. За последние пару лет он потерял практически всю оставшуюся долю рынка, так что нет необходимости поддерживать его.
Если вам необходимо поддерживать IE6 и вы хотите использовать селектор >, тогда ваш единственный вариант - это взлом Javascript.
Есть два совета, которые могут вам помочь:
IE7.js Дина Эдвардса - это попытка использовать Javascript для обратного переноса как можно большего количества функций CSS и JS в более старые версии IE, включая IE6. Он делает довольно хорошую работу и существует уже много лет.
Selectivizr - это библиотека JS, предназначенная для предоставления более старым версиям IE полной поддержки современных селекторов CSS. Это требует, чтобы вы также использовали другую библиотеку, такую как jQuery, поскольку она подключается к механизму выбора из этой библиотеки. Это означает, что если вы уже используете одну из поддерживаемых библиотек, то это небольшое и эффективное дополнение к вашему коду.
Для первого правила это также выберет все TR в TBODY, поскольку они являются потомками THEAD