美文网首页
css 田字布局,子元素之间,子元素和父元素之间间距10,自适应

css 田字布局,子元素之间,子元素和父元素之间间距10,自适应

作者: 宋乐怡 | 来源:发表于2019-07-23 10:51 被阅读0次

    前几天去猿辅导面试的css面试题,当时太紧张了,就想着怎么按百分比或者是位移搞,但是冷静下来,css复杂的定位就给元素包爸爸,几乎能解决一大票问题。
    细致的描述问题:
    一个父元素里面有四个子元素,按田字排列,子元素之间间距10px,和父元素之间的间距也是10px,父元素缩放时子元素要自适应。
    解决思路就是父元素里面再包一层,来解决父元素和子元素间距10 的问题。
    四个子元素分别再包一层b,b就负责宽高占父元素的50%,里面的b-inner,负责子元素之间的间距。用position absolute相对b进行定位,搞出间距,注意平分公共间距一个子元素应该位移的是5px。

    <div class="a">
      <div class="a-inner">
    
        <div class="b">
          <div class="b-inner b-inner-1">
    
          </div>
        </div>
        <div class="b">
          <div class="b-inner b-inner-2">
    
          </div>
        </div>
        <div class="b">
          <div class="b-inner b-inner-3">
    
          </div>
        </div>
        <div class="b">
          <div class="b-inner b-inner-4">
    
          </div>
        </div>
      </div>
    </div>
    
    .a {
      width: 200px;
      height: 200px;
      background: #20c0cc;
      padding: 10px;
    }
    
    .a-inner {
      width: 100%;
      height: 100%;
      background: #cb123b;
    }
    
    .b {
      float: left;
      width: 50%;
      height: 50%;
      background: pink;
      overflow: hidden;
      position: relative;
    }
    
    .b-inner {
      position: absolute;
      height: 100%;
      width: 100%;
      background: green;
    }
    
    .b-inner-1 {
      bottom: 5px;
      right: 5px;
    }
    
    .b-inner-2 {
      bottom: 5px;
      left: 5px;
    }
    
    .b-inner-3 {
      top: 5px;
      right: 5px;
    }
    
    .b-inner-4 {
      top: 5px;
      left: 5px;
    }
    
    image.png

    相关文章

      网友评论

          本文标题:css 田字布局,子元素之间,子元素和父元素之间间距10,自适应

          本文链接:https://www.haomeiwen.com/subject/hgxolctx.html