IE условно в таблице стилей - PullRequest
3 голосов
/ 27 июля 2010

Я пытаюсь выровнять верхнюю границу элемента содержимого с нижними границами списка <li>, используемого для навигации прямо выше (например, панели с вкладками). В IE выравнивание (или установленное поле) отключено на 1 пиксель.

Есть ли какой-либо способ, непосредственно в css, чтобы мне не нужно было создавать отдельную таблицу стилей IE, чтобы поставить условие, которое установит поле по вкусу IE? ИЛИ, если у меня возникнет проблема, связанная с отключением IE на 1 пиксель, я бы хотел услышать, почему, чтобы я мог вообще избежать взлома IE (я знаю, что еще не опубликовал код) Спасибо!

Ответы [ 2 ]

3 голосов
/ 27 июля 2010

Сергей прав с этим CSS-хаком, проверьте эту страницу, чтобы понять, почему он работает.http://www.webdevout.net/css-hacks

Кроме того, попробуйте это, это скорее установка из 2 частей, включающая небольшую разметку, но, на мой взгляд, более чистая и более гибкая, чем CSS-хаки и IE только таблицы стилей.

В HTML добавьте дополнительный div (несколько для каждой версии IE, на которую вы хотите настроить таргетинг)

<body>
<!--[if IE 6]> <div class="IE6"> <![endif]-->
<!--[if IE 7]> <div class="IE7"> <![endif]-->
...
<!--[if IE 7]> </div> <![endif]-->
<!--[if IE 6]> </div> <![endif]-->
</body>

Затем в ваших таблицах стилей вы можете добавить встроенные классы для нацеливания на версии IE.

.className { ... some styles ... }
.IE6 .className { ... some styles to fix IE6 only ... }
.IE7 .className { ... some styles to fix IE7 only ... }

На условных таблицах стилей это немного извращено, только условные стили.

3 голосов
/ 27 июля 2010

Да, есть.

.myclass { * поле: 1px; }

Это работает для IE6 и IE7, вам нужен взлом для любой другой конкретной версии?

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