php里上下居中怎么写,css里上下居中怎么弄?

css上下居中的实现方法:1、将单行的行内元素设置行高等于盒子高;2、将多行的行内元素使用给父元素设置“display:table-cell;和vertical-align: middle;”即可。

cd969236e335bf02f02b2f8ddcb85990.png

css里上下居中也就是垂直居中,css中按元素可以分为三种垂直居中方式,分别是单行的行内元素,多行的行内元素以及块元素的垂直居中,下面将做详细介绍。

单行的行内元素

只需要设置单行行内元素的"行高等于盒子的高"即可;

#father {

width: 500px;

height: 300px;

background-color: skyblue;

}

#son {

background-color: green;

height: 300px;

}

我是单行的行内元素

效果:

a1371b861c40f86be2e1c91d68383841.png

多行的行内元素

使用给父元素设置display:table-cell;和vertical-align: middle;即可;

#father {

width: 500px;

height: 300px;

background-color: skyblue;

display: table-cell;

vertical-align:middle;

}

#son {

background-color: green;

}

我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素

效果:

5bb4463853099a95e28442d06ef1f42f.png

块级元素

方案一:使用定位

首先设置父元素为相对定位,再设置子元素为绝对定位,设置子元素的top: 50%,即让子元素的左上角垂直居中;

定高度:设置绝对子元素的 margin-top: -元素高度的一半px; 或者设置transform: translateY(-50%);

#father {

width: 500px;

height: 300px;

background-color: skyblue;

position: relative;

}

#son {

height: 100px;

background-color: green;

position: absolute;

top: 50%;

margin-top: -50px;

}

我是块级元素

不定高度:利用css3新增属性transform: translateY(-50%);

#father {

width: 500px;

height: 300px;

background-color: skyblue;

position: relative;

}

#son {

width: 100px;

background-color: green;

position: absolute;

left: 50%;

transform: translateY(-50%);

}

我是块级元素

效果:

b094f374476623509465d1c29f7fcd66.png

方案二:使用flexbox布局实现(高度定不定都可以)

使用flexbox布局,只需要给待处理的块状元素的父元素添加属性 display: flex; align-items: center;

#father {

width: 500px;

height: 300px;

background-color: skyblue;

display: flex;

align-items: center;

}

#son {

width: 100px;

height: 100px;

background-color: green;

}

我是块级元素

效果:

a55e09ba3887b8af9b4f3e05178b8d8e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值