正如David的回答中所指出的,当前的HTML/CSS规范明确要求这些属性的整数值。十进制值不意味着被支持。
应的两个值以上被视为相同或不同?
就应该,我会认为他们会被视为不同的值,并基本上被解析为浮点数。然而,一个快速的jsFiddle测试显示,至少在Chrome中是如此。
<input type="text" placeholder="start here" tabindex="1" />
<input type="text" placeholder="tab 3" tabindex="1.3" />
<input type="text" placeholder="tab 2" tabindex="1.2" />
<input type="text" placeholder="tab 1" tabindex="1.1" />
<hr />
<input type="text" placeholder="start here" tabindex="10" />
<input type="text" placeholder="tab 3" tabindex="13" />
<input type="text" placeholder="tab 2" tabindex="12" />
<input type="text" placeholder="tab 1" tabindex="11" />
http://jsfiddle.net/NWKt4/2/
你为什么会使用这些值赞成的tabindex = “11”, 的tabindex = “12” 等?
基于上述结果,我建议您不要/不应该使用小数值来支持积分值,因为它们看起来并不像预期的那样工作。
我的问题是应该用户代理兑现小数点后还是 后面的数字还是只使用整数部分?
这似乎有点主观。所以我的主观答案是肯定的,当然他们应该。
然而,实际上,主流浏览器(Firefox和Chrome一样,IE和IE一样)并不支持tabindex
值的小数部分。 HTML/CSS规范说这应该是一个不可或缺的价值。
编辑:这同样适用于z-index
还有:http://jsfiddle.net/NWKt4/3/
“应该”我的意思是在规范中定义为“应该”,“必须”,“可以”等,而不是个人意见。我个人的观点是它不应该这样做,但如果有一个说明其他内容的规范,我的意见并不重要。感谢jsfiddles! –
这不是主观的。在规范中声明'z-index'属性和'tabindex'属性都只接受整数。 –
@DavidStorey - 正确。我正在关注OP中提供的信息,它只是说该值应该是一个数字,而一个“数字”可以包含一个小数点/小数部分。 – aroth