div内容居中

[阅读原文]

水平居中

  1. 若是行内元素, 给其父元素设置 text-align:center,即可实现行内元素水平居中.
  2. 若是块级元素, 该元素设置 margin:0 auto即可.
  3. 若子元素包含 float:left 属性, 为了让子元素水平居中, 则可让父元素宽度设置为fit-content,并且配合margin, 作如下设置:

    .parent{
        width: -moz-fit-content;
        width: -webkit-fit-content;
        width:fit-content;
        margin:0 auto;
    }
  4. 使用flex 布局, 可以轻松的实现水平居中, 子元素设置如下:

    .son{
        display: flex;
        justify-content: center;
    }
  5. 使用CSS3中新增的transform属性, 子元素设置如下:

    .son{
        position:absolute;
        left:50%;
        transform:translate(-50%,0);
    }
  6. 使用绝对定位方式, 以及负值的margin-left, 子元素设置如下:

    .son{
        position:absolute;
        width:固定;
        left:50%;
        margin-left:-0.5宽度;
    }
  7. 使用绝对定位方式, 以及left:0;right:0;margin:0 auto; 子元素设置如下:

    .son{
        position:absolute;
        width:固定;
        left:0;
        right:0;
        margin:0 auto;
    }

垂直居中

  1. 若元素是单行文本, 则可设置 line-height 等于父元素高度
  2. 若元素是行内块级元素, 基本思想是使用display: inline-block, vertical-align: middle和一个伪元素让内容块处于容器中央.

    .parent::after, .son{
        display:inline-block;
        vertical-align:middle;
    }
    .parent::after{
        content:'';
        height:100%;
    }
    元素高度不定
  3. 可用 vertical-align 属性, 而vertical-align只有在父层为 td 或者 th 时, 才会生效, 对于其他块级元素, 例如 div、p 等, 默认情况是不支持的. 为了使用vertical-align, 我们需要设置父元素display:table, 子元素 display:table-cell;vertical-align:middle;
  4. 用 Flex 布局
    css
    .parent {
    display: flex;
    align-items: center;
    }
  5. 可用 transform , 设置父元素相对定位(position:relative), 子元素如下css样式:

        .son{
        position:absolute;
        top:50%;
        -webkit-transform: translate(-50%,-50%);  
        -ms-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
    }
    元素高度固定
  6. 设置父元素相对定位(position:relative), 子元素如下css样式:

        .son{
        position:absolute;
        top:50%;
        height:固定;
        margin-top:-0.5高度;
    }
  7. 设置父元素相对定位(position:relative), 子元素如下css样式:

    .son{
        position:absolute;
        height:固定;
        top:0;
        bottom:0;
        margin:auto 0;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值