解开CSS“display: table-column”之谜
对 HTML 和 CSS 属性的探索常常会带来有趣的问题。当使用神秘的“display: table-column”声明实现 CSS 基于表格的布局时,就会出现这样的一个查询。尽管它很有吸引力,但这个属性有一个相当特定的用途,如果不能正确理解,可能会导致令人费解的结果。
背景:CSS 表模型
CSS 表model 是一个复杂的系统,大量借鉴了 HTML 表模型。在此模型中,表格由行和列组成,单元格占据行和列的每个交叉点。虽然单元格是行的直接后代,但它们与列没有直接关系。
“display: table-column”的目的
与普遍的看法相反,“ display: table-column”属性不提供创建柱状布局的方法。其唯一目的是定义专门应用于表行中的单元格的属性。换句话说,它允许我们根据特定单元格在行中的位置指定背景颜色或字体大小等特征。
但是,需要注意的是,表格结构与传统的表格结构保持不变。 HTML。栏目不直接包含内容;相反,它们仅作为影响行内单元格布局的逻辑结构而存在。
说明性示例
考虑以下 HTML 和 CSS 代码:
<code class="html"><section> <div id="colLeft"> <div id="row1"> <div id="cell1">AAA</div> </div> <div id="row2"> <div id="cell2">BBB</div> </div> </div> <div id="colRight"> <div id="row3"> <div id="cell3">CCC</div> </div> </div> </section></code>
<code class="css">section { display: table; height: 100%; background-color: grey; } #colLeft, #colRight { display: table-column; height: 100%; } #row1, #row2, #row3 { display: table-row; height: 100%; } #cell1, #cell2, #cell3 { display: table-cell; height: 100%; }</code>
在此示例中,“display: table-column”声明应用于“colLeft”和“colRight”元素。这些元素不包含任何内容;它们的唯一目的是定义各自行中单元格的布局。
尽管存在这些列定义,您可能会注意到浏览器中没有显示任何内容。这是因为,如前所述,列不直接包含内容。内容必须放置在表格单元格内,表格单元格是表格行的子项。
为了解决这个问题,我们需要修改 HTML 结构以将内容放置在表格单元格内:
<code class="html"><section> <div id="colLeft"> <div id="row1"> <div id="cell1">AAA</div> </div> <div id="row2"> <div id="cell2">BBB</div> </div> </div> <div id="colRight"> <div id="row3"> <div id="cell3">CCC</div> </div> </div> </section></code>
有了这个修改后,内容按预期显示,演示了“display: table-column”的正确使用。
以上是CSS 中'display: table-column”的真正目的是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架

本文讨论了CSS盒装属性,该属性控制了元素维度的计算方式。它解释了诸如Content-Box,Border-Box和Padding-Box之类的值,以及它们对布局设计和形式对齐的影响。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3汉化版
中文版,非常好用

SublimeText3 Linux新版
SublimeText3 Linux最新版

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。