╋艺 镇╋╋网站网络|程序语言|Flash╋┣◇网站建设&Web语言 → border属性在div与table中的差别


  共有19367人关注过本帖树形打印复制链接

主题:border属性在div与table中的差别

帅哥哟,离线,有人找我吗?
乐魔舞
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 天之飞雪
等级:青蜂侠 帖子:1427 积分:11370 威望:0 精华:7 注册:2007/12/25 16:21:28
border属性在div与table中的差别  发帖心情 Post By:2010/6/23 17:16:37 [只看该作者]

原创作者: zdz8207

今天在页面布局时遇到了个问题: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比较实际了,原因找到了,具体情况就具体分析吧!

[此贴子已经被作者于2010-6-23 17:17:00编辑过]


  
“艺镇”官方站:www.zyzsky.com QQ群:1221854  回到顶部