3px问题不是经常被人们发现,因为他的影响只是产生3px位移,往往在大块的设计之间不易发现,但是如果在设计时使用精确到像素的设计方法的话,3px也许就会困惑到你的设计。为了便于测试,我们准备了4个对象,content是引发我们bug的一个浮动出DIV,段落A孤立的文本,;在#content的旁边,段落B与段落C是使用p和div进行嵌套的两个文本,同样也放置在0co咀恤t的旁边,为了引发3px问题,我们需要5对抛ontent进行float:left;的设置。加上用于检查bug用的对象的边框线条。
左侧是在IE中预览的效果,右侧是放大后的效果,可以看到,当content向左浮动之后,右侧的孤立的段落A文字并没有紧贴住#contact,理论上来说,我们没有设置这些元素margin, padding,它们都理所应当是互相紧贴,而段落A”却没有。接着往下看,“段落B”是一段放置在p对象中的文本,同样,它的p标签已经出现在了#contort的下面,但文本还是被content挤到了右侧,而且也有一定间距。再来看“段落C”,“段落C”是一个div,而且使用nargin-left之后,我们让它远离了左侧的content,但是奇怪的事情发生了,上两个对象一样,“段落C”这个文本与其自身的div左侧产生了边距,如果测量一下会发,这些间距都是一样--3px,这就是IE浏览器下的3px问题,继续观察“段落C真:的部分,们发现当“段落C”的第三排与第四排的实际高度超出#content之后,就没有了3px的间距,而恢复到了正常状态,这样的效果证明了这个bug的形成原因。右侧的所有对象中的内容都将被挤出3px,同理,如果将#content由float:left;改为float:rig同样会发现所有内容的右侧被挤出了3px的间距。 天津制冷设备维修 | 天津空调维修 | 天津空调拆装
在实际应用中可能造成的困惑是,当使用一个固定度的div来制作页面外层时;如果中是二栏布局,而左栏float:left;这时右栏的内容会被增加3px,从而导致最终二栏的宽度会增加3px,超出了固定宽度的上层div,从而造成页面布局出现问题,而本例中的“段落C",刚好就像是布局中的第二栏。天津网站建设,天津网站制作,天津做网站,天津网站优化