这些属性不被视为标准CSS吗?
我正在使用这样的东西,它可以在Chrome 12,FF4,Opera 11和Safari 5上正常运行,但在IE9上,width < min-width
时不会考虑最小宽度。
<span style="float:left; width:11%; min-width:150px;">
...
</span>
编辑:对我的问题的自由编辑和迁移有点恼火,但是没有。这是一个更全面的例子,显示了IE9与其他浏览器的明显区别。
<html><body>
<p style="width: 600px">
<span style="float: left; width: 11%; min-width: 150px">Hello.</span>
<span style="float: left; width: 11%">World.</span>
</p>
</body></html>
编辑2:如下面Kevin的评论中所述,在开头添加<!DOCTYPE html>
可以解决IE问题。
答案 0 :(得分:13)
如果您所说的是真的,IE9将会偏离the spec形式。但是,我无法复制您的投诉。使用您的示例,如果min-width
每width
小于150px
,则IE9会尊重<!DOCTYPE html>
。
修改强>
注意:Quirks模式遵循不同的规则,并且不符合任何浏览器中的标准CSS。如果您向页面添加doctype,则应解决此问题(添加:{{1}})。
为了扩展这个问题,Quirks Mode不是标准化的。 大多数浏览器实现了一些东西,但在那些事实标准中未定义新功能。因此,有些浏览器允许使用新的CSS(正如您所观察到的那样),但IE9 忽略新的css值,因为它们在Quirks模式中没有位置。
答案 1 :(得分:4)
我发现<!DOCTYPE html>
不够 - 我必须严格要求:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
答案 2 :(得分:3)
请尝试以下代码:
#limit-size
{
min-width: 998px;
width: expression(this.width < 998 ? 998: true);
min-height: 250px;
height: expression(this.height < 250 ? 250: true);
}
//html:
<div id="limit-size"></div>