IE6 нацеливается, * или _ лучше? - PullRequest
0 голосов
/ 12 июля 2011

Мне нужно настроить IE6 только для исправления ошибки. Я знаю, что лучше использовать условные таблицы стилей, но у меня есть доступ только к CSS, а не к HTML (длинная история).

Кажется, что я могу достичь этого с помощью одного из следующих:

*html .mydiv {
    height: 40px;
}

.mydiv {
    _height: 40px;
}

Одно решение лучше другого? Спасибо

Ответы [ 4 ]

1 голос
/ 12 июля 2011

Второй вариант, _height: 40px;, не рекомендуется, поскольку он не соответствует требованиям стандартов W3C. Вы можете прочитать больше о взломах IE6 здесь: http://www.webdevout.net/css-hacks#in_css.

Насколько мне известно, оба должны применяться только к IE6 и ниже.

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

1 голос
/ 12 июля 2011

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

.mydiv {
    height: 38px;    
    _height: 40px;
}

Для тренированных глаз ясно, что это взлом IE6.

0 голосов
/ 12 июля 2011

Будьте осторожны: _ только ie6, * для ie6 и ie7.

Вы также можете рассмотреть этот тип разветвления CSS, что приводит к более чистому коду:

<!--[if le IE 6]>
<link rel...>
<![endif]-->
0 голосов
/ 12 июля 2011

Оба они - хаки, которые используют ошибки в браузере, поэтому их одинаково плохо использовать. Если у вас есть доступ к серверу, было бы немного лучше обслуживать разные таблицы стилей в зависимости от строки пользовательского агента браузера.

Если бы мне пришлось использовать один из них, я бы предпочел первый (тот, который использует ошибку селектора), так как в начале абзаца очевидно, что это специфично для IE (во втором случае вам нужно читать дольше, чтобы видеть это). Ни один из них не должен использоваться без четкого комментария.

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