邯郸市领创中等专业学校,是经河北省教育厅、邯郸市教育局批准成立的全日制中职学校。
领创新闻

border属性在div与table中的差别

时间:2013-05-25 18:55:44 发布:admin 来源:未知


今天在页面布局时遇到了个问题:div布局的总是比table的多两个像素,用火狐的查看元素可以清楚地看到用div的多出了两个像素,因为设定了border:#cbcdca solid 1px;把border宽度设置为0则可以了,把border-left设置0则可以看到只多出1px了。而table的则不会超出宽度。

现象分析清楚了,原因就很容易理解了,div布局的border属性属于外加的,会在原来宽度基础上加上边框的宽度,而table的border属性属于内置的,会在原来宽度范围内显示--内容区域相应减少边框的宽度。由于有些地方的布局需要用到父容器的宽度--即设值为100%等百分比的形式,这个时候就无法在规定宽度范围内减去边框的宽度了,所以这个时候用div对多出的边框宽度非常头痛,用表格则可以完美解决。但table内容都放到td里面,比div多了几个层次,代码看起来不太美观,另外对应内容多的区域需要整个table加载完才能显示,效果没有div的好。

如果全部都加2px 不影响页面效果的话用div是比较好的方法,如果对多出的2px像素很敏感则用table比较实际了,原因找到了,具体情况就具体分析吧!
 

友情链接

0310-8170888

工作时间(周一到周日:9:00-17:00)

扫一扫 加关注