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

发布于 2022-09-01 07:37:33 字数 229 浏览 23 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

橘味果▽酱 2022-09-08 07:37:33

提供两个解决方案:


  • 方法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!

幸福不弃 2022-09-08 07:37:33

inline-block 也行啊

澉约 2022-09-08 07:37:33

常规方法是用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>

图片描述

图片描述

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文