答案:可通过Float、flexbox或Grid实现文章列表左右浮动布局。使用float时需设置left和right并防止塌陷;Flexbox通过align-self控制奇偶项对齐;Grid则用grid-column分配列位置,推荐新项目使用后两者。

要实现文章列表的左右浮动布局,可以通过 css 的 float 属性或更现代的 Flexbox、Grid 布局来完成。以下是几种常见且实用的方法。
使用 float 实现左右浮动
传统方式是使用 float: left 和 float: right 让列表项分别靠左和靠右排列。
示例代码:
html:
<ul class=”article-list”>
<li class=”left”>文章标题 1</li>
<li class=”right”>文章标题 2</li>
<li class=”left”>文章标题 3</li>
<li class=”right”>文章标题 4</li>
</ul>
CSS:
.article-list { list-style: none; padding: 0; overflow: hidden; }
.article-list .left { float: left; width: 48%; }
.article-list .right { float: right; width: 48%; }
.article-list li { margin-bottom: 10px; }
注意:使用 float 时,父容器建议添加 overflow: hidden 防止高度塌陷。
使用 Flexbox 实现交替左右布局
Flexbox 更灵活,适合响应式设计。可以让奇数项靠左,偶数项靠右。
立即学习“前端免费学习笔记(深入)”;
示例代码:
CSS:
.article-list {
display: flex;
flex-direction: column;
gap: 10px;
}
.article-list li:nth-child(odd) {
align-self: flex-start;
width: 48%;
}
.article-list li:nth-child(even) {
align-self: flex-end;
width: 48%;
}
这种方式无需在 HTML 中添加额外类,通过伪类选择器自动控制位置。
使用 CSS Grid 简化布局
Grid 布局可以直接定义两列,并控制每项的位置。
示例代码:
.article-list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
}
.article-list li:nth-child(odd) {
grid-column: 1;
}
.article-list li:nth-child(even) {
grid-column: 2;
}
Grid 适合固定列数的布局,结构清晰,维护方便。
基本上就这些方法。float 适合老项目兼容,Flexbox 和 Grid 更推荐用于新项目,写法简洁,响应式支持更好。根据实际需求选择即可。


