实际上问题本身:网格可以代替表格吗?有必要吗?
我从不喜欢桌子,我不知道为什么。当网格出现时,你想对它们做很多事情。我想做一个简单的盘子,但是包装器本身里面的块,也就是说,实际上你不能为内容做一个相同宽度的列,好吧,更准确地说,你可以,但它会是一个其他列的固定高度。据我了解,subgrid 可以解决这个问题,但支持仅在 FF 中。
实现网格表的方法有哪些:
- 悬停时可以突出显示该行;
- 列将根据列中的最大内容进行拉伸,但可以具有最大宽度;
使用 Grid 这样做是否值得?像以前那样通过 Table 这样做是否更正确,事实上,不是重新发明轮子?
也许只是视觉上的,而不是语义上的。
因此,一般的答案是否定的,它不能完全替代(相反,它是例外情况下的替代方案)。
当通过尊重文档的语义、a11y、SEO 和事物的自然逻辑来定义规则时——是的,它更正确。
这取决于每个特定任务的条件/要求,以及个人意见/偏好。本质上是一个非技术问题。
严格来说,教授的规则。布局不存在 - 因为 术语“规则”本身意味着一个好的方法的形式化并遵循它......但在实践中,他们经常采用糟糕/有争议的方法:由于技术限制,和/或任务发起人的愿望,和/或平庸的低水平培训(影响进入网络技术的低门槛)。
尽管如此,有必要考虑导致这种结果的原因的稳定性。首先,它是网络历史的遗产。例如,有很多人使用
float
对于页面布局,在他们的环境中,这被认为是非常正确的正常做法(尽管使用 flexbox 的另一组人的规范相反)。与“桌面优先/移动优先”、“px/(r)em”、“选择器的唯一性/特异性”等相同。只要是老作品,就会找到支持者。因此,在布局中,“什么被认为是正确的”问题是观点问题。他们帮助找到志同道合的人,但不是事实。我建议对此类问题的每个主题进行全面、完整的研究,然后独立理性地得出结论(听取别人的意见,但不要依赖他们)。
遵循stackoverflow的规则(与布局规则不同😁),这些问题应该分开问 - 因为 他们至少有两个独立的独立任务。