0

0

CSS3怎么让列表横向排列_flex布局和float对比【指南】

星夢妙者

星夢妙者

发布时间:2025-12-30 18:03:07

|

174人浏览过

|

来源于php中文网

原创

推荐用 display: flex 实现横向列表,只需在 ul 上设置 display: flex 即可自动横向排列,支持响应式、等距对齐;float 方案需手动清浮动且兼容性差,仅适用于 ie8/9 等老旧环境。

css3怎么让列表横向排列_flex布局和float对比【指南】

display: flex 让列表横向排列最直接

不用改 HTML 结构,只在父容器(比如 <ul></ul>)上加一行 CSS 就能实现横向排列,且默认自动对齐、等距、响应友好。

关键点:

  • display: flex 必须作用于列表容器(<ul></ul>),不是 <li>
  • 默认主轴是水平方向,所以 <li> 会自动横向排开
  • flex-wrap: wrap 可让超出时换行;加 justify-content: space-between 能控制间距分布
  • 注意旧版 Safari 对 flex 的兼容性:iOS 9+、Safari 9+ 基本可用,但 iOS 8 及更早需加 -webkit- 前缀
ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}
li {
  margin-right: 16px;
}
li:last-child {
  margin-right: 0;
}

float: left 还能用,但要手动清浮动

它本质是“脱离文档流”的布局方式,适合老项目或需要兼容 IE8/9 的场景,但副作用明显。

常见问题

立即学习前端免费学习笔记(深入)”;

Memo AI
Memo AI

AI音视频转文字及字幕翻译工具

下载
  • 父容器高度塌陷:必须给 <ul></ul>overflow: hidden伪元素清浮动(如 ::after + clear: both
  • <li> 需设宽高或 white-space: nowrap,否则文字换行可能破坏横排效果
  • 无法便捷控制对齐方式(比如让最后一行左对齐或居中),text-alignfloat 无效
  • 响应式调整困难:媒体查询里要反复重置 float 和宽度
ul {
  list-style: none;
  padding: 0;
  margin: 0;
  overflow: hidden; /* 清浮动 */
}
li {
  float: left;
  margin-right: 16px;
}

横向列表该选哪个?看这三点判断

不是“新就一定好”,而是看实际约束条件:

  • 要支持 IE10 以下?→ 只能用 floatflex 在 IE10 是部分支持,IE9 及以下完全不支持)
  • 列表项宽度不固定、内容长短不一?→ flex 更稳,float 容易因换行错位
  • 需要鼠标悬停时动态调整顺序(比如拖拽排序)?→ flexorder 属性可直接控制,float 得靠 JS 操作 DOM 位置

容易被忽略的细节:list-style 和 inline-block 的干扰

很多人试过 display: inline-block,结果每项之间有看不见的空隙——那其实是 HTML 中换行符和空格被渲染成空白字符导致的。这不是 bug,是规范行为。

而用 flexfloat 时,list-style(小圆点、数字等)默认还在,容易误以为“没生效”。务必显式写 list-style: none

另外:flexvertical-align 无效,别试图用它调垂直对齐;要用 align-itemsmargin: auto

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
css3教程
css3教程

php中文网为大家提供css3教程合集,CSS3的语法是建立在CSS原先版本基础上的,它允许使用者在标签中指定特定的HTML元素而不必使用多余的class、ID或JavaScript。php中文网还为大家带来css3的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

426

2023.06.14

有哪些css3渐变属性
有哪些css3渐变属性

css3中渐变属性有linear-gradient、radial-gradient、conic-gradient、repeating-linear-gradient、repeating-radial-gradient等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

143

2023.11.01

css中float用法
css中float用法

css中float属性允许元素脱离文档流并沿其父元素边缘排列,用于创建并排列、对齐文本图像、浮动菜单边栏和重叠元素。想了解更多float的相关内容,可以阅读本专题下面的文章。

594

2024.04.28

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

105

2025.10.23

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

530

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

576

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

760

2023.08.03

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

6155

2023.08.17

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

4

2026.03.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.6万人学习

CSS教程
CSS教程

共754课时 | 41.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号