首页 > web前端 > css教程 > css中有哪些方法可以实现垂直居中

css中有哪些方法可以实现垂直居中

王林
发布: 2020-03-23 10:31:13
转载
2779 人浏览过

css中有哪些方法可以实现垂直居中

css实现垂直居中的方法如下:

1、利用line-height实现居中,这种方法适合纯文字类的;

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<!-- css -->

<style>

.parents {

  height: 400px;

  line-height: 400px;

  width: 400px;

  border: 1px solid red;

  text-align: center;

}

 

.child {

  background-color: blue;

  color: #fff;

}

 </style>

</head>

 

<body>

<!-- html -->

<div class="parents">

   <span class="child">css布局,实现垂直居中</span>

</div>

</body>

登录后复制

效果:

cf2107043f8587b8a39d71d4f3c1811.png

(推荐教程:CSS教程

2、通过设置父容器相对定位,子级设置绝对定位,标签通过margin实现自适应居中;

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

33

<!-- css -->

<style>

.parents {

  height: 400px;

  width: 400px;

  border: 1px solid red;

  position: relative;

}

 

.child {

  width: 200px;

  height: 100px;

  line-height: 100px;

  text-align: center;

  color: #fff;

  background-color: blue;

  /* 四个方向设置为0, 然后通过margin为auto自适应居中 */

  position: absolute;

  top: 0;

  right: 0;

  bottom: 0;

  left: 0;

  margin: auto;

}

 </style>

</head>

 

<body>

<!-- html -->

<div class="parents">

  <span class="child">css布局,实现垂直居中</span>

</div>

</body>

登录后复制

效果:

35bcabfea590fb5cb7841e201d54757.png

3、弹性布局flex 父级设置display: flex; 子级设置margin为auto实现自适应居中;

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

  <!-- css -->

  <style>

    .parents {

      height: 400px;

      width: 400px;

      border: 1px solid red;

      display: flex;

    }

 

    .child {

      width: 200px;

      height: 100px;

      line-height: 100px;

      text-align: center;

      color: #333;

      background-color: yellow;

      margin: auto;

  }

 </style>

</head>

 

<body>

 <!-- html -->

  <div class="parents">

    <span class="child">css布局,实现垂直居中</span>

  </div>

</body>

登录后复制

效果:

9a1371f372f924ea7d2c3bd0715c4fe.png

4、父级设置相对定位,子级设置绝对定位,并且通过位移transform实现;

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

  <!-- css -->

  <style>

    .parents {

      height: 400px;

      width: 400px;

      border: 1px solid red;

      position: relative;

    }

 

    .child {

      width: 200px;

      height: 100px;

      line-height: 100px;

      text-align: center;

      color: #fff;

      background-color: green;

      position: absolute;

      top: 50%;

      left: 50%;

      transform: translate(-50%, -50%);

    }

  </style>

</head>

 

<body>

  <!-- html -->

  <div class="parents">

    <span class="child">css布局,实现垂直居中</span>

  </div>

</body>

登录后复制

效果:

368fe3867a606d438284336fcd7ae2d.png

5、父级设置弹性盒子,并设置弹性盒子相关属性;

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

<!-- css -->

 <style>

    .parents {

      height: 400px;

      width: 400px;

      border: 1px solid red;

      display: flex;

      justify-content: center; /* 水平 */

      align-items: center; /* 垂直 */

    }

 

    .child {

      width: 200px;

      height: 100px;

      color: black;

      background-color: orange;

    }

  </style>

</head>

 

<body>

  <!-- html -->

  <div class="parents">

    <span class="child"></span>

  </div>

</body>

登录后复制

效果:

6c1569ec27b4fceb8990290d14a1174.png

6、网格布局,父级通过转换成表格形式,然后子级设置行内或行内块实现。(需要注意的是:vertical-align: middle使用的前提条件是内联元素以及display值为table-cell的元素)。

效果:

9a5d39375c8d1d473b006c7509a8c75.png

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

<!-- css -->

 <style>

    .parents {

      height: 400px;

      width: 400px;

      border: 1px solid red;

      display: table-cell;

      text-align: center;

      vertical-align: middle;

    }

 

    .child {

      width: 200px;

      height: 100px;

      color: #fff;

      background-color: blue;

      display: inline-block; /* 子元素设置行内或行内块 */

    }

  </style>

</head>

 

<body>

  <!-- html -->

  <div class="parents">

    <span class="child"></span>

  </div>

</body>

登录后复制

相关视频教程推荐:css视频教程

以上是css中有哪些方法可以实现垂直居中的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板