我目前有一个页面,当用户使用以下html语法单击打印按钮时,我将应用某些特定于浏览器的CSS样式。但是下面的html代码不会应用为IE11指定的css(ie11print.css),而是应用为其余IE版本(ieprint.css)指定的css。
<!--[if IE 11]> <link rel="stylesheet" media="print" title="Print" type="text/css" href="/styles/ie11print.css" /><![endif]-->
<!--[if lte IE 10]> <link rel="stylesheet" media="print" title="Print" type="text/css" href="/styles/ieprint.css" /><![endif]-->
<!--[if !IE]>--><link rel="stylesheet" media="print" title="Print" type="text/css" href="/styles/print.css" /><!--<![endif]-->
有人知道如何仅为IE11指定CSS文件吗? 提前谢谢。
答案 0 :(得分:5)
使用下面的hack,然后使用你的css样式:
*::-ms-backdrop,
示例:
*::-ms-backdrop,/*Your element*/ {
/*Your styles*/
}
注意:它只会影响IE浏览器。所以你需要在此之前应用你的正常风格。
答案 1 :(得分:4)
只需在CSS样式表中添加以下内容,然后在Internet Explorer 11中查看
即可@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none)
{
Add your styles here
}
答案 2 :(得分:1)
检查浏览器是否为ie11
然后直接从javascript添加链接标记
window.location.hash = !!window.MSInputMethodContext;
if (window.location.hash)
{
var $head = $("head");
var $headlinklast = $head.find("link[rel='stylesheet']:last");
var linkElement = "<link rel='stylesheet' href='/styles/ie11print.css' type='text/css' media='screen'>";
if ($headlinklast.length){
$headlinklast.after(linkElement);
}
else {
$head.append(linkElement);
}
}
如果有任何疑虑,请告诉我。 window.location.hash将为ie11
返回true