12-21

qq_51735951發表於2020-12-26

12.21

CSS3中的元素水平垂直居中方法

1.行內元素
在這裡插入圖片描述

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .one {
            width: 600px;
            height: 400px;
            background-color: red;
            
			margin: auto;            /紅盒子居中
            
            text-align: center;          /文字(行內)水平居中
            line-height: 400px;          /文字(行內)垂直居中
        }
        .two {
        }
    </style>
</head>
<body>
<div class="one">
    <span class="two">span</span>
</div>
</body>
</html>

2.塊級元素

在這裡插入圖片描述

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .one {
            width: 600px;
            height: 400px;
            background-color: red;

            margin: auto;               /紅盒子居中
            padding-top: 1px;           /防止頂部塌陷
        }
        .two {
            width: 60px;
            height: 60px;
            background-color: gold;

            text-align: center;         /文字水平居中
            line-height: 60px;          /文字垂直居中

            margin: 200px auto 0;           /黃盒子(塊級),水平居中,垂直距頂部200px
            transform: translateY(-50%);    /黃盒子(塊級),位移自身一半高度(30px),使它垂直居中
        }
    </style>
</head>
<body>
<div class="one">
    <div class="two">div</div>
</div>
</body>
</html>

3.行內塊元素

在這裡插入圖片描述

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .one {
            width: 600px;
            height: 400px;
            background-color: red;

            margin: auto;               /紅盒子居中
            
            text-align: center;             /黃盒子(行內塊)水平居中,文字也居中
        }
        .two {
            width: 60px;
            height: 60px;
            background-color: gold;
            display: inline-block;
            
            line-height: 60px;          /文字垂直居中

            margin-top: 200px;              /黃盒子(行內塊),垂直距頂部200px
            transform: translateY(-50%);    /黃盒子(行內塊),位移自身一半高度(30px),使它垂直居中

        }
    </style>
</head>
<body>
<div class="one">
    <div class="two">行內塊</div>
</div>
</body> 
</html>

4.浮動元素

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .one {
            width: 600px;
            height: 400px;
            background-color: red;
            
            margin: auto;                /紅盒子居中
        }
        .fl {
            width: 60px;
            height: 60px;
            background-color: gold;
            float: left;
                        
            text-align: center;          /文字水平居中
            line-height: 60px;           /文字垂直居中
            
            margin-left: 50%;                  /黃盒子(浮動),水平距左邊300px
            margin-top: 200px;                 /黃盒子(浮動),垂直距頂部200px
            transform: translate(-50%,-50%);   /位移自身一半寬(30px)(30px),使它水平垂直居中
        }
    </style>
</head>
<body>
<div class="one">
    <div class="fl">浮動</div>
</div>
</body>
</html>

5.定位元素

在這裡插入圖片描述

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .one {
            width: 600px;
            height: 400px;
            background-color: red;
            position: relative;
            
            margin: auto;             /紅盒子居中
        }
        .two {
            width: 60px;
            height: 60px;
            background-color: gold;
            position: absolute;
            
            text-align: center;       /文字水平居中
            line-height: 60px;        /文字垂直居中
            
            left: 50%;                           /黃盒子(定位),水平距左邊300px
            top: 50%;                            /黃盒子(定位),垂直距頂部200px
            transform: translate(-50%,-50%);     /位移自身一半寬(30px)(30px),使它水平垂直居中
        }
    </style>
</head>
<body>
<div class="one">
    <div class="two">定位</div>
</div>
</body>
</html>