【问题标题】:css display:table vs html <table>, Which is more appropriate to use?css display:table vs html <table>,哪个更合适?
【发布时间】:2011-08-18 04:04:20
【问题描述】:
当我做网页布局时,我使用的是 html <table>。但是,我在互联网上读到,html 表格只能用于数据,并且在布局时应该使用<div> 或<span>。我在互联网上搜索,发现关于 display: table 。我读过它并以我自己的理解(我不知道我是否理解正确)它与 html <table> 相同。我发现使用 html <table> 更容易,因为它的方式要简单得多。我不必担心定位<div>,因为大多数时候它会到达我不打算去的地方。
我的问题是:在布局中使用 html <table> 的优缺点是什么?
【问题讨论】:
标签:
html
html-table
css-tables
【解决方案1】:
对于不想学习正确的 HTML/CSS 和/或使用某种所见即所得编辑器的人来说,使用表格标记进行页面布局并没有太多优势。
但是,您肯定希望将表格用于表格数据,因为有很多良好的可访问性原因。
CSS 用于页面布局(相对于表格)的优点是:
- 表示与内容分离(这通常意味着需要处理的 HTML 更少)
- 更新时显示更灵活
- 演示更容易适应各种设备/屏幕
'table' 的 css display 属性可以让你的 CSS 更像一个传统的表格。这为您提供了 CSS 的好处,但允许您使用旧的表逻辑。
如果您精通 CSS,那么您真正想要利用 display: table 的唯一时间是当您遇到想要处理内容垂直居中的情况时......通常 CSS 似乎失败。请注意 display: table 和许多 CSS 一样,在旧版本的 IE 中不起作用。
【解决方案2】:
这完全取决于您要完成的工作。使用divs、spans 和display:table 可能会变得非常混乱,但如果您担心搜索引擎无法正确导航正常的表格,这可能是可行的方法。使用table 标签更简单、易于使用且语义更正确。