Использование селектора ">" в IE6

Я написал некоторый CSS, который нацелен на элементы, используя селектор parent> child. Специально для таблиц, поэтому я могу применить определенные стили к верхним и нижним колонтитулам, как это

table > thead > tr > th ...
table > tbody > tr > td ...
//there are other uses in the css as well

Это отлично работает, кроме IE6. Каков мой лучший подход к отключению этого CSS для поддержки IE6?

Приемы 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 сценарий полностью изменился.
0
0
434
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Вы можете настроить таргетинг на них с помощью JavaScript, но это вряд ли реальное решение, поскольку для чего-то, что должно выполняться с помощью CSS, потребуется javaScript. Вы также можете изменить свой HTML, чтобы иметь определенные классы, но это означает изменение вашего HTML. Я действительно не думаю, что есть какие-то `` хорошие '' решения, я бы, вероятно, взломал все это вместе с помощью JavaScript, если бы это был я, который должен был позаботиться об этом, или если бы у меня был доступ к HTML или классам создания сценария HTML для те конкретные дети.

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

Обычно вы можете просто удалить '>', и это сработает. Все дело в том, как написаны ваши CSS и HTML. Я бы попробовал.

Для первого правила это также выберет все TR в TBODY, поскольку они являются потомками THEAD

Pim Jager 17.12.2008 00:34

TD в TR в TBODY я имею в виду

Pim Jager 17.12.2008 00:35

Я не думал, что это сработает, это слишком просто, но мои страницы в IE6 выглядят так же, как в IE7 и Firefox, спасибо!

Bob 17.12.2008 00:41

@ Пим Ягер: ты делаешь его дитем ада ?!

Shog9 17.12.2008 00:46

нет, не так ли? или я очень ошибаюсь насчет селекторов CSS?

Pim Jager 17.12.2008 01:10

Если я хочу выбрать 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, поскольку она подключается к механизму выбора из этой библиотеки. Это означает, что если вы уже используете одну из поддерживаемых библиотек, то это небольшое и эффективное дополнение к вашему коду.

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