如何让div垂直居中?
可能的重复:
将 Div 垂直居中的最佳方式是什么CSS
.title_text_only{
position:absolute;
width:100%;
display:none;
z-index:9;
top:50%;
bottom:50%;
text-align:center;
color:#fff;
font-size:18px;
text-shadow: 1px 1px 1px #666;
}
现在,它似乎不起作用。前 50% 不垂直居中。有点到底部了。就好像顶部边框是 50% 一样。
Possible Duplicate:
What's The Best Way of Centering a Div Vertically with CSS
.title_text_only{
position:absolute;
width:100%;
display:none;
z-index:9;
top:50%;
bottom:50%;
text-align:center;
color:#fff;
font-size:18px;
text-shadow: 1px 1px 1px #666;
}
Right now, it doesn't seem to work. top 50% doesn't center it vertically. It's a little to the bottom. It's as if the top border is 50%.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果可以指定盒子的高度,可以使用
margin-top: -[height / 2]px
(填写[height / 2]
,注意大多数浏览器将在 100% 缩放时将小数像素四舍五入)。如果您可以指定其父级的高度,则可以执行以下操作:
如果预计子级的内容会换行到多行,则可以将其包装在重置
line-height< 的子子级中/代码>。
If you can specify the height of the box, you can use
margin-top: -[height / 2]px
(fill in[height / 2]
and note that most browsers will round fractional pixels up at 100% zoom).If you can specify the height of its parent, you can do something like this:
If the content of the child is expected to wrap onto multiple lines, you can wrap it in a sub-child that resets the
line-height
.如何在所有浏览器中垂直居中 div?
How to vertically center a div for all browsers?
top: 50%;
的作用正是您所怀疑的:它将顶部边缘置于 50% 的高度。您还可以通过应用等于元素高度一半的负垂直边距来抵消此效果。例如,如果元素高 100px,您将添加以下属性:top: 50%;
does exactly what you suspect: it places the top edge at 50% height. You can offset this effect by also applying a negative vertical margin equal to half of the height of the element. For example, if the element was 100px high, you would add this property:如果元素的高度是固定的,则执行以下
Css:
否则要以动态高度垂直居中 div,您将需要 javascript..
If height of element is fixed, then do following
Css:
else to vertically center a div with dynamic height, you would need javascript..