我有一个简单的 Flex 元素和一些子元素,如下所示:
.container{
display: flex;
flex-wrap: wrap;
}
.container div.flex-box{
width: 200px;
margin: 20px;
padding: 20px;
font-size: 40px;
border: 1px solid;
}Run Code Online (Sandbox Code Playgroud)
<div class='container'>
<div class='flex-box'>one</div>
<div class='flex-box'>two</div>
<div class='flex-box'>three</div>
<div class='flex-box'>four</div>
<div class='flex-box'>five</div>
<div class='flex-box'>six</div>
</div>Run Code Online (Sandbox Code Playgroud)
我使用的是柔性包装,所以当屏幕变小时,它们会堆叠起来。
现在,我想使用 ajax 调用重新加载第四个和第五个元素来重新加载这两个元素,为此我需要将两个子元素放入容器中,但是当我这样做时,它会变成一个新的 Flex 子元素
.container{
display: flex;
flex-wrap: wrap;
}
.container div.flex-box{
width: 200px;
margin: 20px;
padding: 20px;
font-size: 40px;
border: 1px solid;
}Run Code Online (Sandbox Code Playgroud)
<div class='container'>
<div class='flex-box'>one</div>
<div class='flex-box'>two</div>
<div class='flex-box'>three</div>
<div class='subcontainer'>
<div class='flex-box'>four</div>
<div class='flex-box'>five</div>
</div>
<div class='flex-box'>six</div>
</div>Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来消除这个“子容器”,并让孩子们像以前一样工作。
这可能吗?
使用display:contents(https://css-tricks.com/get-ready-for-display-contents/)但要注意支持(https://caniuse.com/#feat=css-display-contents)
.container {
display: flex;
flex-wrap: wrap;
}
.container div.flex-box {
width: 200px;
margin: 20px;
padding: 20px;
font-size: 40px;
border: 1px solid;
}
.subcontainer {
display: contents
}Run Code Online (Sandbox Code Playgroud)
<div class='container'>
<div class='flex-box'>one</div>
<div class='flex-box'>two</div>
<div class='flex-box'>three</div>
<div class='subcontainer'>
<div class='flex-box'>four</div>
<div class='flex-box'>five</div>
</div>
<div class='flex-box'>six</div>
</div>Run Code Online (Sandbox Code Playgroud)