html中div中文字如何上下居中,div中文字各种垂直居中的方法

前言

在前端开发的过程中经常会遇到需要对div中的文字进行垂直居中,下面总结了几种实现的方式。

1. 单行文字div中垂直居中

如果一个容器中只有一行文字,对它实现居中相对比较简单,我们只需要设置它的实际高度height和所在行的高度line-height相等即可。

看你是不是垂直居中的

div {

height: 200px;

line-height: 200px;

border: 1px solid #FF0099;

background-color: #FFCCFF;

text-align: center

}

2. 多行文本固定高度的居中

CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生效,例如表格元素中的"td"、"th"、"caption"等,而像"div"、"span"这样的元素是没有valign特性的,因此使用vertical-align对它们不起作用。

但是在CSS中还有一个display属性能够模拟"table",所以我们可以使用这个属性来让"div"模拟"table"就可以使用vertical-align了。注意,display:table和display:table-cell的使用方法,前者必须设置在父元素上,后者必须设置在子元素上,因此我们要为需要定位的文本再增加一个"div"元素。

我是第一行

我是第二行

我是第三行

我是第四行

#wrap {

height: 400px;

display: table;

}

#content {

vertical-align: middle;

display: table-cell;

border: 1px solid #FF0099;

background-color: #FFCCFF;

width: 760px;

}

2. 多行未知高度文字的垂直居中

如果一段内容,它的高度是可变的那么我们就可以设定Padding,使上下的padding值相同即可。同样的,这也是一种“看起来”的垂直居中方式,它只不过是使文字把完全填充的一种方式而已。

这种方法的优点就是它可以在任何浏览器上运行,并且代码很简单,只不过这种方法应用的前提就是容器的高度必须是可伸缩的。

我是第一行

我是第二行

我是第三行

我是第四行

div {

padding: 25px;

border: 1px solid #FF0099;

background-color: #FFCCFF;

width: 500px;

}

4. 多行文本固定高度的居中

现在我们要使这段文字垂直居中显示!

现在我们要使这段文字垂直居中显示!

div#wrap {

display: table;

border: 1px solid #FF0099;

background-color: #FFCCFF;

width: 500px;

height: 400px;

_position: relative;

overflow: hidden;

}

div#subwrap {

vertical-align: middle;

display: table-cell;

_position: absolute;

_top: 50%;

}

div#content {

_position: relative;

_top: -50%;

}

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值