我怎样才能只为 IE8 浏览器覆盖这个样式(我认为我不再关心 IE7 用户了,除非标记非常小)?
#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 文件中有条件地覆盖它呢?
如果浏览器是 IE 并通过特异性定位,则可以使用条件 html 标签添加类,加载仅 ie8 样式表或使用 CSS hack\0/
仅针对 IE8。
如果您在 IE 中只遇到几个一次性问题,我建议您使用 head 路线。
HTML 类方法
In your HEAD
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
在你的 CSS 中
.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 唯一的样式表方法
在您常见的共享样式之后加载。
<!--[if IE 8]><link href="/css/app-ie8.css" type="text/stylesheet"/> <![endif]-->
IE8 CSS 破解
直接在选择器之后使用 \0/
#nav li ul {
left: -39px\0/ !important;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)