css 垂直居中多种情况最全总结

补充

元素自身要实现垂直居中

position:absolute;
top:0px;
bottom: 0px;
left:0px;
right:0px;
margin:auto;
background: #333;
width:px2rem(48);
height: px2rem(48);

行内元素

居中

text-align:center //父级元素

块状元素

定宽

居中

margin:auto  //要居中的元素
不定宽

居中

  1. 为不定宽的元素包裹table标签
    (table将元素转为定宽元素)
table{
   margin:auto
}
<table>
	<tbody>
		<tr><td>
			<ul>
				<li>你好啊哈哈哈</li>
				<li>你好啊哈哈哈</li>
				<li>你好啊哈哈哈</li>
			</ul>
		</td></tr>
	</tbody>
</table>
  1. 将不定宽的块级元素改为行内元素
.container ul{
   display:inline;
}
.container{
   text-aligin:center
}
<div class="container">
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>
</div>
  1. 通过给父元素设置 float,然后给父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left: -50% 来实现水平居中
  2. 无需添加格外元素实现
//需要居中的元素
position:absolute;
left:50%;
transform:translateX(-50%)

5.flex布局

//父元素
.wrapper{
	display:flex;
	justify-content:center;
}

垂直居中

1.父元素高度确定的单行文本

line-height:父元素高度

2.父元素高度确定的多行文本
用table包裹文本,table自带vertical-align属性

table{
	height:父元素高;  //垂直
	margin:auto  //水平
}

3.内联块状元素垂直居中
直接用vertical-align:middle
4.flex布局

div{
	display:flex;
	justify-content: center; /* 水平居中 */
	align-items: center;     /* 垂直居中 */
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值