如何让css实现元素或者盒子水平垂直居中
本文最后更新于 813 天前,其中的信息可能已经有所发展或是发生改变。

第一种方法 使用CSS3中的flex布局

CSS代码

        .content{
            width: 600px;
            height: 600px;
            border: #5E72E4 2px solid;
            /*使用flex布局*/
            display: flex;
            /*使内容垂直居中*/
            justify-content: center;
            /*使内容水平居中*/
            align-items: center;
        }
        .box{
            width: 300px;
            height: 300px;
            background-color: #00adeb;
        }

HTML代码

<div class="content">
    <div class="box"></div>
</div>

效果

第二种方法 使用flex + margin

CSS代码

       .content{
            width: 600px;
            height: 600px;
            border: 2px rebeccapurple solid;
            display: flex;
        }
        .box{
            width: 300px;
            height: 300px;
            background-color: #00adeb;
            border: #5E72E4 2px solid;
            margin: auto;
        }

HTML代码

    <div class="content">
        <div class="box"></div>
    </div>

效果

第三种 使用flex + align-self

align-self属性不适用于块类型的盒模型和表格单元。如果任何 flexbox 元素的侧轴方向 margin 值设置为 auto,则会忽略 align-self

CSS代码

        .content{
            width: 600px;
            height: 600px;
            border: 2px rebeccapurple solid;
            display: flex;
        }
        .box{
            width: 300px;
            height: 300px;
            border: 2px rebeccapurple solid;
            background-color: #5E72E4;

            align-self: center;
            margin: auto;
        }

HTML代码

<div class="content">
    <div class="box"></div>
</div>

效果

第四种 使用flex + grid

CSS代码

        .content{
            width: 600px;
            height: 600px;
            border: rebeccapurple 2px solid;
            display: grid;
        }
        .box{
            width: 300px;
            height: 300px;
            border: rebeccapurple 2px solid;
            margin: auto;
        }

HTML代码

<div class="content">
    <div class="box"></div>
</div>

效果

第五种方法 使用grid布局

CSS代码

       .content{
            width: 600px;
            height: 600px;
            border: #5E72E4 2px solid;
            display: grid;
        }
        .box{
            width: 300px;
            height: 300px;
            border: #3f87a6 2px solid;
            /*水平居中*/
            justify-self: center;
            /*垂直居中*/
            align-self: center;
        }

HTML代码

    <div class="content">
        <div class="box"></div>
    </div>

效果

第六种 margin

CSS代码

        .content{
            width: 600px;
            height: 600px;
            border: #3f87a6 2px solid;
        }
        .box{
            width: 300px;
            height: 300px;
            border: #5E72E4 2px solid;
            margin: calc(50% - 150px) auto 0 auto;
        }

HTML代码

<div class="content">
    <div class="box"></div>
</div>

效果

第七种 postion

CSS代码

        .content {
            width: 600px;
            height: 600px;
            border: #5E72E4 2px solid;
            position: relative;
        }

        .box {
            width: 300px;
            height: 300px;
            border: #5E72E4 2px solid;
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            margin: auto;
        }

HTML代码

<div class="content">
    <div class="box"></div>
</div>

效果

第八种 postion

CSS代码

        .content{
            width: 600px;
            height: 600px;
            border: #5E72E4 2px solid;
            position: relative;
        }
        
        .box{
            width: 300px;
            height: 300px;
            border: #5E72E4 2px solid;
            position: absolute;
            top: calc(50% - 150px);
            bottom: 50%;
            left:  calc(50% - 150px);
        }

HTML代码

    <div class="content">
        <div class="box"></div>
    </div>

效果

第九种 postion + transform

CSS代码

        .content{
            width: 600px;
            height: 600px;
            border: #5E72E4 2px solid;
            position: relative;
        }
        
        .box{
            width: 300px;
            height: 300px;
            border: #5E72E4 2px solid;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

HTML代码

    <div class="content">
        <div class="box"></div>
    </div>

效果

第十种 转块级元素

CSS代码

        .content{
            width: 600px;
            height: 600px;
            border: #5E72E4 2px solid;
            display: table-cell;
            vertical-align: middle;
            text-align: center;
        }
        
        .box{
            width: 300px;
            height: 300px;
            border: #5E72E4 2px solid;
            display: inline-block;
        }

HTML代码

<div class="content">
    <div class="box"></div>
</div>

效果

单元素盒子内容居中

CSS代码

        .content{
            width: 600px;
            height: 80px;
            line-height: 80px;
            background-color: pink;
            text-align: center;
        }

HTML代码

<div class="content">你好呀</div>

效果

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇