首页 > 解决方案 > 为什么没有 <flex> 或 <grid> 元素?

问题描述

其他display值有一个或多个对应的 HTML 元素,例如:

但是display: grid并且display: flex必须通过样式分配。<flex>如果和<grid>元素可用 ,我可以看到更容易阅读 DOM 。

现在可以制作自定义元素,是否没有将新元素类型添加到规范中?

标签: htmlcssflexboxcss-gridspecifications

解决方案


您的问题的答案与样式与所呈现数据的分离有关。

用于显示数据的 HTML 标记应根据所显示的数据类型进行选择。例如,<li>当您生成列表或<strong>希望文本突出时使用。CSS 为您提供了很大的灵活性来修改数据的呈现方式,允许您更改数据(例如文本<strong><em>标签)的显示方式。许多标签的样式可以更改,以便它们的行为与其他标签一样。例如,您可以使<span>标签的行为类似于<div>标签,反之亦然。但是,您不应该这样做。换句话说,您选择的标签应基于所显示的数据类型,例如<li>列表项或<p>对于段落。从技术上讲,您永远无法将数据与其显示方式完全分开,但您应该尽可能多地尝试这样做。

<flex>并且<grid>对于您要显示的数据类型没有任何意义。因此,它们是可使用 CSS(而不是标签)编辑的样式。


推荐阅读