H5+CSS3之如何简单的实现自适应一排两列布局

xiaoxiao2021-02-28  45

先上效果图:

再来代码:

<body> <section> <ul class="box"> <li></li> <li></li> <li></li> <li></li> </ul> </section> </body> <style> html,body,section{ width: 100%; height: 100%; margin: 0; padding: 0; } ul,li{ list-style: none; margin: 0; padding: 0; width: 100%; } .box{ display: flex; flex-direction: row; flex-wrap: wrap; justify-content:space-between; background: darkseagreen; } .box li{ width: calc(50% - 5px); height: 100px; background:mistyrose; margin: 5px 0; } </style>

代码橙色部分为关键。运用C3的display:flex布局。

flex-direction: row; 设定元素按主轴方向(即水平方向,起点在左端)排列。

flex-wrap: wrap;默认情况下元素都排列在主轴上(即使超出),该属性设定元素超出换行。

justify-content:space-between;设定元素在主轴上的对齐方式,即两端对齐,元素中间间隔相等。

代码中的百分比决定了项目的自适应。

无上下边距方法:

把上文css中原来的margin:5px 0;换成margin-top:10px;

再nth-child选中前两个li,单独设定margin-top:0;就好啦 .box li{ width: calc(50% - 5px); height: 100px; background:mistyrose; margin-top: 10px; } .box li:nth-child(1),.box li:nth-child(2){ margin-top: 0; }

无上下边距效果图:

转载请注明原文地址: https://www.6miu.com/read-2623803.html

最新回复(0)