当前位置:   article > 正文

css:居中的几种布局方式_css居中布局

css居中布局

居中布局的方式

初始状态

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        .outer {
            width: 100px;
            height: 100px;
            border: 1px solid #f00;
        }
        .inner {
            width: 30px;
            height: 30px;
            background-color: #000;
        }
    </style>
</head>
<body>
    <div class="outer">
        <div class="inner"></div>
    </div>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

在这里插入图片描述

1、普通方式

定宽
水平居中

.inner {
	margin: 0 auto;
}
  • 1
  • 2
  • 3

文本水平居中,对行内元素/行内块级元素有效

text-align: center;
  • 1

文本垂直居中,这两个属性设置一样大小

height: 30px;
line-heigth: 30px;
  • 1
  • 2

2、定位

定宽

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        .outer {
            width: 100px;
            height: 100px;
            border: 1px solid #f00;
            // 新增
            position: relative;
        }
        .inner {
            width: 30px;
            height: 30px;
            background-color: #000;
            // 新增
            position: absolute;
            left: 50%;
            top: 50%;
            // height的一半
            margin-top: -15px;
            // width的一半
            margin-left: -15px;
        }
    </style>
</head>
<body>
    <div class="outer">
        <div class="inner"></div>
    </div>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

支持宽高未知

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        .outer {
            width: 100px;
            height: 100px;
            border: 1px solid #f00;
            // 新增
            position: relative;
        }
        .inner {
            width: 30px;
            height: 30px;
            background-color: #000;
            // 新增
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
        }
    </style>
</head>
<body>
    <div class="outer">
        <div class="inner"></div>
    </div>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

在这里插入图片描述

3、flex

支持宽高未知

.outer {
    display: flex;
    justify-content: center;
    align-items: center;
}
  • 1
  • 2
  • 3
  • 4
  • 5

4、网格布局grid

支持宽高未知
可以看我的这篇 css:网格布局

.outer {
    display: grid;
    justify-content: center;
    align-items: center;
}
  • 1
  • 2
  • 3
  • 4
  • 5

5、表格布局

支持宽高未知

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        .outer {
            width: 100px;
            height: 100px;
            border: 1px solid #f00;
            display:table-cell;
            text-align: center;
            vertical-align: middle;
        }
        .inner {
            display: inline-block;
            width: 30px;
            height: 30px;
            background-color: #000;
        }
    </style>
</head>
<body>
    <div class="outer">
        <div class="inner"></div>
    </div>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

总结

方式一:定宽居中适合
方式二:能不用尽量不用,因为 position: absolute; 会脱离文档流,除非那种确实要脱离文档流的布局再用
方式三:常用
方式四:兼容性不如方式三
方式五:需要兼容IE的才使用

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/702685
推荐阅读
相关标签
  

闽ICP备14008679号