Как добавить CSS Hack специально для IE10?
Я пытаюсь добавить css только для iE 10.
на самом деле мой css отлично работает в chrome и firefox. Но создает некоторые проблемы в IE 10.
я попробовал этот код и сделал ie10.css, но он не работает.
<script>
if (/*@cc_on!@*/false) {
var headHTML = document.getElementsByTagName('head')[0].innerHTML;
headHTML += '<link type="text/css" rel="stylesheet" href="css/ie10.css">';
document.getElementsByTagName('head')[0].innerHTML = headHTML;
}
</script>
Он не работает. Пожалуйста, помогите.
2 ответов
вы можете легко отслеживать последние версии IE (в основном IE 10 и IE 11) с помощью
1. CSS media query hack:
/*
#ie10,11 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) {
//-- Put your IE specific css class here
}
или
@media screen and (min-width:0) {
/* IE9 and IE10 rule sets go here */
}
2. Обнаружение Браузера:
if ($.browser.msie && $.browser.version == 10) {
$("html").addClass("ie10");
}
3. Использование скрипта (не проверено):
<script>
/*@cc_on
@if (@_jscript_version == 10)
document.write('<link type= "text/css" rel="stylesheet" href="your-ie10-styles.css" />');
@end
@*/
</script >
примечание : Я знаю document.write
считается плохим практиковать.
условные комментарии (IE10 отброшены условные комментарии):
если вы хотите загрузить внешний файл CSS для IE, вы можете использовать условные комментарии. Но, как вы упомянули в вопросе, вы хотите для IE 10 и ie10 отбросил условные комментарии.
вот еще один трюк, который я использовал в своем проекте, вы можете заменить h1 своим классом или собственным CSS
в IE10 только
http://css-tricks.com/ie-10-specific-styles/
используйте этот JavaScript:
var doc = document.documentElement;
doc.setAttribute('data-useragent', navigator.userAgent);
затем используйте этот CSS:
html[data-useragent*='MSIE 10.0'] h1 { color: blue; }