为什么要使用99.9%而不是100%的HTML / CSS宽度?
我看到许多开发人员在我将使用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%,有没有人不同意?
其他参考:
zoom触发hasLayout这个有趣的链接感兴趣:http://www.bennadel.com/blog/1354-The-Power-Of-ZOOM-Fixing-CSS-Issues-In -Internet-Explorer.htm。 hasLayout属性
这是一种肮脏的破解,用于将元素的IE特定的hasLayout属性设置为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%可能是一个常见的错误观念卡住了。
其他方法
你也可以使用zoom: 1;来触发hasLayout zoom: 1; 虽然这是许多人的首选方法,但它不会混淆元素的其他样式相关特征,它也是无效的CSS代码,这对于某些开发人员来说不是一种选择。
进一步阅读
有关触发hasLayout更多方法,请hasLayout :http://www.satzansatz.de/cssd/onhavinglayout.html
有关hasLayout属性的更多信息,请查看关于hasLayout的MSDN文章http://msdn.microsoft.com/en-us/library/bb250481( hasLayout .aspx(这实际上是一个很棒的阅读,很多详细的信息)
这是真正的width ,除了auto和zoom触发器hasLayout, zoom是更灵活的属性/值,因为它不会混乱宽度,但我不认为这就是您看到开发人员使用99.9%的原因。
在某些浮动情况下,由于IE6错误地计算超过100%并且通常后者浮动下降,所以浮动的合并宽度不必合计为100%(如果以百分比指定)。
解决方法是为IE指定一个-1px右边距,或者使总和为99.99%。
我在这里记录了这个错误。 因此,无论是否与您所看到的相关,希望错误链接都能帮助任何人遇到它。
链接地址: http://www.djcxy.com/p/88773.html上一篇: Why would you use a HTML/CSS width of 99.9% instead of 100%?
下一篇: IE+jQuery+Ajax+XHTML: HTML getting clipped after .html() or .innerHTML
