Существуют ли специальные селектора CSS, ориентированные на IE10?
Так как IE избавляется от условных комментариев в версии 10, мне крайне необходимо найти "CSS hack" для таргетинга IE10. Обратите внимание, что это должен быть селектор, который получает "взломанный", а не CSS-свойства.
В Mozilla вы можете использовать:
@-moz-document url-prefix() {
h1 {
color: red;
}
}
В Webkit вы обычно делаете:
@media screen and (-webkit-min-device-pixel-ratio:0) {
h1 {
color: blue;
}
}
Как мне сделать что-то подобное в IE10?
Ответы
Ответ 1
В следующем примере показано, как это сделать
/*
#ie10 will only be red in MSIE 10,
both in high contrast (display setting) and default mode
*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
#ie10 { color: red; }
}
Предупреждение: возможно, будет работать и в IE11 +.
Ответ 2
С помощью селектора браузера css из http://rafael.adm.br/css_browser_selector/ вы можете добавить простой + код и вызывать IE10 из вашего CSS.
Найдите /msie\s(\d)/
и измените его на /msie\s(\d+)/
.
Теперь в вашем CSS просто добавьте .ie10
до вашего выбора так:
.ie10 .class-name { width: 100px; }
.class-name { width: 90px; }
Теперь вы должны увидеть, что IE10 отображает ширину 100 пикселей и все другие браузеры, отображающие ширину 90 пикселей.
Ответ 3
Насколько я знаю, такой селектор CSS не существует. Если вы хотите специально настроить таргетинг на IE10, почему бы просто не написать немного javascript для установки класса в элементе body
с именем ie10
, а затем создать определенные стили для IE10?
Ответ 4
Я не уверен, что это соответствует вашим требованиям выбора и свойствам, но я придумал следующий метод, пытаясь подделать text-shadow
в IE7-9, а затем отключить взломать IE10. Ключом является использование нового материала -ms-animation
в IE10.
.header {
/* For browsers that support it to add a little more punch to a @font-face */
text-shadow: rgba(100, 100, 100, 0.5) 0 0 2px;
/* Make IE7-9 do faux bold instead and then turn down the opacity to match */
*font-weight: bold;
font-weight: bold\9;
*filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=75);
opacity: 0.75\9;
/* Uh oh! We've also caught IE10 in our above hack */
/* But IE10 supports CSS3 animations. Will a high duration keep CPU usage down? */
-ms-animation: text-shadow 60s infinite;
}
/* Define the animation */
@-ms-keyframes text-shadow {
0%, 100% {
font-weight: normal;
opacity: 1;
}
}