首页 >web前端 >css教程 >为什么边距对表格单元格元素不起作用?

为什么边距对表格单元格元素不起作用?

Patricia Arquette
Patricia Arquette原创
2024-12-18 15:11:14161浏览

Why Doesn't Margin Work on Table-Cell Elements?

为什么 Table-Cell 元素的 Margin 失败?

尽管将 margin: 5px 分配给带有 display: table-cell 的相邻 div 元素,但没有出现 margin。这是什么原因?

了解原因

根据 MDN 文档,margin 属性排除了除 table-caption、table 和 inline-table 之外的表格显示类型的元素。因此,边距对于具有 display: table-cell 的元素无效。

解决问题

不要使用边距,请考虑使用 border-spacing 属性。此属性适用于具有 display: table 布局和 border-collapse: alone 的父元素。

示例代码

HTML

<div class="table">
  <div class="row">
    <div class="cell">123</div>
    <div class="cell">456</div>
    <div class="cell">879</div>
  </div>
</div>

CSS

.table {
  display: table;
  border-collapse: separate;
  border-spacing: 5px;
}
.row {
  display: table-row;
}
.cell {
  display: table-cell;
  padding: 5px;
  border: 1px solid black;
}

自定义边距值

border-spacing 属性也可以采用两个值,允许不同的水平和垂直边距。

.table {
  /* ... */
  border-spacing: 3px 5px; /* 3px horizontally, 5px vertically */
}

以上是为什么边距对表格单元格元素不起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn