Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html IE9没有';我不喜欢CSS中的裸体数字?_Html_Css_Styles - Fatal编程技术网

Html IE9没有';我不喜欢CSS中的裸体数字?

Html IE9没有';我不喜欢CSS中的裸体数字?,html,css,styles,Html,Css,Styles,这适用于Chrome、Safari和Firefox,但不适用于IE9 style='height:100' IE9只是忽略了它。但这确实有效: style='height:100px' 不幸的是,我真的不想在我所有的值中添加一个“px”。这使得进行任何类型的操作(例如,将宽度乘以2,再加上100等)都非常麻烦。这是预期的行为吗?有没有什么特殊的标志可以让IE9接受第一个例子 (我知道内联样式通常被认为非常糟糕,但我有理由在某些特殊情况下使用它们)style='height:100'可能在一些

这适用于Chrome、Safari和Firefox,但不适用于IE9

style='height:100'
IE9只是忽略了它。但这确实有效:

style='height:100px'
不幸的是,我真的不想在我所有的值中添加一个“px”。这使得进行任何类型的操作(例如,将宽度乘以2,再加上100等)都非常麻烦。这是预期的行为吗?有没有什么特殊的标志可以让IE9接受第一个例子


(我知道内联样式通常被认为非常糟糕,但我有理由在某些特殊情况下使用它们)

style='height:100'
可能在一些宽容的浏览器中工作,但实际上是无效的CSS,因此IE有权拒绝解析这些样式。

我在这里没有看到“裸”数字:)因为100可以是px,em

“使用长度单位指定内容区域的宽度

,由于CSS无效(
width:100
)在这些浏览器中实际上不起作用:

测试
。除非您的页面由于没有有效的doctype而处于,否则如下所示:

-
宽度:100
工作


故意为怪癖模式编写页面是非常糟糕的,只是不要这样做。

正如Gruikya所说,使用非单位数字是无效的CSS(除非数字是0,或者样式是
行高
),所以我绝对建议添加正确的单位。如果您需要对这些单位进行数学运算(我假设是在Javascript中),那么您应该使用
parseInt
parseFloat
,并且这些单位将很高兴地忽略后面的单位。

在没有实际定义单位的情况下,您不应该定义任何大小。你让浏览器猜你想用什么单位,因为你没有告诉他们

根据浏览器遵循的CSS标准,不同的浏览器可能会以不同的方式处理它


CSS2规范定义了不带单位的规则,应该忽略。它还提到这种行为(理论上)可能会在中发生变化。

您可能打算使用
100%
,在这种情况下,所有浏览器都会出错。CSS确实要求你对你的单位有明确的定义。当你说“任何种类的操作都非常麻烦”时,你是在说JavaScript,还是说“任何种类”都有意义。Javascript、Python等。。我给prettymuch的例子总结了这一点。我现在使用的不是x=x*2,而是x=(parseInt(x)*2)+“px”,它的字符数大约是原来的两倍,有大量可爱的粗糙部分,模糊了操作的目的,而且几乎令人讨厌。Python也会类似,除非我完全遗漏了什么?事实上,我看不出任何方式任何类型的操作都不会令人难以置信地麻烦,不管语言如何,不管操作是简单的还是复杂的,不管我是很少还是经常这样做。好吧,你要么忍受这种粗陋,要么编写函数将其抽象掉。例如,使用可以执行
var x=$('#myDiv').width();x=x*2$(#myDiv')。宽度(x)。除了thirtydot所说的以外,您还可以使用jQuery sizes插件来帮助您()这与浏览器的“容忍度”无关-不(?)浏览器将允许在“标准模式”下这样做。大多数(所有?)浏览器都有一个“怪癖模式”,允许类似的事情发生,这里有一些关于Firefox的文档:你是对的,但在最初的问题中,Chrome、Safari和Firefox似乎都处于怪癖模式,我猜IE9也应该处于怪癖模式。不同的浏览器在怪癖模式下可能会容忍不同的错误,这就是我所说的“容忍”。
<div style="width:100;background:red">test</div>