我将这些响应框并排放置,并在其中放置图像和文本。但是,由于文本的原因,某些框未正确对齐。我试图改变这一点,但没有成功。
这是问题的图像:https://imgur.com/a/EpXzG4i
HTML来了:
<div id="grid">
<span class="box">
<i class="fa fa-file-text fa-3x"></i>
<div class="service">Super awesome box</div>
</span>
...
</div>
和CSS:
#grid {
width: 100%;
}
#grid .box {
display: inline-block;
width: 135px;
height: 135px;
margin: 11px;
background-color: #b7cfdd;
}
#grid .box .service {
font-family: "Roboto", sans-serif;
font-size: 17px;
color: #555;
}
#grid .box i {
margin-top: 20px;
color: #00406e;
}
在这里您可以看到问题所在:http://jsfiddle.net/et72powz/3/
是否有解决此问题的简便方法?
答案 0 :(得分:2)
您的HTML无效。 division 标签不能嵌套在 span 内。设为span
div
,就可以了。
充分利用vertical-align
将它们排列整齐。
http://jsfiddle.net/et72powz/15/
#grid .box {
display: inline-block;
width: 135px;
height: 135px;
margin: 11px;
background-color: #b7cfdd;
vertical-align: top
}
答案 1 :(得分:1)
将height
更改为min-height
,并通过赋予vertical-align:top;
为其分配位置(垂直对齐)
#grid .box {
display: inline-block;
width: 135px;
min-height: 140px;
margin: 11px;
background-color: #b7cfdd;
vertical-align:top;
}
答案 2 :(得分:1)
来自display: inline-block
的问题替换为float: left
,它将按您希望的方式检查更新的Fiddle。
答案 3 :(得分:0)
我为您找到了解决方案,但我真的不知道为什么这样做的实际行为..我只是删除了您的某些CSS ..尝试使用此CSS代码..
#grid {
width: 100%;
}
#grid .box {
display: inline-block;
width: 135px;
height: 135px;
margin: 11px;
background-color: #b7cfdd;
}
#grid .box i {
margin-top: 20px;
color: #00406e;
}
答案 4 :(得分:0)
将flexbox用于网格。
#grid {
width: 100%;
display: flex;
align-items: flex-start;
flex-wrap: wrap;
}