利用vertical-align:middle垂直居中

 
 
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>CSS垂直居中</title> <style> .wrapper{ width: 500px; height: 500px; background-color: pink; text-align: center; } .box{ width: 100px; height: 100px; background-color: deepskyblue; display: inline-block; vertical-align: middle; margin: 0 auto; } </style> </head> <body> <div class="wrapper"> <div class="box"></div> </div> </body> </html>
以前总是以为vertical-align与text-align是同样的道理,一个是垂直居中,一个是水平居中,结果在这里一点效果也没有。事实上vertical-align与
text-align完全不一样,vertical-align不能这样用。该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。假设有两个行内元素a和 b, a和b都是div,当a加了一个vertical-align:middle样式之后,b的底部(基线)就会对齐a的中间位置,如下图:
如果a和b都加了一个vertical-align:middle样式,那么就互相对齐了对方的中间位置,也就是它们在垂直方向上的中线对齐了,如下图:
   
   
现在要让class="box"的div在class="wrapper"的div里面垂直居中,可以在class="wrapper"的div里面加一个div空标签,把它的高度设为100%,宽度设置为0,再给它一个vertical-align:middle样式,同样的给class="box"的div一个vertical-align:middle样式,那么box就可以在div里面垂直居中了。
    
    
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>CSS垂直居中</title> <style> .wrapper{ width: 500px; height: 500px; background-color: pink; text-align: center; } .box{ width: 100px; height: 100px; background-color: deepskyblue; display: inline-block; vertical-align: middle; margin: 0 auto; } .help{ width: 0; height: 100%; display: inline-block; vertical-align: middle; } </style> </head> <body> <div class="wrapper"> <div class="box"></div> <div class="help"></div> </div> </body> </html>

下面我们来看一张图来更好理解垂直对齐主要属性值的表现形式


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值