我了解一个优势可能是<table>
适用于较旧的浏览器,但我仍然会看到许多网站使用<table><tr>
和<td>
时,我希望它们可以切换。我指的是像最新的Microsoft Azure门户这样的新网站。该网站大量使用最新的CSS,但仍然使用<table>.
除了向后兼容性之外,还有其他理由使用<table>
吗?
答案 0 :(得分:1)
在这种情况下,您不能考虑向后兼容性。即使存在CSS <table>
,仍然需要使用table
,因为<table>
元素用于屏幕阅读器的辅助功能API,并指示其中的任何内容都是表格数据。 CSS显示table
只是做布局指令看起来像一个表而已。
答案 1 :(得分:1)
显示表允许元素在不使用HTML表元素的情况下表现得像元素,因此您的开发可能会更灵活。因此,您将获得表的好处和没有表的开发灵活性,因为表总是很难并且难以工作
在我看来,使用div的唯一原因是根据浏览器大小设置样式和调整布局。如果它没有坏掉,请不要修理它。使用CSS时,Div更容易设计风格。
表:前景 - 您可以根据自己的需要获得非常复杂的布局。更可靠。有时使用复杂的css样式,表格会变得有点怪异。对负责任的网站不利。
缺点,用于在div和css的组合上使用html表进行布局。
额外代码 - html表需要比div更多的结构代码,但css表使用的同样多。如果有任何css表使用更多,因为ids和类可能会被添加。如果html表使用太多代码,那么css表也会这样做。
刚性结构 - html表依赖于源代码。构造单元格的顺序与它们显示的顺序相同。 css表也是如此。
浏览器渲染 - 浏览器需要在html表的结构中进行多次传递。如果table-layout设置为fixed,它们应该只需要一次传递来显示css表。如果设置为auto,它们将需要相同的多次传递。