IE8将CSS样式整合在一起

时间:2011-05-17 08:27:26

标签: css internet-explorer-8

我正在IE8的开发者模式下调试我的应用程序,我遇到了一些非常奇怪的行为。 IE8的开发模式通常会在新行上显示每种CSS样式,但在这些情况下不会......请举三个例子:

#1
.messages .read    
  background-color: rgb(234,234,234); HEIGHT: 1.5em
  padding-top: 0.3em

#2
a:link
  color : rgb(80,80,82); TEXT-DECORATION: none

#3
#messaging .body
  border-bottom: rgb(...) 1px solid
  filter : progid:DXImageTransform.Microsoft.gradient(startColorstr='#FDFDFD', endColorstr='#C2C2C2'); BORDER-LEFT: rgb(...) 1px solid; PADDING-BOTTOM: 1.5em; MARGIN: 15px 0 25px; etc.

正如你所看到的,这三种情况下IE似乎表现得很奇怪,特别是对于#3,我得到了一些非常奇怪的人工制品,比如我的渐变盒周围有一个丑陋的深灰色边框。

是否有一种已知的解决此问题的方法?

更新 - 修复了渐变伪影

通过在该样式中添加#3,可以非常轻松地修复

position:relative;。显然,IE需要这样才能正确渲染其渐变。

我仍然有兴趣知道为什么IE会在一行中将某些样式混合在一起,以及这个怪癖是否有任何实际效果。

1 个答案:

答案 0 :(得分:1)

在您提供的样本中,至少有一些缺失的分号。这可能是这里的问题。

正如评论中所建议:尝试验证您的CSS。这是来自W3的那个:

http://jigsaw.w3.org/css-validator/