CSS绝对定位的盒子居中算法

本文探讨如何使用绝对定位和CSS技巧使盒子在父元素中水平居中,包括利用`margin: 0 auto`、`left: 50%; transform: translate(-50%)`的方法,并提供实例代码解析。
摘要由CSDN通过智能技术生成

加了绝对定位的盒子不能通过 margin: 0 auto ;水平居中。


<style>
  .a{
    width:100px;
    height: 100px;
    background-color: lightsteelblue;
    position: absolute;
    margin: 0 auto;
  }
</style>
<body>
<div class="a"></div>
</body>

在这里插入图片描述

需要通过计算实现,先让盒子左侧移到父级元素的水平中心位置,然后让盒子向左移动自身宽度的一半。

<style>
  .a{
    width:100px;
    height: 100px;
    background-color: lightsteelblue;
    position: absolute;
    margin: 0 auto;
    left: 50%;
    margin-left: -50px;
  }
</style>
<body>
<div class="a"></div>
</body>

在这里插入图片描述
也可以利用transform属性计算自身宽度的一半。

<style>
    div{
      position: relative;
      width: 500px;
      height: 500px;
      background-color: lightblue;
    }
    p{
      position: absolute;
      width: 200px;
      height: 200px;
      background-color: aquamarine;
      transform: translate(-50%,-50%);
      top: 50%;
      left: 50%;
    }
  </style>
</head>
<body>
<div>
<p></p>
</div>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值