搜索

首页  >  问答  >  正文

实现div的水平居中定位

<p>我想把一个div定位在屏幕的中心。问题是当div很小的时候,从左边45%看起来还不错,但是当div更长(即宽度更大)时,我需要将其从左边改为30%。</p> <p>有没有一种智能的方法可以根据div的大小来定位div在中心位置。</p> <p> <pre class="brush:css;toolbar:false;">body { background:blue; } .box { position: absolute; top:10px; left:30%; background:white; padding:10px; border-radius:10px; }</pre> <pre class="brush:html;toolbar:false;"><div class="box"> 这是一个很长的div,所以需要left = 30% </div></pre> </p>
P粉573809727P粉573809727488 天前493

全部回复(2)我来回复

  • P粉659518294

    P粉6595182942023-09-06 11:48:07

    你可以通过以下方式将其水平居中:

    .box  {
       position: absolute;
       top:10px;
       left:50%;
       background:white;
       padding:10px;
       border-radius:10px;
       transform: translateX(-50%);
    }

    回复
    0
  • P粉752290033

    P粉7522900332023-09-06 09:49:47

    您可以使用display: flex;属性将组件居中对齐。

    css flex

    body {
    flex: 1;
    background:blue;
    display: flex;
    justify-content: center;
    }
    
    .box  {
    position: absolute;
    top:10px;
    background:white;
    padding:10px;
    border-radius:10px;
    }
    <div class="box">
    这是一个很长的div,所以需要左边=30%
    </div>

    回复
    0
  • 取消回复