• 技术文章 >web前端 >css教程

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

    不言不言2018-08-06 17:34:46原创1262
    这篇文章给大家介绍的内容是关于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多列布局的应用(实例代码)

    以上就是CSS中常见的水平垂直居中的实现方法有哪些?CSS中三种常见的水平垂直居中的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:水平垂直居中
    上一篇:css3实现会动的菜单按钮(menu)效果 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 手把手教你使用CSS实现酷炫六边形网格背景图• 聊聊怎么利用CSS实现波浪进度条效果• 实例详解CSS渐变锯齿问题如何解决!• 另辟蹊径!看看使用CSS滤镜怎么构建圆角和波浪效果• 聊聊怎么利用 CSS 构建花式透视背景
    1/1

    PHP中文网