不确定为什么我的内联块元素会发生这种情况
Not sure why this happens to my inline-block elements
我对 CSS 很陌生,在下面的代码中,我的计划是创建 3 个 div 元素并设置它们的样式。这是我的代码:
我的代码:
.box {
background: orange;
width: 30%;
height: 250px;
margin: 0 1%;
display: inline-block;
}
<body>
<div class="container">
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
</div>
</body>
上面的代码就是我想要的结果
但是,一旦我尝试在 HTML 中的 div 元素中添加一些文本,这些框就会不对齐:
谁能解释一下这背后的原因?并告诉我如何解决这个问题?如果有任何帮助,我将不胜感激!
在 css 文件的开头试试这个:
* {
box-sizing:border-box;
}
添加vertical-align:top
.box
vertical-align:top;
.box {
background: orange;
width: 30%;
height: 250px;
margin: 0 1%;
display: inline-block;
vertical-align:top;
}
<body>
<div class="container">
<div class="box">
fhgf
</div>
<div class="box">
</div>
<div class="box">
</div>
</div>
</body>
我只是用grid box
来处理你的问题,你也可以用flex box
代替
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
.box {
background: orange;
width: 90%;
height: 250px;
margin: 0 1%;
<body>
<div class="container">
<div class="box">
hello
</div>
<div class="box">
</div>
<div class="box">
</div>
</div>
</body>
我对 CSS 很陌生,在下面的代码中,我的计划是创建 3 个 div 元素并设置它们的样式。这是我的代码:
我的代码:
.box {
background: orange;
width: 30%;
height: 250px;
margin: 0 1%;
display: inline-block;
}
<body>
<div class="container">
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
</div>
</body>
上面的代码就是我想要的结果
但是,一旦我尝试在 HTML 中的 div 元素中添加一些文本,这些框就会不对齐:
谁能解释一下这背后的原因?并告诉我如何解决这个问题?如果有任何帮助,我将不胜感激!
在 css 文件的开头试试这个:
* {
box-sizing:border-box;
}
添加vertical-align:top
.box
vertical-align:top;
.box {
background: orange;
width: 30%;
height: 250px;
margin: 0 1%;
display: inline-block;
vertical-align:top;
}
<body>
<div class="container">
<div class="box">
fhgf
</div>
<div class="box">
</div>
<div class="box">
</div>
</div>
</body>
我只是用grid box
来处理你的问题,你也可以用flex box
代替
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
.box {
background: orange;
width: 90%;
height: 250px;
margin: 0 1%;
<body>
<div class="container">
<div class="box">
hello
</div>
<div class="box">
</div>
<div class="box">
</div>
</div>
</body>