использовать #IEroot для ie-таргетированного стиля? - PullRequest
3 голосов
/ 31 декабря 2008

Кто-нибудь смог успешно использовать взломанный IE CSS #IEroot? Я наткнулся на это из этой статьи , но, похоже, это не работает для меня.

Я пытаюсь исправить / взломать ошибку встроенного стиля для создания встроенных блоков li

#featured li {
    margin:0px;
    padding:0px;
    width:317px;
    height:310px;
    display:inline-block;
    border-left:1px #bdbdbd solid;
}
#IEroot #featured li {
    display:inline;
}

Любая помощь будет очень полезна, спасибо.

Ответы [ 2 ]

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

ЭТО РАБОТАЕТ , в точности как описано, ДАЖЕ в IE8, и на самом деле это довольно умный CSS-хак для обхода специфических ошибок IE.

Вы ДОЛЖНЫ поменять строку DOCTYPE на REAL DOCTYPE, хотя сначала.

Вот код из ссылки, настроенный для рабочего примера.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style>
/* all browsers make border red */
#IE { border : 2px solid red; }
/* all browsers see this, but only IE thinks #IEroot exists as an element and makes border blue */
#IEroot #IE { border-color : blue; }
</style>
</head>
<body>
<!--[if IE]>
<div id="IEroot">
<![endif]-->
<p id="IE">This browser is IE. (red in all, blue in IE)</p>
<p id="notIE">This browser is not IE.</p>
<!--[if IE]>
</div>
<![endif]-->
</body>
</html>
0 голосов
/ 31 декабря 2008

Я использую бета-версию IE8, и пример на странице, на которую вы ссылаетесь, не работает. Живая демоверсия также, похоже, не учитывает IE8.

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

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

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

Если вы настаиваете на использовании такого хака, обязательно добавьте комментарий, подобный этому:

/* >>>>>>> BUTT-UGLY BROWSER HACK! FIX ME!!!!! <<<<<<<< */
#IEroot #featured li {
    display:inline;
}

: -)

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