jle*_*lew 11 html css html-table
我知道有很多好的参数比基于表格的布局更喜欢CSS定位.我想知道的是CSS模型是否完整(假设一个相对现代的浏览器)关于表的所有功能.是否存在表可以实现的布局,这些布局是不可能的或不切实际的CSS?
CSS没有很好的方法来处理真正表格的数据.如果您的数据本身是按行和列结构化的,那么table
标记仍然是呈现它的最佳方式.虽然你可以在CSS中"伪造它",但是由于没有真正的原因,它会导致复杂,难以维护的代码.
请注意,表格数据并不一定只是表示数字表.有时,表单和其他类型的交互式内容也可以是表格式,如果它们的字段在逻辑上将自己分组为列和行.关键是要问自己,"如果我在一个页面上写出来并且计算机与它无关,我会将我的数据看作行和列吗?"
如果可以的话,我会切换到基于CSS的布局.语义论证是正确的,但有实际考虑.表格将:
有css显示属性(table-cell等)模仿其中一些,但我不相信支持已经足够广泛使用它们(除非你可以控制用户的浏览器选择).
我工作的网站需要在布局中有竞争力的动态列宽.多个客户使用相同的网站模板,我不知道它们将放入菜单或页眉或内容单元格中.(并且不知道他们会发现什么有吸引力,这是另一个问题...)使用单个外部表布置网站的主要部分允许我需要的灵活性,而不用担心稍微过宽的菜单会推动主要内容框下移到下一行,或者背景颜色不会填充所需的高度.
在一个完美的(对我而言)世界中,我们将<table>
获得表格数据,另一组几乎相同的布局标签 - 称之为<layout>
(以及相应的行和单元格标签).或者,为<table>
标记添加"模式"属性- 值将是"数据"和"布局",以便屏幕阅读器和搜索引擎知道该怎么做.也许在html 6 ...
编辑:我想补充说,关于'浮动包装'的事情 - 在SO上有一个当前的问题,答案在这里运作得很好.它并不完美,而且我太复杂了,但在很多情况下它会解决问题.