Rumah  >  Artikel  >  hujung hadapan web  >  CSS中常见的水平垂直居中的实现方法有哪些?CSS中三种常见的水平垂直居中

CSS中常见的水平垂直居中的实现方法有哪些?CSS中三种常见的水平垂直居中

不言
不言asal
2018-08-06 17:34:462012semak imbas

这篇文章给大家介绍的内容是关于CSS中常见的水平垂直居中的实现方法有哪些?CSS中三种常见的水平垂直居中,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

当不知道子元素的宽和高的时候,如何实现子元素的水平垂直居中,这里总结了几种方法:

1、利用定位和transform实现

HTML和CSS代码如下:

<div class="super-div">
        <div class="sub-div">利用定位和transform
            <br/>实现水平垂直居中</div>
</div>
 
 .super-div {
            width: 400px;
            height: 300px;
            border: 1px solid black;
        }
 
 .sub-div {
            background-color: green;
            position: relative;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            /* top left 分别相对于父元素的高度和宽度,translate相对于自身的宽度和高度 */
        }

     这种实现方式的核心在于注释部分,相对定位的时候,top和left都是相对于父元素的高度和宽度计算,而transform是相对与自身宽高计算;  效果如下:

2、利用table-cell布局实现

HTML和CSS代码实现如下:

     <div class="super-div table">
        <div class="table-cell">利用table-cell
            <br/>实现水平垂直居中</div>
    </div> 
 
 
   .super-div {
            width: 400px;
            height: 300px;
            border: 1px solid black;
        }
 
   .table {
            display: table;
        }
 
   .table-cell {
            display: table-cell;
            /*垂直居中*/
            vertical-align: middle;
            /*水平居中*/
            text-align: center;
            background-color: green;
        }

父元素设置table布局,子元素设置为table-cell布局。然后实现子元素的垂直水平居中,效果如下:

3、利用flex布局实现

HTML和CSS代码如下:

<div class="super-div flex">
        <div class="flex-center">利用flex布局
            <br/>实现水平垂直居中</div>
</div> 
 
.super-div {
            width: 400px;
            height: 300px;
            border: 1px solid black;
        }
 
 .flex {
            display: flex;
            /*flex布局*/
            justify-content: center;
            /*使子项目水平居中*/
            align-items: center;
            /*使子项目垂直居中*/
        }
 
 .flex-center {
            background-color: green;
        }

实现效果如下:

相关文章推荐:

CSS中table表格的两种使用方法(实例)

多列布局的概念是什么?CSS多列布局的应用(实例代码)

Atas ialah kandungan terperinci CSS中常见的水平垂直居中的实现方法有哪些?CSS中三种常见的水平垂直居中. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn