css div内容垂直居中

   在写前端页面时总是会遇到div内容垂直居中!!!每次都各种百度,解决了也只记得当下,再次遇到还是找度娘!!!(敲打自己)

一、对于“单行”的文字内容

<div class="example">
	<p>这是一行文字</p>
</div>

   一般利用行高(line-height)法或者内边距(padding)法就能搞定。

1、行高法

.example {
	// 省略其他样式 ...
	height: 200px;
	line-height: 200px; // 必须和 height 相同!
}

2、内边距法

p {
	padding: 90px 0; // 要根据 div 的高度大致估量下
}

另外,关于"padding":

  • padding: 2px; // 上右下左
  • padding: 1px 2px; // 上下 右左
  • padding: 1px 2px 3px; //上 右左 下

二、重点是针对多行文字!!!

(再次敲打自己!)

1、table法

<div class="example">
	/* 使用table必须再嵌套一层div */
	<div class="text">
		<p>这是一行文字</p>
		<p>这是一行文字</p>
		<p>这是一行文字</p>
	</div>
</div>
.example {
	// 省略其他样式 ...
	display: table;
}
.text {
	display:table-cell;
	vertical-align:middle; // 设置元素垂直排列
}

2、box方法

<div class="example">
	<p>这是一行文字</p>
	<p>这是一行文字</p>
	<p>这是一行文字</p>
</div>
.example {
	// 省略其他样式 ...
	width: 300px;
  	height: 200px;

	/* Safari, Opera, and Chrome */
  	display: -webkit-box;
  	-webkit-box-orient: vertical;// 垂直排列 (horizontal水平)
  	-webkit-box-pack: center;// 水平轴
  	-webkit-box-align: center; // 竖轴
  	
  	/* Firefox */
  	display: -moz-box;
  	-moz-box-orient: vertical;
  	-moz-box-pack: center;
  	-moz-box-align: center;
  
  	/* Internet Explorer 10 */
	display:-ms-flexbox;
	-ms-flex-orient: vertical;
	-ms-flex-pack:center;
	-ms-flex-align:center;
  
  	/* W3C */
  	display: box;
  	box-orient: vertical;
  	box-pack: center;
  	box-align: center;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zoriah

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值