为什么你会使用99.9%而不是100%的HTML/CSS宽度?

Sco*_*ord 34 html css haslayout

我见过许多开发人员在我使用100%的地方编写HTML或CSS内联样式宽度为99.9%.使用99.9%是否有正当理由?它与100%有任何有效差异吗?

编辑转发MSalters的非常好的问题:Considering that 99.9% is one pixel off above 500 pixels, why not 99.99%? 我猜他是对的,如果你跟你一起使用dirty hack你应该使用99.99%,有人不同意吗?

其他参考文献:

Ran*_*Dev 38

hasLayout物业

这是一个肮脏的黑客,用于hasLayout将元素的IE特定属性设置为true.该hasLayout属性"确定元素如何绘制和绑定其内容,与其他元素交互并与之相关,以及对应用程序/用户事件做出反应和传输." 提供元素layout是一种简单的方法来修复Internet Explorer中出现的许多与布局相关的错误.

什么是99.9%?

将宽度设置为99.9%是触发它的一种方法.你使用99.9%的原因是因为如果将元素width设置为除了之外的任何元素,则给予元素布局auto.将其设置为百分比可防止使用固定宽度.

经过jsFiddle的一些测试后,我得出的结论是,没有必要使用99.9%的宽度,使用100%的宽度同样有效.http://jsfiddle.net/3qfjW/2/(仅限IE).似乎设置width为99.9%可能是一个常见的误解,卡住了...... 传播人们这个词.

其他方法

您也可以触发hasLayout使用zoom: 1;虽然这是许多人的首选方法,因为它不会混淆元素的其他样式相关功能,但它也是无效的CSS代码,这对于某些开发人员来说不是一个选项.


进一步阅读

有关触发hasLayout签出的更多方法:http://www.satzansatz.de/cssd/onhavinglayout.html

有关该hasLayout属性的更多信息,请查看hasLayout http://msdn.microsoft.com/en-us/library/bb250481(VS.85).aspx上的MSDN文章(这实际上是一个很好的阅读,很多详细信息)

  • 使用宽度似乎很奇怪,当缩放:1也存在. (6认同)
  • 考虑到99.9%是500像素以上的一个像素,为什么不99.99%? (5认同)