最轻量方案是给li设display: inline-block,但需处理换行符导致的4px间隙,推荐ul设font-size: 0再重置li字号;更可控的是ul设display: flex配合flex-wrap等属性;float会引发父容器塌陷且不支持现代布局需求。
list-item 怎么用 inline-block 并排显示
直接给
设
是最轻量的方案,但默认会有看不见的空白间隙——这是换行符和空格被渲染成文本节点导致的。不是 bug,是 HTML 解析规则。
常见错误现象:
之间出现约 4px 的不可控缝隙,即使写了
也无效。
把
的
,再单独给
设回正常字号(比如
)
或者把
的所有子节点写在一行,删掉
标签间的换行和空格(不推荐,可维护性差)
避免对
使用
(默认值),改用
或
,否则基线对齐会放大间隙感
flex 布局下 ul/li 的正确写法
用
更可控,但别直接写在
上——应该设在父容器
上。否则每个
变成独立 flex 容器,失去“列表项”语义和布局联动。
使用场景:需要等宽、居中、自动换行或响应式间距时,
比
更可靠。
立即学习
“
前端免费学习笔记(深入)
”;
设
,
控制是否折行
用
调水平对齐(
、
等),不用
默认是 flex item,不需要额外设
;若要等宽,可加
或固定
注意 Safari 旧版本对
在
上的支持不稳定,建议用
+ 显式
为什么不能只靠 float:left
确实能让
并排,但它会让父
高度塌陷——因为浮动元素脱离文档流。这不是“没写 clear”的问题,而是布局模型根本不同。
使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
下载
常见错误现象:
看起来高度为 0,背景色/边框消失,后续元素上移。
必须配合
或伪元素
才能撑开父容器
不支持垂直居中、间隙控制、响应式重排,现代项目里纯属历史包袱
如果用了 CSS Grid 或 Flex 布局,再混用
会导致意外交互(比如
会被忽略)
移动端要注意的兼容性细节
iOS Safari 12.2 之前不支持
在
上的某些组合行为;Android WebView 对
的基线计算也有差异。
性能影响:大量
用
时,若频繁增删,比
触发更多 layout 计算,但日常几十项完全无感。
加
覆盖老 iOS
避免在
上写
这类复杂表达式,部分 Android 低版本解析出错
真要兼容 IE11?那就只能退回
+ 字体大小归零法,别碰
事情说清了就结束。真正麻烦的从来不是“怎么并排”,而是并排之后的对齐、换行、间隙、塌陷、缩放、语义——这些细节堆在一起,才让一个简单的列表变得需要反复调。
lidisplay: inline-blocklimargin: 0ulfont-size: 0lifont-size: 16pxullilivertical-align: baselinetopmiddledisplay: flexliulliflexinline-blockuldisplay: flexflex-wrap: wrapjustify-contentspace-betweencentertext-alignlidisplayflex: 1widthflex: 1liflex: 0 0 autowidthfloatliululoverflow: hidden::after { content: ""; display: table; clear: both; }floatfloatfloatflex-wrap: wrapulinline-blockliflexinline-blockul { -webkit-flex-wrap: wrap; flex-wrap: wrap; }liwidth: calc(33.333% - 10px)inline-blockflex