Conditional CSS for Internet Explorer 10 only [duplicate]

可紊 提交于 2019-11-30 17:25:00

问题


Internet Explorer 10 has broken my jQuery menu. I can fix this by applying a small revision to our CSS as per the example below.

/* For Internet Explorer 10 ------*/
margin-top: 1px;

/* For all other browsers ------*/
margin-top: 2px;

Is there a way to apply these cases conditionally in my CSS include?

I know browser sniffing is not ideal, but this seems to work fine:

if ($.browser.msie  && parseInt($.browser.version, 10) === 10) {
    $(".jMenu li ul").css("margin", "1px");
}

回答1:


Seeing as you're already relying on JavaScript for your menu, you could add a class to the <body> using JavaScript code based on the userAgent string:

JavaScript

if (navigator.userAgent.indexOf("MSIE 10") > -1) {
    document.body.classList.add("ie10");
}

..and then target Internet Explorer 10 in your CSS

CSS

/*IE 10 only */
.ie10 .myClass {
    margin-top: 1px;
}


来源:https://stackoverflow.com/questions/15550890/conditional-css-for-internet-explorer-10-only

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!