您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

具有响应正方形的网格布局

具有响应正方形的网格布局

padding-bottom诀窍是最常用的技巧。

您可以将其与Flex@R_117_2419@和CSS Grid结合使用,由于对利润/填充使用百分比会导致弹性/网格项目的结果不一致,因此可以添加一个额外的包装器,或者在此处使用伪类,因此带有百分比的元素 不会弹性/网格项目。

编辑:请注意,对规格进行了更新。,现在在弹性/网格项目上使用时应能提供一致的结果。但是请注意,该问题 在较旧的版本上仍然会发生。

请注意,如果要向content元素添加内容,则它必须是绝对位置,以保持正方形的纵横比。

.square-container {

  display: flex;

  flex-wrap: wrap;

}



.square {

  position: relative;

  flex-basis: calc(33.333% - 10px);

  margin: 5px;

  border: 1px solid;

  @R_117_2419@-sizing: border-@R_117_2419@;

}



.square::before {

  content: '';

  display: block;

  padding-top: 100%;

}



.square .content {

  position: absolute;

  top: 0; left: 0;

  height: 100%;

  width: 100%;

}


<div class="square-container">



  <div class="square">

    <div class="content">

    </div>

  </div>



  <div class="square">

    <div class="content spread">

    </div>

  </div>



  <div class="square">

    <div class="content column">

    </div>

  </div>



  <div class="square">

    <div class="content spread">

    </div>

  </div>



  <div class="square">

    <div class="content column">

    </div>

  </div>



</div>

CSS Grid version

.square-container {

  display: grid;

  grid-template-columns: repeat(auto-fill, minmax(30%, 1fr));

  grid-gap: 10px;

}



.square {

  position: relative;

  border: 1px solid;

  @R_117_2419@-sizing: border-@R_117_2419@;

}



.square::before {

  content: '';

  display: block;

  padding-top: 100%;

}



.square .content {

  position: absolute;

  top: 0; left: 0;

  height: 100%;

  width: 100%;

}


<div class="square-container">



  <div class="square">

    <div class="content">

    </div>

  </div>



  <div class="square">

    <div class="content spread">

    </div>

  </div>



  <div class="square">

    <div class="content column">

    </div>

  </div>



  <div class="square">

    <div class="content spread">

    </div>

  </div>



  <div class="square">

    <div class="content column">

    </div>

  </div>



</div>
其他 2022/1/1 18:14:01 有534人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶