我想创建单独的样式表,一个用于所有IE版本,另一个用于"普通浏览器" ;)
答案 0 :(得分:1)
<!DOCTYPE html>
<html>
<head>
<title> overwrite cssText if IE. ewww nasty. </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type=text/css>
body { font-family:'Segoe UI',sans-serif; font-size:14pt; color:black }
#customLook { display:inline-block; margin-top:50px; margin-left:50px }
</style>
<link id=animstyle rel=stylesheet type=text/css href=animstyle.css>
<script>
var s= (animstyle.sheet||animstyle.styleSheet) // w3c-browser OR ie8
if (s && s.cssText) s.cssText= ".customSpan:before{content:'not ';color:red}" // only IE implements sheet.cssText (including Edge) it's r/w.
</script>
</head>
<body>
<div id=customLook>
<span class=customSpan>ANIMATED</span>
</div>
</body>
</html>
试试这个online demo
实际上,您可以改为放置s.disabled=true
,然后启用其他一些css链接。那更合适。但我只是发布了这个,因为它太讨厌了。
编辑这是一种简单的方法来禁用一张纸并用另一张纸替换它:
<link id=animstyle rel=stylesheet type=text/css href=animstyle.css>
<script>
var s= (animstyle.sheet||animstyle.styleSheet) // w3c-browser OR ie8
if (s && s.cssText) s.disabled= true // only IE implements sheet.cssText (including Edge) it's r/w.
</script>
<link rel=stylesheet type=text/css href=NOanimstyle.css onload="(this.sheet||this.styleSheet).disabled=!s.disabled">
{
答案 1 :(得分:0)
您可以使用浏览器嗅探 - 类似How can I target only Internet Explorer 11 with JavaScript?,然后使用document.write加载正确的样式表(请参阅When using document.write to load a different css stylesheet, browser refreshes infinitely)
答案 2 :(得分:0)
您可能会找到您要找的答案here
似乎已经回答
答案 3 :(得分:0)
你可以总是这样的
<script>
var ltie11 = /msie/.test(navigator.userAgent.toLowerCase());
var ie11 = /Trident/.test(navigator.userAgent);
if( ! (ltie11 || ie11) ) {
var $link = $('<link>').attr('type','text/css').attr('src', 'css/css.css');
$('body').append($link);
}
</script>