如果字段集的显示是网格,则图例元素是网格项吗?

问题描述 投票:2回答:1

css-grid规范的哪一部分解决了如果fieldset元素设置为display:grid?应该如何处理图例元素?

如您所知,图例元素通常是fieldset元素的第一个子元素,但很少有人希望它被视为网格项。

我想知道我是否需要采取明确的样式预防措施,以确保图例元素不会被视为网格项,或者如果规范已经有一些规则(我忽略),这意味着一个图例元素(按规格)不是网格项。

html css css-grid
1个回答
5
投票

您不会在CSS规范中找到这些详细信息,但在HTML规范中。 HTML非常具体,应该如何呈现fieldsetlegend元素,并且由于历史原因,这些元素的布局实现非常严格,通过display属性很少适应布局模式的更改。

正是由于这个原因,任何浏览器都不支持display: grid在字段集上。事实上,just a few days ago讨论了一个关于HTML规范的建议添加,以指定如何在displayfieldset元素上处理legend属性,这是有待添加的内容:

fieldset元素在生成一个框时(即,不是'display:none'或'display:contents'),预计将按如下方式执行:

  • ...
  • 'display'属性预计如下: 如果'display'的计算值是'inline','inline-block','inline-table','ruby','ruby-base','ruby-text','ruby-base-container'之一,'ruby-text-container','inline-flex'或'inline-grid',然后表现为'inline-block'。 如果'display'的计算值是'block','table','table-row-group','table-header-group','table-footer-group','table-row',' table-cell','table-column-group','table-column','table-caption','list-item','flow','flow-root','run-in','flex' ,或'网格',然后表现为'阻止'。

这基本上巩固了当前的文本,该文本表明fieldset元素应该建立一个块格式化上下文,而不指定如果UA选择不遵循此定义它应该如何表现。

这与当前可互操作的浏览器行为相结合,意味着legend元素的布局不会受到具有fieldset的父级display: grid的影响,因为它的父级fieldset将首先被阻止成为网格容器。

© www.soinside.com 2019 - 2024. All rights reserved.