首页 > web前端 > css教程 > 为什么边距在'display: table-cell”元素上不起作用?

为什么边距在'display: table-cell”元素上不起作用?

Susan Sarandon
发布: 2024-12-13 06:32:14
原创
762 人浏览过

Why Doesn't Margin Work on `display: table-cell` Elements?

元素对边距不敏感

问题

格式化显示的相邻 div :表格单元格;即使设置为 5px,也不会受到 margin 属性的影响。

说明

根据 MDN 文档,margin 属性不适用于元素具有除 table-caption、table 和 inline-table 之外的表格显示类型。因此,它不会影响具有 display:table-cell 的元素。

解决方案

要在这些元素之间实现间距,请使用 border-spacing 属性。但是,这需要对父元素应用 display:table 和 border-collapse:separate。

例如:

<div class="table">
    <div class="row">
        <div class="cell">123</div>
        <div class="cell">456</div>
        <div class="cell">879</div>
    </div>
</div>
登录后复制
.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 属性并调整border-collapse 和显示设置,您可以有效地在样式为显示的 div 元素之间创建边距: table-cell;.

高级功能

正如 Diego Quirós 所指出的,border-spacing 属性允许您为水平轴和垂直轴定义不同的边距值。例如:

.table {
    /* ... */
    border-spacing: 3px 5px; /* 3px horizontally, 5px vertically */
}
登录后复制

以上是为什么边距在'display: table-cell”元素上不起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板