css实现居中

要考虑布局场景,有些并不适合复杂布局,主要实现垂直居中,水平居中会带一下

1、height配合line-height

/*父标签*/
.parent{
	height:320px;
	line-height:320px;
}

应用场景:子标签一行文字内容,或者多行文字line-height也为320px(这个一般文字间距不会这么高);对图片无效。

2、vertical-align:middle

/*父标签*/
.parent{
   height:320px;
}
/*子标签*/
.child{
   vertical-align:middle;
}

应用场景:子标签为图片,图片垂直居中;或者同级一行显示的图片和文字对齐则只需设置img vertical-align:middle

3、display:table-cell

/*父标签*/
.parent{
	display:table-cell;//使用中会存在宽度不能百分比、子标签高度超过父标签overflow无效、兼容性等问题
	vertical-align:middle;
	height:320px;
}

4、display:table(不可以和float:left配合使用)

/*父标签*/
.parent{
	display:table;
	height:320px;
}
/*子标签*/
.child{
	display:table-cell;
	vertical-align:middle;
}

应用场景:子标签元素不定,内容高度不定。

5、position定位

公共样式

/*父标签*/
.parent{
	position:relative
	height:320px;
}

A、简单常用处理方法

/*子标签*/
.child{
	position:absolut;
	top:0;
	bottom:0;
	margin: auto;
	//水平居中
	left:0;
	right:0;
}

B、配合负边距

.child{
	position:absolut;
	//垂直居中
	top:50%;
	margin-top:-50%;
	//水平居中
	left:50%;
	margin-left:-50%;
}

C、配合transform

.child{
	position:absolut;(这个可以不用设,父标签也不需要relative,不过专业点一般我们都会设置上)
	top:50%;
	transform: translateY(-50%); 
	//水平居中
	left:50%;
	transform: translateX(-50%); //可以和上面的合并transform: translate(-50%,-50%); 
}
后两个稍微复杂一点,但功能也是强大的,比较适合内容为多行、宽高不定、文字居左、整体水平垂直居中,用left:0,right:0,或者top:0,bottom:0配合margin:auto不能完美解决,实现不出效果或者高度100%啦,使用fix-content可以解决,但存在兼容性

6、flex布局

/*父标签*/
.parent{
	display:flex;
	height:320px;
	align-items: center;
	justify-content: center;/*水平居中,因为这里text-align:center无效所以提醒下*/
}

7、display:inline-block和vertical-align:middle配合

/*结构*/
<div class="parent1">
	<img src="">
</div>
<div class="parent2">
	<h1>视觉</h1>
	<div>将IP符号、IP内容、IP情感和价值观视觉化,过目不忘,直指人心。</div>
</div>
/*sass*/
.parent1{
	display:inline-block;
	img{
		vertical-align:middle;
   }
}
.parent2{
	display:inline-block;
	vertical-align:middle;
}

应用场景:内容高度不定,右边(左边)内容随左边(右边)自适应图片的高度垂直居中,可能有更专业的解决方法,欢迎留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值