怎么实现多列的响应式布局?

clipboard.png
就是这种,不过其中的红色元素是根据父元素自适应的,每一行的第一个和最后一个元素紧贴父元素,这种应该怎么写,我现在用的css3的flex属性写的,感觉会有兼容问题,大家有更好的方法吗

阅读 7.5k
3 个回答

提供两个解决方案:


  • 方法1: 使用:nth-child选择器实现.(兼容IE9+)
<!-- html -->
<div class="adv">
  <ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
  </ul>
</div>
/* css */
*{
  margin:0;
  padding: 0;
}
.adv{
  width: 920px;
  height:620px;
  background: green;
}
.adv ul li{
  width: 300px;
  height: 200px;
  float: left;
  margin-right: 10px;
  margin-bottom: 10px;
  background: blue;
  list-style: none;
}
.adv ul li:nth-child(3n){
  margin-right: 0;
}
.adv ul li:nth-child(n+7){
  margin-bottom: 0;
}

效果图如下:

clipboard.png

  • 方法2: 原理更方法1一样.(兼容IE6+)
<!-- html -->
<div class="adv">
  <ul>
    <li></li>
    <li></li>
    <li class="no-mr"></li>
    <li></li>
    <li></li>
    <li class="no-mr"></li>
    <li></li>
    <li></li>
    <li class="no-mr no-mb"></li>
  </ul>
</div>
/* css */
*{
  margin:0;
  padding: 0;
}
.adv{
  width: 920px;
  height:620px;
  background: green;
}
.adv ul li{
  width: 300px;
  height: 200px;
  float: left;
  margin-right: 10px;
  margin-bottom: 10px;
  background: blue;
  list-style: none;
}
.no-mr{
  margin-right: 0 !important;
}
.no-mb{
  margin-bottom: 0 !important;
}

效果图同上.

望采纳,Thx!

inline-block 也行啊

常规方法是用float~

还有个方法是用inline-block

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>html5</title>
    <style type="text/css">

    .box{
        width: 30%;
        display: inline-block;
        border:1px solid #440239;
        height: 50px;
        margin: 1%;
    }
    </style>
</head>
<body>

    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
</body>
</html>

图片描述

图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
1 篇内容引用
推荐问题