前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >说说各种居中

说说各种居中

作者头像
用户9127725
发布2022-08-08 08:48:42
5340
发布2022-08-08 08:48:42
举报
文章被收录于专栏:刘悦的技术博客

单行居中

    div{

        height: 26px;

        line-height: 26px;

        overflow: hidden;

        text-align:center;

    }

1. 同时支持块级和内联极元素

2. 只能支持单行垂直居中,并且不支持标签

多行居中

div{

    padding: 10px 0;

     text-align:center;

}

1. 同时支持块级和内联极元素

2. 支持非文本标签,但不能设定容器的高度

绝对定位居中

    div{

        margin: auto;

        position: absolute;

        left: 0;

        top: 0;

        right: 0;

        bottom: 0;

        /**可以设定高度、宽度**/

    }

1.毫无疑问,绝对定位居中是本人最喜欢、使用次数最多的居中方式。通过设定position为absolute,将使div脱离文档流,left、top、right、bottom设置为0,使目标盒填充其父元素的所有可用空间,父元素一般为body,或者position设置为relative的容器。设置高度或宽度后,margin: auto会促使该块在水平方向和垂直方向居中。

2.宽度高度支持百分比%属性值和min-/max-属性,并且必须显式生命高度

负外边距居中

div{

    width:100px;

    height:100px;

    padding:20px;

    position:absolute;

    top:50%;

    left:50%;

    /**重点:需要明确知道高度和宽度**/

    margin-left: -60px;//(width+padding)/2

    margin-top:-60px;//(height+padding)/2

}

1.使用absolute定位,距离左边50%,上边50%,再通过设置margin为负值,扣去该块本身占有的宽高。另外,需要明确指定宽度和高度!

变形居中

div{

    width: 50%;

    position: absolute;

    left: 50%;

    top: 50%;

    /**重点:向上偏移本身高度和宽度的一半**/

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

}

1.通过translate设置块水平和垂直方向各移动自身高度宽度的50%距离。

2.浏览器需支持CSS3

单元格居中

div{

    display: table-cell;

    height: 300px;

    vertical-align: middle;

    text-align: center;

}

1.通过表格单元格来实现居中也是一种广泛使用的方式,这也是早期web使用table来布局的一个主要原因。另外,使用单元格来实现垂直居中可以支持多元素同时居中!!!

Flexbox

 <div class="container">

    <div class="child">

      CSS3非常简单的居中方式!

    </div>

  </div>

  .container {

      display: flex;

      height: 300px;

    }

    .child {

        margin: auto;

    }

1.Flexbox是CSS3新增布局属性,不但可以非常简单地实现居中布局,在实现其他布局方式时也带来了很大的帮助,比如多栏布局。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-06-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档