2016-08-30 2 views
0

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

<!--[if !IE]><!--> 
     <body> 
    <!--<![endif]--> 
    <!--[if IE]> 
     <body class="ie"> 
    <![endif]--> 


<div class="Out">My test content 
</div> 

Внешний CSS

.Out{ 
width:300px;/*Not for IE*/ 
} 
ie. Out{ 
width:300px; /*only for IE*/ 
} 

Но в FF & инструмент хром разработчик я вижу тело получить class="ie", что неправильно. class="ie" предназначен только для браузеров IE.

Есть номер статьи я упомянул

Ссылка:

https://css-tricks.com/snippets/html/add-body-class-just-for-ie/

https://css-tricks.com/how-to-create-an-ie-only-stylesheet/

Detecting IE11 using CSS Capability/Feature Detectionenter link description here

http://www.positioniseverything.net/articles/cc-plus.html ..... и т.д. список ГЭ s на

Я ссылался на номера статей, но не помогал.Я думаю, что мне не хватает некоторых вещей.

ответ

0

Я пробовал много вещей из разных источников и статей, как я упомянул в своем вопросе.

К счастью, что работа для меня ответ от "SW4" in how-to-write-a-css-hack-for-ie-11

IE 8,9 и 10

.Out { 
     width:400px\0; /*For IE 8,9 and 10.*/ 
     /* For me above code is also supporting in IE 11 also. However, for IE 10+ browser I have added media query using -ms-high-contrast below*/ 

     width: 300px; /*for other Browsers*/ 
     } 

Вот техника, которая на самом деле довольно проста: создать запрос с использованием средств массовой информации -ms- высококонтрастный, в котором вы помещаете свои стили CSS в стиле IE 10 и 11. Поскольку -ms-high-contrast является специфичным для Microsoft (и доступен только в IE 10+), он будет обрабатываться только в Internet Explorer 10 и выше.

-ms-high-contrast поддерживает два значения: нет и активен. Поэтому, чтобы настроить IE10 + независимо от настройки свойства, используйте этот мультимедийный запрос:

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { 
width:400px; /* IE10+ CSS styles go here */ 
} 
Смежные вопросы