css 居中布局方案

旧时模样 提交于 2020-02-11 18:58:25

position(transform css3  有些浏览器不兼容)

<article id="one">
  <section id="section"></section>
</article>

  <style>
    #one {
      position: relative;  //此处不设置的话  会一直往上找 找到body
      width: 300px;
      height: 300px;
      background: lightskyblue;
    }
      #section {
        position: absolute;
        left: 50%;
        top: 50%;
        width: 100px;
        height: 100px;
        background: aliceblue;
        transform: translate(-50%, -50%);
      }
  </style>

2.margin-top(需要知道具体尺寸计算)

<article id="one">
  <section id="section"></section>
</article>

  <style>
    #one {
      position: relative;
      width: 300px;
      height: 300px;
      background: lightskyblue;
    }
    #section {
      position: absolute;
      left: 50%;
      top: 50%;
      width: 100px;
      height: 100px;
      margin-left: -50px; // 需要通过 计算  但是兼容性好
      margin-top: -50px;
      background: aliceblue;
    }
  </style>

3.flex(简单,兼容问题)

<article id="one">
  <section id="section"></section>
</article>

  <style>
    #one {
      display: flex;
      width: 300px;
      height: 300px;
      background: lightskyblue;
      justify-content: center;
      align-items: center;
    }
    #section {
      width: 100px;
      height: 100px;
      background: aliceblue;
    }
  </style>

4.gred

<article id="one">
  <section id="section"></section>
</article>  

<style>
    #one {
      display: grid;  //和flex就一点不同   ????
      width: 300px;
      height: 300px;
      background: lightskyblue;
      justify-content: center;
      align-items: center;
    }
    #section {
      width: 100px;
      height: 100px;
      background: aliceblue;
    }
  </style>

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!