我很难处理表格和列宽。
更新:我正在使用XHTML Strict 1.0。
页面为:http://www.pro-turk.net/try
我遇到的第一个问题是,我有一个固定宽度为100px和4px填充的列,但它根据值取消了我的填充。即使填充为0或4,列宽(根据W3C Box模型的两个边框之间的距离)也是156 px。只有文本的位置发生变化。
根据W3C Box模型(可从www.pro-turk.net/box_model.png获得),边框和填充不包含在WIDTH属性中,为什么它会错误地渲染?
第二个问题是,当你看到我用IE8给出的页面时,第二行中的第一个单元格具有150px的固定宽度,但是无论我说什么,它都显示它占整个表格宽度的大约50%。
答案 0 :(得分:1)
您使用的是默认auto
table-layout mode。这让浏览器可以相当随意地决定为每列分配多少空间,通常取决于单元格中实际内容的数量。在这种模式下,width
只不过是建议。
如果您希望浏览器认真对待您的列宽,则应在table-layout: fixed
元素上设置<table>
,并在其中包含具有显式宽度的<col/>
元素,或在单元格上设置宽度在第一行中,对于要固定宽度的列。 (其他列将平均分享剩余宽度。)fixed
表格布局还允许浏览器更快地渲染。
对于您的页面,您可能会更好地使用CSS定位。当然,内部表似乎只存在浮动图像。应避免使用嵌套表。