В свете особенностей нового IE приходится править старые методы использования хаков.
Оптимальным вариантом для меня является подключение специфичного листа стилей для всех IE через conditional comments.
<!--[if IE]>...<![endif]-->
И использование классического сочетания «star html hack» и метода экранирования для старых IE, а также варианта без хаков для седьмого.
В результате в ie.css используются конструкции примерно следующего вида:
#element {
zoom:1; /* IE 7 */
}
* HTML #element {
height:auto; /* IE 5 */
he\ight:1%; /* IE 6 */
}
А у нас в квартире газ А какими методами пользуетесь Вы?
P.S. Пример с height:auto имеет абстрактный характер, height:1% для self clearing вполне достаточно.
Vitaly Harisov // 2 ноября 2006 в 23:49
Я ещё исползую [id]#element или [class].element, если надо написать правило только для MSIE7.
akella // 3 ноября 2006 в 01:12
иногда “опускаюсь” до div[class=classname]{} – для всех кроме ИЕ5-6,
_height для ИЕ5-6, $height для ие5-7, хотя это все и некрасиво зато в одном файле
Flack // 3 ноября 2006 в 02:17
Виталий, да, видел такое. Пока еще не игрался. Надо бы.
akella, так це ж не валидно, почему не «star html»?
akella // 3 ноября 2006 в 10:25
Ну “star html” ты уже упомянул, его я тоже юзаю и решил не повторять
а невалидность… пристыдил ) но иногда (покраснев) делаю “как проще и быстрее”, хотя это и неправильно
Flack // 3 ноября 2006 в 12:29
akella, ну ты помнишь мое про «тупо и цинично», так что я не критикую :)
Artem Chertov // 3 ноября 2006 в 16:29
Использую только кондишинал комментс.
Хаки – невалидны, имхо лучше уж делать обход на DOM…
Flack // 3 ноября 2006 в 17:50
Artem Chertov, неправда ваша. «star html» и экранирование — валидны.
И с ними действительно удобно работать в одном файле для всех эксплореров. Дабы не плодить сущностей.
Artem Chertov // 7 ноября 2006 в 13:49
Flack. Я не в буквальном смысле говорил о валидности. Важно, что консорциум не приветствует хаки, трюки, фрики и пр. :) …мы можем так считать, полагаясь, как минимум на результат валидации, кода статьи
Хотя и с тем, что это удобно, тоже грех поспорить :)
CSS Hacks – Думаю, пригодится… :)
Flack // 7 ноября 2006 в 16:17
Artem Chertov, консорциум не слишком рад и уровню поддержки веб-стандартов в IE, но живет с этим.
Тем более наш style.css валиден :) Не валиден лишь ie.css, который является заплаткой для «обозревателя интернет». Не вижу здесь никакого криминала.
За ссылку спасибо, но баян дикий. Тысячу лет в моем делишесе валяется :) В порядке обмена опытом.
Artem Chertov // 8 ноября 2006 в 00:43
Flack, ещё я считаю, что адрес, отвечающего web-стандартам сайта, сайта, не под каким предлогом недолжен, быть в консоли. А именно т.н. хаки и пр. “удобности”, туда его отправляют! :(
Flack // 8 ноября 2006 в 00:46
Artem Chertov, не понял про консоль. Извините.
Artem Chertov // 8 ноября 2006 в 01:14
Flack, прошу прощения, что не уточнил!
FireFox JavaScript Console,
Opera Error Console,
Mozilla JavaScript Console и пр.
Кстати сообщение не лично Вам, всем. Это у меня, как-то опечаталось :)
Flack // 8 ноября 2006 в 01:38
Artem Chertov, вы серьезно считаете, что кто-то использует JS-консоли для проверки css? Любой мало-мальский профи легко отделит мухи от котлет, а style.css от ie.css. Тем более валидность css трудно соблюсти.
Тот же fieldset:0px solid transparent, необходимый для седьмой Оперы.
Artem Chertov // 8 ноября 2006 в 18:09
Flack > валидность css трудно соблюсти
Я так не считаю.
Flack > вы серьезно считаете, что кто-то использует JS-консоли для проверки css?
Как минимум, я имел в виду стороннюю критику проекта, т.е. в работе уважающего себя специалиста комар носа не подточит. :)
Flack // 8 ноября 2006 в 18:37
Artem Chertov, не обижайтесь, но вы идеалист. Пример обоснования я привел комментарием раньше.
Artem Chertov // 8 ноября 2006 в 18:55
Flack, В общем, так и есть. :)
P.S.: Никогда ни на кого не обижаюсь.
P.P.S.: Приятно было пообщаться… :)
Flack // 8 ноября 2006 в 20:18
Artem Chertov, аналогично. Заходите еще :)
Vitaly Harisov // 7 декабря 2006 в 13:16
Если выносить правила для MSIE в отдельный файл, то основной CSS должен быть валиден и не должен вываливать ошибки на Error Console в FF. Её действительно удобно использовать для уведомления об ошибках в CSS (а не online validator ;).
FataL // 27 декабря 2006 в 21:39
Иногда, когда надо быстро, пользую вот это:
width: 100%; /* для всех */
width: 99%; / IE 7 /
_width: 98%; / сброс для IE 6 и древнее */
FataL // 28 декабря 2006 в 20:16
Ужас! Мой комментарий изуродовался. Попробую ещё раз:
width: 100%;
*width: 99%;
_width: 98%;
Vitaly Harisov // 4 января 2007 в 18:09
Это невалидно.
andtim // 20 февраля 2007 в 12:31
Для IE 7 еще использую *+html.
andtim // 4 марта 2007 в 17:47
Для IE 5 мона также попробовать такую комбинацию:
margin-bottom/* */: -3px;
mihdan // 15 октября 2009 в 10:53
Строгий ответ – conditional comments