CSS 代码如何在一个div内让文字垂直居中

如题,注意不是要用行高,如果用的是行高,我输入的是两行文字就...你懂的。CSS代码好像没有像表格单元格的属性valign属性的。... 如题,注意不是要用行高,如果用的是行高,我输入的是两行文字就...你懂的。
CSS代码好像没有像表格单元格的属性valign属性的。
展开
 我来答
mapple_leave
2015-09-12 · TA获得超过151个赞
知道答主
回答量:33
采纳率:0%
帮助的人:28.5万
展开全部
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>水平+垂直居中</title>
<style type="text/css">
div {
font-family: "microsoft yahei";
border: 5px solid #cce800;
}
.container {
width: 600px;
padding: 10px;
margin: 10px auto;
background-color: gray;
}
.vertical {
display: table-cell;
height: 400px;
padding: 5px;
text-indent: 2em;
vertical-align: middle;
background-color: #cce8cf;
border-radius: 5px;
}
</style>
</head>
<body>
<!-- 外层这个是为了实现水平居中 -->
<div class="container">
<div class="vertical">
测试垂直居中,即便是多行,我也还是垂直居中对齐的。
<h3>问题分析:</h3>
<p>1.CSS中vertical-align这个属性只是对行级元素生效,div是块级元素,所以即使设置了此属性也不会生效。</p>
<p>2.Div可以通过display属性中的table-cell值由块级元素变为行级元素(这里你可以理解为Excel里的单元格),这样就支持vertical-align的垂直居中了。</p>
<p>3.扩张一点:如果是行级元素(例如span),也可以通过把height和line-height设置为相同值,这样也可以实现垂直居中,不过不符合你的要求,你了解即可。</p>
</div>
</div>

</body>
</html>

下边是运行出来的效果:

问题分析:

  1. CSS中vertical-align这个属性只是对行级元素生效,div是块级元素,所以即使设置了此属性也不会生效。

  2. Div可以通过display属性中的table-cell值由块级元素变为行级元素(这里你可以理解为Excel里的单元格),这样就支持vertical-align的垂直居中了。

  3. 扩展一点:如果是行级元素(例如span),也可以通过把height和line-height设置为相同值,这样也可以实现垂直居中,不过不符合你的要求,你了解即可。


另外哥推荐你用sublime写前端代码,灰常不错的一款编辑器,骚年,哥能帮你的就这么多了,剩下自己努力吧。

槛外人网上人生
推荐于2017-09-01 · TA获得超过6254个赞
知道大有可为答主
回答量:1710
采纳率:0%
帮助的人:550万
展开全部
让div的height设置为auto,或者不设置高度(高度默认值为auto),然后设置div的上下padding值相等。
比如:
div {
padding:20px;/*或者padding-top:20px;padding-bottom:20px;*/
height:auto;
}
追问
好像记的padding 在ie6和ie8有差异的
追答
padding 在ie6和ie8有差异是因为盒模型解释不同,你可以用标准模式。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leo_howl
推荐于2017-09-10 · TA获得超过1465个赞
知道小有建树答主
回答量:290
采纳率:85%
帮助的人:95.4万
展开全部

由于div 是块级元素,在css中并没有可以使块级元素内的元素垂直居中的属性。所以只能使用其他的方法。

  1. 设置文字的padding,使其达到居中的效果。、

  2. 在文字外层,div内包裹一个<p>标签,<div><p>只是一段文字</p></div>并将p标签的大小设置的与div标签同样大小。再对p标签应用vertical-align :middle属性。

    具体如下:

  3. p{
    width:100%;
     height:100%;
    vertical-align:middle;}/*注意当p标签的height为百分比写法时,div标签的height不要使用百分比的写法*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiii130
2012-11-15 · 知道合伙人软件行家
xiii130
知道合伙人软件行家
采纳数:817 获赞数:2867
爱好编程,在工作中积累了比较丰富的经验。愿与大家共同进步。

向TA提问 私信TA
展开全部
使用vertical-align属性,和table那个垂直居中差不多
div { vertical-align : middle; }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韩美KORstyle
2012-11-22
知道答主
回答量:66
采纳率:0%
帮助的人:33.8万
展开全部
.div{
/* 文字垂直居中
给包含它的父元素一个高度/宽度
然后padding:50% 0;
*/
/* 文字水平居中
text-align:center;
*/

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式