【发布时间】:2016-05-09 13:11:20
【问题描述】:
.dd{
height:100px;
width:100%;
border:1px soild red;
background:#000;
}
.dd .d1{
height:20px;
width:20px;
border:1px solid green;
display:inline-block;
}
.dd .d2{
height:20px;
width:20px;
border:1px solid green;
display:inline-block;
}
.dd .d3{
height:40px;
width:30px;
border:1px solid yellow;
display:inline-block;
}
<div class="dd">
<div class="d1"></div>
<div class="d2"></div>
<div class="d3"></div>
</div>
在我的项目中,我总是找不到垂直元素的好方法。任何人都有使元素(任何情况)垂直对齐的优点吗?
我自己的愚蠢方式:
当out div没有高度时,对我来说更容易,我经常让margin-top等于margin-bottom,并且垂直对齐如下:
.dd{
height:auto;
width:100%;
background:#000;
}
.dd>div:first-child{
display:inline-block;
margin-top:1em;
margin-bottom:1em;
height:80px;
width:50px;
border:1px solid red;
margin-left:1em;
}
.dd>div:last-child{
display:inline-block;
margin-top:1em;
margin-bottom:1em;
height:50px;
width:50px;
border:1px solid green;
}
<div class="dd">
<div></div>
<div></div>
</div>
但在这种情况下,我现在找不到一个好的做法,有人有想法吗?
第二次添加
我改变了我的愚蠢方式:
.dd>div:first-child{height:50px }
到
.dd>div:first-child{height:80px }
除非您将 height:80px 改回 height:50px,否则我的愚蠢方法似乎确实有效
关于我要实现的是,我希望 innerDivs(inline-block) 放置在固定高度外部 div 的中心(垂直)(也就是说,我想让内部 div 的边距顶部和margin-bottom 相等)
请在这里做更多的解释,以便我们了解它为什么可以工作,谢谢
【问题讨论】:
-
您可以只使用 CSS 中的垂直对齐属性。 w3schools.com/cssref/pr_pos_vertical-align.asp
-
你要垂直对齐哪两个框?你的预期输出是什么?
-
只需添加类似预期的sn-p,看看,谢谢
-
@TingSun,关于垂直对齐,它对我不起作用,你可以在 .dd .d1 选择器上试试,谢谢。
标签: javascript css alignment vertical-alignment