html - 水平对齐 div 并完全适合父级的宽度
问题描述
我正在尝试水平对齐 4 个 div,但我希望每个 div 填充父级宽度的 25%,这样它们就可以完美地填充父级宽度。
你可以在这里看到我的尝试:https ://techsource.dk/query/combine.php
我有 4 个宽度为 250 像素的 div,没有填充、边距和边框,在 1000 像素宽度的父级内,但是只有 3 个 250 像素的 div 适合父级。
如果我将孩子的宽度设置为 240px 或更低,它们将适合父级,但我不明白为什么 4x250px 宽度的 div 不能适合 1000px 宽度的父级?我用chrome检查了它,浏览器似乎正确理解了它。
解决方案
问题在于inline-block
显示样式。它在元素之间添加了空白。
内联格式上下文中的元素将导致 HTML 中的回车符和空白符产生空白
引用 StackOverflow 上另一个问题的评论:inline-block
我还建议您不要在子元素上使用固定的 px 宽度。但是使用百分比。这样,您就可以确定他们将始终保持 4 个并排。
FlexBox 是设置布局样式的最佳方式。它非常易于使用和理解。在此处查看文档-> FlexBox
话虽如此,请检查下面的片段
.parent {
display:flex;
flex-wrap:wrap;
flex-direction:row;
}
.child {
flex: 0 25%;
height:100px;
background:red;
border:1px solid green;
box-sizing:border-box;
}
<div class="parent">
<div class="child">
</div>
<div class="child">
</div>
<div class="child">
</div>
<div class="child">
</div>
</div>
我使用OBSbox-sizing
是因为我也在border
元素上使用过。框大小使边框包含在元素的宽度中。不在它之外。这与您的情况无关,但我用它来分隔元素。
推荐阅读
- r - 依次返回数据帧
- php - 我有两个数组,带有 id 和总数。如果 ID 相同,我想添加总数。我该怎么办?
- javascript - 根据值从对象数组中选择一个属性:Javascript
- angular - Angular Material Mat-select with multiple selections:显示所选值的问题
- node.js - 高请求发送时间
- c# - 如何接受带有 selenium firefox 驱动程序的自签名 SSL 证书?
- java - 对实体对象 spring/JPA/Java 进行验证的缺点
- html - 当 Bootstrap 中的内联表单时,如何使标签显示为“大尺寸”?
- c# - 试图将数据字符串从控制器传递到视图
- c# - RevitAPI C#:如何取消停靠 DockablePane onStart