美文网首页@IT·互联网
水平居中和垂直居中

水平居中和垂直居中

作者: 牛奶芝麻 | 来源:发表于2017-05-11 14:39 被阅读37次

本章介绍几种常见的水平居中和垂直居中的实现方式

<!DOCTYPE html>
<html>
<head>
    <title>水平居中和垂直居中</title>
    <meta charset="utf-8">
</head>
<style type="text/css">
    .box {   /* 在一个基础的盒子里面显示效果 */
        position: relative;
        float: left;
        width: 250px;
        height: 200px;
        margin: 20px; 
        border: 1px solid #000;
    }
    
    .lev1 { 
        width: 150px; 
        margin: 0 auto; 
        background-color: pink; 
    }

    .box .lev2 { 
        position: absolute; 
        width: 150px; 
        height: 100px; 
        margin: auto; 
        left: 0;    
        right: 0;   /* 增加 top 和 bottom 为 0 会使其水平垂直居中 */
        background-color: pink; 
    }

    .box .ver-lev1 {
        position: relative;     /* 相对定位或绝对定位均可 */
        width: 150px;
        height: 100px;
        top: 50%;
        left: 50%;
        margin: -50px 0 0 -75px;        /* 外边距为自身宽高的一半 */
        background-color: pink;       
    }

    .box .ver-lev2 {
        position: absolute;     /* 相对定位或绝对定位均可 */
        width: 150px;
        height: 100px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);  /* translate 定义转换, 横纵坐标转换 -50% */
        background-color: pink;     
    }

    .flex {
        display: flex;
        align-items: center;        /* 垂直居中  */
        justify-content: center;    /* 水平居中 */
        width: 400px;
        height: 200px;
        border: 1px solid #000;
        margin: 20px;
    }

    .flex .ver-lev3 {
        width: 300px;
        height: 50px;
        background-color: pink;
    }

    .table-cell {
        display: table-cell;
        vertical-align: middle;
        width: 400px;
        height: 200px;
        /* margin: 20px; */   /* table-cell没有margin值 */
        border: 1px solid #000; 
    }

    .table-cell .ver1 {
        width: 300px;
        height: 50px;
        text-align: center;
        background-color: pink;
    }
</style>
<body>
    <div class="box"><div class="lev1">水平居中: 给div设置一个宽度, 然后添加 margin:0 auto 属性</div></div>
    <div class="box"><div class="lev2">水平居中: 让绝对定位的 div 居中</div></div>
    <div class="box"><div class="ver-lev1">水平垂直居中: 受限于容器的宽高, 设置层的外边距</div></div>
    <div class="box"><div class="ver-lev2">水平垂直居中: 不受限于容器的宽高, 利用 `transform` 属性 (2D 或 3D 转换)</div></div>
    <div style="clear: left;"></div>  <!-- 清除前面的左浮动 -->
    <div class="flex"><div class="ver-lev3">水平垂直居中: 使用 display 中的 flex 布局 (与 float 或 position 混用会被破坏)</div></div>
    <div class="table-cell"><div class="ver1">垂直居中: 使用 display 中的 table-cell 值 (与 float 或 position 混用会被破坏)</div></div>
</body>
</html>
result.png

相关文章

  • css水平居中和水平垂直居中

    水平居中和水平垂直居中demo

  • 常用的居中方法

    本文将介绍的居中方法有 ,水平居中,垂直居中和水平垂直居中。 一水平居中 二水平垂直居中

  • css 居中

    居中有水平居中和垂直居中。 水平居中+垂直居中 flex法 position法 就是计算呗~ 参考 CSS各种居中...

  • 居中对齐

    行内元素居中[#hang]垂直居中[#hc]水平居中[#hs] 块级元素居中[#kuai]垂直居中[#kc]水平居...

  • 水平居中与垂直居中

    水平居中和垂直居中可以说是在开发中经常遇到的问题,网上搜索水平居中和垂直居中的方法有很多,有的方法并不是很好,所以...

  • 实现元素水平居中的五种方法

    概述 我们平时看到的居中效果主要分为三大类,水平居中,垂直居中和水平垂直居中,在这里总结以下元素水平居中的方法。 ...

  • 水平居中和垂直居中

    水平居中设置--行内元素 水平居中设置--定宽块级元素 水平居中设置--不定宽块状元素 垂直居中--父元素高度确定...

  • 水平居中和垂直居中

    #水平居中 1.1.已知宽度块元素宽度 : 1.2.文本内容居中: 1.3.通过表格: 1.4.已知宽度,通过设置...

  • 水平居中和垂直居中

    假设有如下html结构 一、实现item在header内水平居中1、item定宽度 2、item不定宽度ps: m...

  • 水平居中和垂直居中

    水平居中 1、行内元素 父元素: 此方法父元素有没有宽度都ok 2、块级元素 需要居中的元素设置宽度 设置css ...

网友评论

    本文标题:水平居中和垂直居中

    本文链接:https://www.haomeiwen.com/subject/vmuotxtx.html