gpt4 book ai didi

css - 制作元素之间有边距但不是容器的元素容器?

转载 作者:技术小花猫 更新时间:2023-10-29 11:16:38 24 4
gpt4 key购买 nike

  • 容器 #666margin: 20px;溢出:隐藏;
  • 节点 #333margin: 20px 0 0 20px; float :左;

例子,http://jsbin.com/owejal/3/edit或图片:

double margin

然而,预期的结果是:

  • 具有 20 像素边距的容器,
  • 子元素之间有 20 像素的边距,但不包含容器。

enter image description here

这可以使用负填充来实现(即如果容器有 padding: -20px 0 0 -20px),尽管这样的东西不存在。

使用附加元素 ( http://jsbin.com/owejal/4/ ) 可以实现期望的结果,但我很想知道是否有仅 CSS 的解决方案。

最佳答案

如果只关心元素之间的间距,可以舍弃伪元素。它仅用于背景。

http://codepen.io/cimmanon/pen/mucDv

<div class="foo"></div>
<div class="group">
<div class="node"></div>
<div class="node"></div>
<div class="node"></div>
<div class="node"></div>
<div class="node"></div>
<div class="node"></div>
<div class="node"></div>
</div>
<div class="foo"></div>

CSS:

.group {
overflow: hidden;
margin: -10px 0 -10px 10px;
padding-right: 10px;
position: relative;
}

.group:before {
display: block;
content: '';
position: absolute;
z-index: -1;
top: 10px;
right: 20px; /* 20px instead of 10px due to padding */
bottom: 10px;
left: 10px;
background: #666;
}

.node {
width: 100px;
height: 100px;
float: left;
background: #333;
margin: 10px;
}

.foo {
height: 20px;
background: #00f;
margin: 20px;
}

关于css - 制作元素之间有边距但不是容器的元素容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18089066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com