CSS实现元素水平居中

本文介绍了五种实现网页元素水平居中的方法:1) 使用margin:0 auto;2) 线性布局配合text-align;3) 绝对定位;4) CSS3 flex布局;5) 响应式布局。每种方法各有优缺点,适用于不同场景和兼容需求。
摘要由CSDN通过智能技术生成

1.用margin: 0 auto实现

将父容器设置一个固定宽度width,给居中元素设置margin: 0 auto即可
html

<div class="content">
    <div class="div1"></div>
  </div>

CSS

.content{
      width: 500px;
      height:100px;
      border: 2px solid black;
    }
    .div1{
      width: 100px;
      height: 100px;
      background-color: chocolate;
      margin: 0 auto;
    }

在这里插入图片描述
优点:实现简单,浏览器兼容性强

缺点:扩展性差,无法自适应未知情况。

2.设置inline-block与text-align实现

只需将父容器设置text-align,再将居中元素设置inline-block即可实现水平居中

.content{
      width: 500px;
      height:100px;
      border: 2px solid black;
      text-align: center;
    }
    .div1{
      width: 100px;
      height: 100px;
      background-color: aqua;
      display: inline-block;
    }

在这里插入图片描述
优点:简单易懂,扩展性强

缺点:需要额外处理inline-block的浏览器兼容性问题

3.使用绝对定位实现

需将居中元素设置:

position:absolute;
width:宽度值;
left:50%;
margin-left:-(宽度值/2);

案例:

.content{
      position: relative;
      width: 500px;
      height:100px;
      border: 2px solid black;
    }
    .div1{
      width: 100px;
      height: 100px;
      background-color: indianred;
      position: absolute;
      left: 50%;
      margin-left: -50px;
    }

在这里插入图片描述
需要注意的是,子元素设置绝对定位后,若父元素没有设置定位,那么子元素会继续往上找父元素的父元素,直到找到设置了定位的元素相对其水平居中,若找不到设置了定位的元素,则会相对于body水平居中。因此想要用绝对定位实现水平居中需要将父元素设置定位。

优点:扩展性强,兼容性强;

缺点:理解性难。

4.使用CSS3的flex布局实现

只需将父容器设置display:flex和justify-content:center即可实现水平居中。

.content{
      width: 500px;
      height:100px;
      border: 2px solid black;
      display: flex;
      justify-content: center;
    }
    .div1{
      width: 100px;
      height: 100px;
      background-color: violet;
    }

在这里插入图片描述
优点:实现简单,扩展性强

缺点:兼容性差

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值