html - 将 DOM 容器与外部容器等距对齐
问题描述
假设我有一个<ul>
带有某个类样式的容器。
它的相关风格是
.resipes_filter .resipes_filter-dish {
list-style: none;
margin: 0;
padding-left: 0;
}
dl, ol, ul {
margin-top: 0;
margin-bottom: 1rem;
}
*, ::after, ::before {
box-sizing: border-box;
}
在其中,我们有<li>
具有以下样式的项目:
display: inline-block;
margin-right: 10px;
margin-top: 10px;
margin-bottom: 10px;
margin-left: 10px;
width: 90px;
height: 90px;
border-radius: 10px;
border: 1px;
目前的情况是这样的。
我希望内部容器能够和谐而巧妙地对齐。这意味着彼此等距并且与外部容器的两侧(左侧和右侧)具有相同的边距。
一个人怎么能这样做呢?
PS 该项目正在滚动原始 CSS,所以像 SASS 或 LESS 这样的东西在这里并不是一个真正的选择。
解决方案
去年有很多关于 Flexbox 的兴奋 - 您已经发现了其中一个原因。
从 Bootstrap3 到 Bootstrap4 的主要核心变化是从浮动到 flexbox 是有原因的。浮动是放置物品的旧方法。flexbox(和 CSSGrid)是新的方式。Flexbox 非常简单。
根据您的问题,您最感兴趣的是:
justify-content: space-evenly; (or perhaps "space-around")
Flexbox 需要两件事:
父容器(例如 DIV、section 、 aside 、p 等)
display:flex;
justify-content: space-around;
一个或多个子元素(例如 div、p、img 等)在这些元素上,放置:
flex:1
资源:
推荐阅读
- reactjs - 如何检查我的反应钩子条件
- html - Sapper 在彼此下方加载页面
- javascript - 如何从赛普拉斯清除 Codemirror 编辑器字段
- vue.js - Vue2-Google-Maps 使用 beforeEnter() Route Guard 访问 gmapApi
- c++ - 有没有办法减少我的 C++ 代码中的内存消耗?
- javascript - 通过 XmlHttpRequest 发送 xml 文件
- python - 使用 .apply() 转换变量
- javascript - 如何滚动查看数组中的特定项目
- python - 在 NumPy 中有效地计算给定向量元素的所有成对乘积
- javascript - nodejs crypto 和 CryptoJS 提供不同的 base64(sha256(data)) 输出