html - 如何在没有空格的情况下在两侧之间留出空间
问题描述
我正在制作一个响应式菜单,
<div style={{ display: "flex", flexFlow: "row wrap" }}>
{/* left side */}
<div key="1">nav 1</div>
<div key="2">nav 2</div>
<div key="3">nav 3</div>
{/* left side */}
{/* right side */}
<div key="4">nav 4</div>
<div key="5">nav 5</div>
<div key="6">nav 6</div>
{/* right side */}
</div>
我想在两侧之间留出一个空间,但它仍然可以包裹每个元素。
我对此一无所知,谢谢您的帮助!
解决方案
您可以在包装器内注入一个伪元素并将其设置order
为放置在第 3 和第 4 个 div 之间;并设置flex-grow: 1
:
#wrapper {
display: flex;
flex-wrap: wrap;
}
#wrapper > div:nth-child(-n + 3) {
order: 1;
background-color: papayawhip;
}
#wrapper::after {
content: "";
order: 2;
flex-grow: 1;
}
#wrapper > div:nth-child(n + 4) {
order: 3;
background-color: palegoldenrod;
}
<div id="wrapper">
<!-- left -->
<div key="1">nav 1</div>
<div key="2">nav 2</div>
<div key="3">nav 3</div>
<!-- right -->
<div key="4">nav 4</div>
<div key="5">nav 5</div>
<div key="6">nav 6</div>
</div>
推荐阅读
- powershell - PowerShell中有输入输出功能吗?
- r - 根据位置改变特定列
- pine-script - pinescript 中未声明的标识符错误
- swift5 - 将 NSValue 转换为 CMTimeRange 类型 swift 5.3
- python - 所有图的简单路径的独特组合
- html - recv() 循环将最后一个“块”两次添加到缓冲区
- javascript - “视频播放器正在加载”“这是一个模态窗口”-如何在 react videojs .m3u8 流中删除不需要的文本
- javascript - 如何通过它的地图属性值获取密钥
- javascript - jquery在按名称属性获取值的问题
- shell - 如果第 5 列有连字符,则从文件中删除该行