垂直居中方式

时间:2019-03-13 16:08:56   收藏:0   阅读:172

方式1:flex布局,display:flex;align-items:center

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <title></title>
    <style type="text/css">
        *{padding:0;margin:0;}
        .box{width:100px;height:100px;border:1px solid #ddd;display:flex;align-items:center;}
        .inner{width:40px;height:40px;background:red;}
    </style>
</head>
<body>
<div class="box">
   <div class="inner"></div>
</div>
</body>
</html>

效果如下:

技术分享图片

 

 方式2:position+margin

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <title></title>
    <style type="text/css">
        *{padding:0;margin:0;}
        .box{width:100px;height:100px;border:1px solid #ddd;position:relative;}
        .inner{width:40px;height:40px;background:red;position:absolute;top:50%;margin-top:-20px;}
    </style>
</head>
<body>
<div class="box">
   <div class="inner"></div>
</div>
</body>
</html>

效果图:与上面一样

方式3:如果不知道具体高度,通过position+transform

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <title></title>
    <style type="text/css">
        *{padding:0;margin:0;}
        .box{width:100px;height:100px;border:1px solid #ddd;position:relative;}
        .inner{background:red;position:absolute;top:50%;transform:translateY(-50%);}
    </style>
</head>
<body>
<div class="box">
   <div class="inner">545454</div>
</div>
</body>
</html>

效果图:

技术分享图片

方式4:display:table-cell+vertical-align:middle

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <title></title>
    <style type="text/css">
        *{padding:0;margin:0;}
        .box{width:100px;height:100px;border:1px solid #ddd;display:table-cell;vertical-align:middle;}
        .inner{background:red;}
    </style>
</head>
<body>
<div class="box">
   <div class="inner">545454</div>
</div>
</body>
</html>

 效果图:

技术分享图片

 

原文:https://www.cnblogs.com/hesj/p/10523635.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!