标签 li 是不是块级元素分析

为什么它可以设定高度,但又不像 <h1 /> 这些元素,那种感觉就像它是个“半内联"的(内联:inline[text]-level)元素。HTML 4是这样描述的:

The following elements may also be considered block-level elements since they may contain block-level elements:

  • DD – Definition description
  • DT – Definition term
  • FRAMESET – Frameset
  • LI – List item
  • TBODY – Table body
  • TD – Table data cell
  • TFOOT – Table foot
  • TH – Table header cell
  • THEAD – Table head
  • TR – Table row

这段描述中,似乎也是在说, <li /> 就是一个"半内联"的元素。当然,这个列表里面的类似于 <td /> 这些元素,也曾给我带来这样的疑惑。今天看了一下各浏览器的默认CSS。结果是这样的:

Browsers CSS
IE6/IE7 li{display:block;}
IE8+ / Webkit / Firefox / Opera li{display:list-item;}

在这里,也基本上明了了。在除 IE6/7 以外的 A-Grade 浏览器中,就是一个"半内联"的元素。提到 display:list-item; ,其实,即使现在所有的 A-Grade 浏览器都支持,用的人其实不多。为什么?其实就是没什么用。在 Quirks Mode,PPK 是这样说的:

display: list-item means that the element is displayed as a list-item, which mainly means that it has a bullet in front of it (like an UL), except in IE 5 on Mac where it gets a number (like an OL). The numbers are buggy: all previous LI’s in the page count as one, so this example starts with number 5 (the screenshot was made before I inserted my compatibility-LI’s).

Live example:

display: block

display: list-item
display: list-item

Right。其实这个意义不大。但也算是解了自己的一个疑惑。分享出来,如果你也有这样的疑惑,或许下次 Coding 的时候出现 Bug 或者其他疑问,估计也就能很快反应过来了。

相关推荐:

如何使用 Python pdfkit 基于 HTML 生成多页 PDF

本文详解如何在Django项目中利用pdfkit将多个HTML内容块分别渲染为独立PDF页面,核心是通过CSS的page-break-after:always实现精准分页。 本文详解如何在django项目中利用pdfkit将多个html内容块分别渲染为独立pdf页面,核心是通过css的`page-b...

PythonPlotly交互式图表教程_动态数据展示实战

Plotly是Python中制作交互式图表的首选工具,支持缩放、悬停、拖拽等交互功能,三步即可创建图表:准备数据、调用px.line等函数、用fig.show()显示或write_html导出;支持动画、实时刷新与用户交互驱动更新;可定制悬停信息、适配移动端并保障离线使用。 用Plotly快速创建可...

Python单元测试项目实战教程_覆盖率分析与断言应用

Python单元测试需兼顾覆盖率与精准断言:用pytest-cov生成HTML报告查漏补缺,聚焦missedlines;用原生assert验证返回值、异常和状态变化;通过parametrize覆盖边界与异常场景;在CI中设fail_under阈值强制保障质量。 写Python单元测试不只是让代码“跑...

PythonAI实战驱动学习教程_边做项目边成长

学Python做AI要动手做项目,从最小可行项目起步,边做边查文档和报错,小步迭代优化,并用Git记录每次改进过程。 学Python做AI,光看理论没用,得动手做项目。项目不是为了炫技,而是帮你把零散知识点串起来,遇到问题倒逼自己查文档、调代码、读报错——这才是真实的学习节奏。 从“能跑通”开始:选...