常见的几种居中方式

1.单行文本的居中[inline]

text-align:center line-height = 容器高度

2.父容器包含单个行内块级元素[inline-block]

父元素

    text-align: center;
    line-height: 160px;
    font-size: 0;

子元素

    vertical-align: middle;
    //与父元素对齐

vertical-align回顾
middle是对齐父元素的 middle-line

描述
baseline默认。元素放置在父元素的基线上。
sub垂直对齐文本的下标。
super垂直对齐文本的上标
top把元素的顶端与行中最高元素的顶端对齐
text-top把元素的顶端与父元素字体的顶端对齐
middle把此元素放置在父元素的中部。
bottom把元素的顶端与行中最低的元素的顶端对齐。
text-bottom把元素的底端与父元素字体的底端对齐。
length 
%使用 "line-height" 属性的百分比值来排列此元素。允许使用负值。
inherit规定应该从父元素继承 vertical-align 属性的值。

3.弹性盒子[任何元素]

父元素

.b {
    display: flex;
    justify-content: center;
    align-items: center;
}

无需设置子元素样式[前提子元素有生效的宽高属性]

4.定位方式一[ lbtr + margin auto]【任何元素】

可以设置父元素为relative,,fixed,absolute也可以
子元素

    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;

5.定位方式二[left top + translate]【任何元素】,有个变体 使用margin 负数

translate里面的值是需要加 , 分隔的
可以设置父元素为relative,fixed,absolute也可以
子元素

position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);

6定位方式二[left top + margin] 使用margin 负数

translate里面的值是需要加 , 分隔的
可以设置父元素为relative,fixed,absolute也可以
子元素

position: absolute;
    left: 50%;
    top: 50%;
   margin-left:-自身宽度一半
   margin-right:-自身高度一半

7.使用table【inline inline-block】

tabell cell 相当于tr
table + tabel cell + ele

table会作为块级表格来显示(类似 )
table-row浏览器会默认创建一个表格行(类似
table-cell作为一个表格单元格显示(类似

设置tabel-cell之后需要设置对齐方式 vertical-align
table 元素设置 text-align : center

<div class="f">
		<span>
			<img src="../images/case_03.png" alt="">
		</span>
	</div>

8.[块级元素后面有默认的空白文本节点]利用空白文本节点[inline-block inline]

父元素:
line-height: 300px;
text-align: center;
子元素:
vertical-align: middle;

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.box{
				width: 300px;
				height: 300px;
				background-color: salmon;
				line-height: 300px;
				text-align: center;
			}
			.box2{
				width: 100px;
				height: 100px;
				vertical-align: middle;
				background-color: skyblue;
				display: inline-block;
			}
		</style>
	</head>
	<body>
		<div class="box"><div class="box2"></div>
		</div>
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值