1. 程式人生 > >垂直居中方式

垂直居中方式

http info col tran css absolute pad flex布局 text

方式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>

效果圖:

技術分享圖片

垂直居中方式