亲爱的专家们,我试图通过CSS将一个段落与一个分区元素的中间对齐,我不知道怎么能让它起作用。
<style type="text/css">
.wrap{
background:red;
height: 5em;
}
p{
background:blue;
height: 2em;
vertical-align:middle;
}
</style>
<div class="wrap">
<p>
ALIGN TEXT
</p>
</div>
它在IE或Firefox中都不起作用,
答案 0 :(得分:1)
Here's a nice hackish example,我把IE css放在条件中而不是用黑客隐藏它,其他那个很好。
<div style="display: table; height: 400px; #position: relative; overflow: hidden;">
<div style=" #position: absolute; #top: 50%;display: table-cell; vertical-align: middle;">
<div class="greenBorder" style=" #position: relative; #top: -50%">
any text<br>
any height<br>
any content, for example generated from DB<br>
everything is vertically centered
</div>
</div>
</div>
答案 1 :(得分:0)
http://www.w3.org/TR/CSS21/visudet.html#propdef-vertical-align
“适用于:内联级和'table-cell'元素”
答案 2 :(得分:0)
或者,您可以使用vertical-align:middle
,display:inline-block
和一个100%高度的空内联元素:
<div id='container'>
<div id='text'>vertical-align + inline-block<br>trick<br>in action</div>
</div>
#container{
height: 300px;border: 1px solid black;text-align:center;
}
#text,#container:before{
vertical-align: middle;
display: inline-block;
}
#container:before{
content: "";
height: 100%;
width: 0%;
}
答案 3 :(得分:-2)
如果没有表格,或者没有使用Javascript,就无法垂直对齐任何内容。