Использование селектора «>» в ​​IE6 - PullRequest
0 голосов
/ 17 декабря 2008

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

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

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

Ответы [ 4 ]

5 голосов
/ 17 декабря 2008

Если я хочу выбрать 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/

3 голосов
/ 17 декабря 2008

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

1 голос
/ 04 октября 2011

IE6 не поддерживает селектор >.

В некоторых случаях вы можете заменить его пробелом вместо этого и получить почти тот же результат, но это не всегда работает; Есть моменты, когда вам просто нужно >.

Мой первый совет - отказаться от поддержки IE6. За последние пару лет он потерял практически всю оставшуюся долю рынка, поэтому в действительности его не нужно поддерживать.

Если вы должны поддерживать IE6 и хотите использовать селектор >, тогда ваши единственные варианты - это хаки Javascript.

Есть два хака, которые могут вам помочь:

  • IE7.js Дина Эдвардса - это попытка использовать Javascript для переноса как можно большего количества функций CSS и JS в более старые версии IE, включая IE6. Он неплохо справляется со своими задачами.

  • Selectivizr - это библиотека JS, предназначенная для предоставления более ранним версиям IE полной поддержки современных селекторов CSS. Это требует, чтобы вы также использовали другую библиотеку, такую ​​как jQuery, так как она подключается к селектору из этой библиотеки. Это означает, что если вы уже используете одну из поддерживаемых библиотек, это небольшое и эффективное дополнение к вашему коду.

0 голосов
/ 17 декабря 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...