HTML用table布局排版 padding清零
之前博文:HTML布局排版2如何设置div总是相对于页面居中 中是用div进行排版的,div是切了三条,顶部的图片,下部的图片,中间的平铺条,中间的div不设高度,根据内容,该区域的大小不固定,便于后期增删内容不用再改样式。
前面的博文用div平铺的,此外,用table也能实现这个效果,table需要注意要把td的padding清零,否则td单元格里上下有padding,会出现裂缝。图片高度是按照单元格高度裁剪的,所以主要是上下padding引起的。
如图,第一个table排版中td里没有设置padding是0,在浏览器开发者模式里可以看到有padding存在。
第二个table排版中td里都设置了padding是0,所以没有裂缝。
图片都是根据单元格大小裁剪的,图片尺寸和单元格大小一致。
如图,第一个table里出现了裂纹,底部的图还出现了一条线,原因就是由于padding的存在导致单元格本身高度高于图片切片裁剪的高度。
第一个td,剩下的区域显示了一条白色线,裂纹状(顶图上边有白色区域)
第二个td由于是平铺,把多出来的pddding铺上了。
第三个td由于是底图,底图的最上方不是白色区域,是颜色,多出来的部分被铺上了顶面的图片。(底图上有颜色,所以平铺处理底图顶部的颜色)
测试代码:
<body> <h5>存在padding,有裂缝和问题的:</h5> <div id="t2"> <table width="900px" border=0 style="border-collapse:collapse;"> <tr> <td width="900px" height="165px" style="background-image:url(./images/top.png);"></td> </tr> <tr> <td width="900px" style="background-image:url(./images/mid.png);padding-left:50px;padding-right:50px;">官网样例是混合部署LodopFuncs.js里已经写好了判断。<br> 客户端是浏览器支持np插件,是32位浏览器,就会提示下载32位的Lodop插件:install_lodop32.exe<br> 客户端浏览器支持np插件,是64位浏览器,就会提示下载64位的Lodop插件:install_lodop64.exe<br> 客户端浏览器不支持np插件(判断如高版本谷歌火狐等),会提示下载C-Lodop方式: CLodop_Setup_for_Win32NT.exe</td> </tr> <tr> <td width="900px" height="75px" style="background-image:url(./images/bottom.png);"></td> </tr> </table> </div> <h5>清除padding,正常的:</h5> <div id="t1"> <table width="900px" border=0 style="border-collapse:collapse;"> <tr> <td width="900px" height="165px" style="background-image:url(./images/top.png);padding:0px;"></td> </tr> <tr> <td width="900px" style="background-image:url(./images/mid.png);padding:0px;padding-left:50px;padding-right:50px;">官网样例是混合部署LodopFuncs.js里已经写好了判断。<br> 客户端是浏览器支持np插件,是32位浏览器,就会提示下载32位的Lodop插件:install_lodop32.exe<br> 客户端浏览器支持np插件,是64位浏览器,就会提示下载64位的Lodop插件:install_lodop64.exe<br> 客户端浏览器不支持np插件(判断如高版本谷歌火狐等),会提示下载C-Lodop方式: CLodop_Setup_for_Win32NT.exe</td> </tr> <tr> <td width="900px" height="75px" style="background-image:url(./images/bottom.png);padding:0px;"></td> </tr> </table> </div> </body>
图示:
单元格大小和图片大小是一致的,但是平铺的时候高度超出了一点,导致上图和下图出现问题。
经过浏览器自带的开发者模式查看到,原来是td有默认的padding,清除后就好了。
也可以算上padding的大小对图片进行裁剪,但是那样不如td和图片一致比较好。