适用于Chrome,Safari和Firefox,但不适用于IE9
style='height:100'
IE9只是忽略它。但这可行:
style='height:100px'
不幸的是,我真的不想在我的所有价值观中添加“px”。它可以进行任何类型的操作(例如,将宽度乘以2,将其加100等)非常麻烦。这是预期的行为,是否有任何特殊标志,我可以设置IE9接受第一个例子?
(我知道内联样式通常被认为非常糟糕,但我有理由在某些特殊情况下使用它们)
答案 0 :(得分:7)
style='height:100'
可以在一些宽容的浏览器中运行,但实际上是无效的CSS,因此IE完全有权拒绝解析这些。
答案 1 :(得分:3)
由于CSS无效,(width:100
)在任何浏览器中都不起作用:
<div style="width:100;background:red">test</div>
..除非您的网页位于Quirks Mode ,因为没有有效的doctype,如下所示:
http://jsbin.com/ovewus/2 - width:100
作品!
故意为Quirks Mode编写页面非常糟糕,只是不要这样做。
答案 2 :(得分:0)
我在这里看不到“裸”号:) http://www.w3.org/TR/CSS21/visudet.html#the-width-property因为100可以是px,em ..
“使用长度单位指定内容区域的宽度。”
答案 3 :(得分:0)
正如Gruikya所说,拥有非单位数字是无效的CSS(除非数字是0,或者样式是line-height
),所以我肯定会建议添加正确的单位。如果你需要对这些单位进行数学运算,(我在Javascript中假设)那么你应该使用parseInt
或parseFloat
,这些将很乐意忽略尾随单位。
答案 4 :(得分:0)
如果没有实际定义单位,则不应定义任何大小。你正在让浏览器猜测你想要使用哪个单位,因为你没有告诉他们。
根据浏览器遵循的CSS标准,不同的浏览器可能会以不同的方式处理它。
CSS2规范定义规则,不应忽略单位。它还提到这种行为可能(理论上)在future specification中发生变化。