我需要你的帮助,
盒子白色部分内的文字如何对齐死点(垂直和水平对齐)?
见下图:
期望的结果是:
这是HTML标记:
<!DOCTYPE html>
<html>
<head>
<title>Centered Div</title>
<style>
#wrapper {
height: 100px;
width: 500px;
bottom: 50%;
right: 50%;
position: absolute;
font-family: tahoma;
font-size: 8pt;
font-weight: bold;
}
#container {
background: #FFF;
left: 50%;
padding: 10px;
top: 50%;
margin: 0;
padding: 0;
height: 100%;
border: 1px solid rgb(128,128,128);
height: 100%;
position: relative;
}
#inner1 {
height: 100%;
border: 1px solid blue;
}
#inner2 {
height: 100%;
border: 1px solid green;
}
#titlebar {
cursor: pointer;
height: 23px;
width: 100%;
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#0A246A, endColorStr=#A6CAF0, GradientType=1);
color: white;
line-height:22px;
}
#button {
line-height: 10px;
width: 18px;
font-size: 10px;
font-family: tahoma;
margin-top: 1px;
margin-right: 2px;
position:absolute;
top:0;
right:0;
}
#alertText {
}
</style>
</head>
<body>
<div id="wrapper">
<div id="container">
<div id="titlebar"><div style="padding-left: 3px;">Information Box</div></div>
<div><input id="button" type="button" value="X"></div>
<div id="alertText">This is some sample text that will appear here</div>
</div>
</div>
</body>
</html>
答案 0 :(得分:4)
这里是Fiddle
#alertText {
position: absolute;
width: 100%;
height: 20px;
top: 50%;
margin-top: -10px;
text-align: center;
}
答案 1 :(得分:1)
如果它只是一行文字,你可以这样做:
#alertText {
line-height: 58px;
text-align: center;
}
如果你想要更多的文字行,你可能需要以其他方式去做。可以使用position
。
答案 2 :(得分:0)
在最近的一个项目中,我编写了这个代码:
<div class="table">
<div class="cell">
<img src="whatever.png">
<p>Understand align</p>
</div>
</div>
<style>
.table { display: table; width: 100%; height:100%;}
.table .cell { display: table-cell; text-align:center; vertical-align: middle;}
</style>
希望它有用。您可以在“单元格”div中对齐文本甚至图像。
答案 3 :(得分:0)
这实际上比它看起来更难。您可能会发现本教程很方便:http://tympanus.net/codrops/2013/07/14/justified-and-vertically-centered-header-elements/
答案 4 :(得分:0)
答案 5 :(得分:0)
您可以将div
设置为display: table;
并使用定位将内容置于关键中心位置:
#alertText {
display: table;
position: absolute;
top: 0;
margin: auto;
left: 0;
bottom: 0;
right: 0;
text-align: center;
width: 100%;
}
这也可以优雅地支持多行文本而不需要任何硬编码或幻数。
结果如下: