我有3个显示内嵌块的div,它们水平对齐:
div {
background:blue;
height:200px;
width:30%;
margin:0px;
padding:0px;
border:10px solid red;
display:inline-block;
box-sizing:border-box
}
当我将一个文本元素添加到其中一个div中时,它会被降低*(除非文本为position:absolute;
)。
这是什么原因?
答案 0 :(得分:1)
您需要使用CSS将vertical-align: top
添加到div
。 vertical-align
的默认属性为baseline
,这就是您的div
内容向下移动到底部的原因。
这是 jsBin demo 。
div {
background: blue;
height: 200px;
width: 30%;
margin: 0px;
padding: 0px;
border: 10px solid red;
display: inline-block;
vertical-align: middle;
box-sizing: border-box
}
#b {} text {
/* position:fixed; */
color: white;
font-size: 20px;
}
<body>
<div id="a">
<text>hello</text>
</div>
<div id="b"></div>
<div id="c"></div>
答案 1 :(得分:0)
使用vertical-align: top
时添加display: inline-block
。 inline-block
的自然位置为baseline
。