以下是fiddle以下内容:
.filterDivActual, #filterSeparator {
display: inline-block;
}
.filterDivActual {
border: 2px solid grey;
width: 15%;
height: 50px;
line-height: 50px;
color: grey;
position: relative;
}
#filterSeparator {
height: 50px;
width: 5px;
background-color: black;
}
<div id='filterDiv'>
<div class='filterDivActual'>Top</div>
<div class='filterDivActual'>New</div>
<div id='filterSeparator'></div>
<div class='filterDivActual'>Today</div>
<div class='filterDivActual'>Yesterday</div>
<div class='filterDivActual'>None</div>
</div>
我想要的是#filterSeparator
与其他div
对齐。
出于某种原因,所有其他div
都低于#filterSeparator
。
如果我将文字放在#filterSeparator
内,那么它就可以了。
如果没有在#filterSeparator
内放置任何文字,我有没有办法让它工作?
答案 0 :(得分:2)
对于内嵌 / 内嵌块元素,请使用vertical-align
属性:
.filterDivActual, #filterSeperator {
display: inline-block;
vertical-align: middle ; /* or some other value: */
}
https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align
答案 1 :(得分:0)
我不知道为什么会这样做,但你可以使用float:left;而不是显示:inline-block
答案 2 :(得分:0)
#filterSeparator:before {
content: ".";
visibility: hidden;
}
.filterDivActual, #filterSeparator {
display: inline-block;
}
.filterDivActual {
border: 2px solid grey;
width: 15%;
height: 50px;
color: grey;
position: relative;
}
#filterSeparator {
height: 50px;
width: 5px;
background-color: black;
}
#filterSeparator:before {
content: ".";
visibility: hidden;
}
<div id='filterDiv'>
<div class='filterDivActual'>Top</div>
<div class='filterDivActual'>New</div>
<div id='filterSeparator'></div>
<div class='filterDivActual'>Today</div>
<div class='filterDivActual'>Yesterday</div>
<div class='filterDivActual'>None</div>
</div>
答案 3 :(得分:0)
将内容置于空<div>
将解决此问题。
<div id='filterSeperator'> </div>