CSS IE只是有条件的

时间:2013-11-19 15:27:50

标签: css internet-explorer

我尝试为Internet Explorer添加条件css样式但它不起作用。 我试过了

<!--[if IE]><style type="text/css">nav{letter-spacing:.5px}</style><![endif]-->

<!--[if IE]><!--><style type="text/css">nav{letter-spacing:.5px}</style><!--><![endif]-->

都没有工作。

博客为http://costumingdiary.blogspot.com

请注意页面顶部的链接。它们适合Chrome浏览器,但IE扩大了字母间距。在Chrome中,链接文本以两端的额外间距为中心。在IE中,文本一直延伸到填充空间。如果我改变&#34;关于&#34;到&#34;关于我&#34;,文本将溢出到IE中的第二行,但不会在Chrome中。

任何帮助设定有条件的请?感谢。

更新:IE10不支持条件的事实是我放弃这一点的重要原因。没有简单的CSS方法来解决这个问题。添加javascript已经证明对我来说很重要。实际上添加javascript失败的目的是我删除(通过添加评论标签)尽可能多的&#34;不可删除&#34; Blogger尽可能从我的博客强加脚本。我想我必须忍受拉伸到最大的IE文本。 :(

3 个答案:

答案 0 :(得分:0)

您可以在IE9以下的任何内容中使用以下条件:

<!--[if lt IE 9]>
    <script src="path" type="text/javascript"></script>
    <link href="path" rel="stylesheet" type="text/css" />
<![endif]-->

如果您想定位其他版本的IE,可以look here

<强> - 编辑 -

您需要添加HTML5 polyfill以支持IE8及更低版本的<nav>元素。

您可以使用Html5shivModernizr

答案 1 :(得分:0)

为什么您认为条件注释语法错误?请参阅full description注释语法,在您的示例中,一切正确。

我从你的链接获取html源代码 - 没有条件注释,但是有一个包含编码条件注释的脚本的大html注释(!)

答案 2 :(得分:0)

你的Body CSS规则有一个字母间距:1.2px;这决定了你的角色之间的间距。我正在查看Internet Explorer和Chrome中的页面,字体似乎与我的关系非常接近。另外,不要假设平台之间的字体呈现是一致的。例如,如果您在MAC上进行开发,则它们使用与Windows完全不同的字体渲染子系统。因此,在与IE相同的系统上测试Chrome。另外,不要假设IE 8与IE 9相同,与IE 10或11相同。

body {
background-color: #294A63;
color: #000;
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
letter-spacing: 1.2px;
line-height: 1.4;
margin-left: auto;
margin-right: auto;
max-width: 960px;
min-width: auto;
overflow-y: scroll;

}