CSS условное форматирование - PullRequest
2 голосов
/ 14 июня 2009

У меня есть код ниже, чтобы проверить, использует ли пользователь IE7 ... и ему нужно переопределить стиль .web_info. Если не IE7, он использует стиль по умолчанию, если он вообще не IE, он будет использовать ff_styles.css. Это не похоже на работу.

<link rel="stylesheet" type="text/css" href="../styles.css">


<![if !IE]>
<link rel="stylesheet" type="text/css" href="../ff_styles.css">
<![endif]>

<![if IE 7]>
<style type="text/css">
.web_info
{
left: 450px;
top: 200px;
width: 300px;
height: 60px;   
}
</style>
<![endif]>

Есть предложения? Спасибо

Ответы [ 3 ]

4 голосов
/ 14 июня 2009

Не должно ли это выглядеть

<!--[if IE 7]>
..
<![endif]-->

и

<!--[if !IE]>
...
<![endif]-->

Обратите внимание, что

<!--[if !IE]>

никогда не должно давать истину, так как эти условные комментарии интерпретируются только IE.

3 голосов
/ 14 июня 2009

Условные комментарии специфичны для IE, поэтому «<![if !IE]>» не является допустимой инструкцией для Firefox или любого другого браузера. Кроме того, я бы посоветовал вам попробовать следующий синтаксис:

<!--[if IE 7]>
<style type="text/css">
.web_info
{
left: 450px;
top: 200px;
width: 300px;
height: 60px;   
}
</style>    
<![endif]-->

Последнее замечание с моей стороны: поскольку IE7 / IE8 в основном соответствуют стандарту, таких CSS-хаков следует избегать, если это возможно.

Обновление: Благодаря слосду я исправлюсь! Согласно " Поддержка IE с условными комментариями ", вы можете использовать следующее, чтобы скрыть что-то от IE:

<!--[if !IE]>-->
do something; IE will ignore this, other browsers parse it
<!--<![endif]-->

Приносим извинения за доставленные неудобства!

Полный рабочий пример:

<link rel="stylesheet" type="text/css" href="../styles.css">

<!--[if !IE]>-->
  <link rel="stylesheet" type="text/css" href="../ff_styles.css">
<!--<![endif]-->

<!--[if IE 7]>
  <style type="text/css">
  .web_info{
    left: 450px;
    top: 200px;
    width: 300px;
    height: 60px;   
  }
  </style>
<![endif]-->
2 голосов
/ 14 июня 2009

Не проверяйте, не является ли браузер IE, проверьте, является ли он IE7, затем, если это IE, а затем используйте запасной вариант по умолчанию. Дополнительная информация: http://www.quirksmode.org/css/condcom.html

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