首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原始CSS文件中的条件IE8样式?

原始CSS文件中的条件IE8样式?
EN

Stack Overflow用户
提问于 2013-08-07 01:23:06
回答 2查看 12.4K关注 0票数 2

如何才能覆盖仅适用于IE8浏览器的这种样式(我认为我不再太关心IE7用户,除非标记非常少)?

代码语言:javascript
复制
#menu ul {
    margin:0;
    padding:0;
    width:650px;
    }
#menu ul li {
    display:inline-block;
    width:110px;
    padding:15px 10px 15px 10px;
    text-align:center;
    color:#000;
    text-decoration:none;
    font-weight:bold;
    background:#e5e5c3;
    }

显然,IE8和更低版本不会在li元素上呈现内联块显示,所以我如何有条件地在这个原始CSS文件中覆盖它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-07 01:27:17

你可以使用一个有条件的html标签来添加一个类,如果浏览器通过特定的IE和目标,加载一个只有ie8的样式表,或者使用一个CSS hack \0/来只以IE8为目标。

如果你在IE中只有几个一次性的问题,我建议使用head路线。

HTML类方法

在你的HEAD

代码语言:javascript
复制
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->

在你的CSS中

代码语言:javascript
复制
.ie8 #menu ul li {
    display:block;
    width:110px;
    padding:15px 10px 15px 10px;
    text-align:center;
    color:#000;
    text-decoration:none;
    font-weight:bold;
    background:#e5e5c3;
    }

仅限IE8的样式表方法

在常见的共享样式之后加载。

代码语言:javascript
复制
<!--[if IE 8]><link href="/css/app-ie8.css" type="text/stylesheet"/> <![endif]-->

IE8 CSS hack

在选择器后面直接使用\0/

代码语言:javascript
复制
#nav li ul  {
  left: -39px\0/ !important;
}
票数 6
EN

Stack Overflow用户

发布于 2013-08-07 01:39:18

对此使用单独的样式表如何?或者,您可以在html中使用嵌入样式,如下所示

代码语言:javascript
复制
<!--[if gte IE 8]>
<style>
#menu ul li{
....
}
</style>
<![endif]-->

代码语言:javascript
复制
<!--[if gte IE 8]>
<link rel="stylesheet" type="text/css" href="{path to your ie-8 override css}" />
<![endif]-->

还有另一个提到here的黑客攻击。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18086582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档