2011-05-09 97 views
1

我的页面中包含两个css文件。删除IE特定样式表中的边框半径样式

<link rel="stylesheet" href="/css/screen.css" /> 
<!--[if IE 8]> 
    <link rel="stylesheet" href="/css/ie8.css"/> 
<![endif]--> 

现在screen.css我有这样

ul.treelayout{ 
    list-style: none; 
    margin: 0px 0px 10px 0px; 
    background-color: #fff; 
    padding: 3px; 
    border-radius: 5px; 
    -moz-border-radius: 5px; 
    -webkit-border-radius: 5px; 
    border: 1px solid #007b40; 
} 

风格我想删除半径相关联的样式在ie.css这样ul.treelayout的IE结果风格是

ul.treelayout{ 
    list-style: none; 
    margin: 0px 0px 10px 0px; 
    background-color: #fff; 
    padding: 3px; 
    border: 1px solid #007b40; 
} 

看来,由于该级联样式简单地写类没有样式ie.css不会做的伎俩。有任何想法吗?

感谢

问候 加布里埃尔

+2

为什么要删除他们? IE9能够处理它们,IE7和更早的版本应该忽略标签呢?所以我认为没有理由添加额外的版本。 – Mario 2011-05-09 21:56:01

+0

@Mario的原因是,我想在IE 8,7和CSS的计算风格没有参考这些风格,因为它与曲线角插件混淆。 – 2011-05-09 22:11:27

回答

1

好矿是不是原因;) - 但你可以用条件注释,你可以给一个组合周围做到这一点的其他方式,只给border-radius样式非IE浏览器 ..其实边界半径样式IE9和其他浏览器,我不知道你的意思是哪个脚本冲突,但也许你也可以只是脚本给需要它的浏览器?

这里是一个例子(没有使用边界半径,但希望你会明白我的意思。)

<style type="text/css" media="screen"> 
div { 
padding: 40px; 
color: #fff; 
} 
</style> 

<!--[if IE]> 
<style type="text/css" media="screen"> 
div {background: #00f} 
</style> 
<![endif]--> 

<!--[if (!IE)|(gt IE 7)]><!--> 
<style type="text/css" media="screen"> 
div {background: #f00} 
</style> 
<!--<![endif]--> 

HTML:

<div> 
    <p>background is red in non-IE browsers,and IE gt 7 - but background is blue in other IE's</p> 
</div> 

关于上述条件注释..

,第一是有规律的风格

二是“传统” 隐藏的,只有IE看到

第三条件注释是透露评论,所有的浏览器看到,但IE仍然读取参数

你会把一般规律在正常片和片内圆角半径规则第三风格的注释

你可以改变第三评论它基本上说的说法,如果不是IE 是GT的参数IE7

更多信息:About Conditional Comments

+0

谢谢我认为我可以解决这个问题,非常感谢。 – 2011-05-10 07:01:55

0
ul.treelayout{ 
    list-style: none; 
    margin: 0px 0px 10px 0px; 
    background-color: #fff; 
    padding: 3px; 
    border-radius: 0; 
    -moz-border-radius: 0; 
    -webkit-border-radius: 0; 
    border: 1px solid #007b40; 
} 

ただ。

+0

嘿嘿......问题是我不会让他们失望。甚至没有值0. – 2011-05-09 22:09:58

+0

为什么?这会实现什么? 我不认为你要求的是没有服务器端处理或客户端JavaScript。 – gingerbreadboy 2011-05-09 22:16:51

0

由于样式表级联的方式,你只需要有这样在你ie8.css:

ul.treelayout {border-radius: 0;} 

这将让所有的款式相同,但它会删除IE边框半径。如果你想进一步IE更改,你可以添加它们,只要你喜欢。

覆盖始终包含的样式表时,只需添加要覆盖的样式或在自定义的浏览器中显示的样式。这使得css文件更小,这对用户来说更好。