CSS 基本用户界面模块 3(CSS3 UI)

W3C 推荐标准

关于本文件的更多信息
本版本:
https://www.w3.org/TR/2026/REC-css-ui-3-20260407/
最新发布版本:
https://www.w3.org/TR/css-ui-3/
编辑草案:
https://drafts.csswg.org/css-ui-3/
以往版本:
历史记录:
https://www.w3.org/standards/history/css-ui-3/
实现报告:
https://drafts.csswg.org/css-ui-3/implementation-report
反馈:
CSSWG 问题仓库
编辑:
Tantek ÇelikMozilla
Florian Rivoal代表 Bloomberg
为本规范建议修改:
GitHub 编辑器
测试套件:
https://wpt.fyi/results/css/css-ui/

另见 翻译


摘要

本规范描述了用于 CSS 3 级(CSS level 3),为 HTML 和 XML(包括 XHTML)设定样式的用户界面相关属性和值。 它包含并扩展了 CSS 2.1 级中用户界面相关特性的属性和值。 通过多种属性和值对文档中基础的用户界面元素进行样式设置。

CSS 是一种用于描述结构化文档(如 HTML 和 XML)在屏幕、纸张等媒介上如何呈现的语言。

本文件状态

本部分描述了本文件发布时的状态。 当前 W3C 发布的文档列表和本技术报告的最新修订版, 可在 W3C 标准和草案索引 中找到。

本文件由 CSS 工作组 按照 Recommendation 路径发布为推荐标准。 文件中包含了 候选更正

W3C 推荐标准是一份经过广泛共识建设后,得到 W3C 及其成员认可,并已获得工作组成员关于免版税许可 执行承诺的规范。

候选更正在文档中已作标记。

W3C 推荐该规范作为 Web 标准广泛部署。

请通过在 GitHub 提交意见(推荐),标题包含规范代码“css-ui”,如: “[css-ui] …评论摘要…”。 所有问题和评论都被存档。 或者,也可反馈到(存档)公共邮件列表 www-style@w3.org

本文件受 2025 年 8 月 18 日版 W3C 流程文件管理。

本文件由服从 W3C 专利政策的工作组制作。 W3C 维护一份公开的专利披露列表, 该页面也包含披露专利的说明。 任何个人如果知晓某项专利并认为其包含必要声明, 必须根据 W3C 专利政策第 6 节披露信息。

1. 引言

本模块描述了使作者能够为用户界面相关特性设定样式的 CSS 属性。

CSS1 第 2.1 节 [CSS1]CSS2 第 18 章 [CSS2] 引入了若干用户界面相关的属性和值。 User Interface for CSS3 (16 February 2000) 引入了若干新的用户界面相关特性。

本规范将这些内容合并、扩展并取代之。

1.1. 目的

本规范的目的在于实现以下目标:

2. 模块交互

本文档定义了早期规范中不存在的新特性。 此外,本文档替换并取代了以下内容:

2.1. 取值定义

本规范遵循 CSS 属性定义约定(见 [CSS2]), 并使用 取值定义语法(见 [CSS-VALUES-3])。 未在本规范中定义的值类型由 CSS Values & Units [CSS-VALUES-3] 定义。 与其它 CSS 模块的组合可能会扩展这些值类型的定义。

除各属性定义中列出的特定取值外, 本规范定义的所有属性都可以将 CSS 全局关键字 作为属性值。 为了可读性,这些关键字未在每个属性定义中显式重复。

候选更正 3: [CSS-CASCADE-4][WEB-ANIMATIONS-1] 对属性的定义方式进行了细化, 为 动画类型 (animation type)计算值 (computed value) 这类概念给出了精确定义。 本规范中各属性的定义已更新为使用这些术语。 在很多情况下,这可以视为编辑性改动, 但在某些情况下,它为此前不清晰或存在歧义的行为给出了明确规定。

3. 盒模型补充

3.1. 改变盒模型:box-sizing 属性

Name: box-sizing
Value: content-box | border-box
Initial: content-box
Applies to: 所有接受 width 或 height 的元素
Inherited: no
Percentages: N/A
Computed value: 指定值
Canonical order: 依语法定义的顺序
Animation type: discrete
content-box
这是 CSS2.1 指定的 width 和 height 的行为。 指定的 width 和 height(以及相应的 min/max 属性) 分别应用于元素内容盒 (content box) 的宽度和高度。 元素的 padding 和 border 在指定的 width 和 height 之外进行布局与绘制。
border-box
应用于该元素时,width 与 height(以及相应的 min/max 属性)的长度与百分比值 决定元素的边框盒 (border box)。 即:在该元素上指定的任何 padding 和 border 都在该指定的 width 和 height 内进行布局与绘制。 内容宽度与高度通过 从指定的 widthheight 属性中,分别减去各侧的 border 和 padding 宽度计算得出。 由于内容宽度与高度 不能为负值(见 [CSS2] 第 10.2 节), 因此该计算向下限定为 0。 例如通过 getComputedStyle() 暴露的使用值 (used value) 也指向边框盒。

Note: 这是旧版 HTML 用户代理在替换元素与 input 元素上 常见实现的 width 与 height 行为。

Note: 与长度和百分比值不同, auto 这一 widthheight 的取值(以及后续规范引入的其它关键字值,除非另有说明) 不受 box-sizing 属性影响, 且始终设置内容盒的尺寸。

引入如下术语,其定义依赖于 box-sizing 的计算值而变化:

box-sizing: content-box box-sizing: border-box
min inner width min-width max(0, min-widthpadding-leftpadding-rightborder-left-widthborder-right-width)
max inner width max-width max(0, max-widthpadding-leftpadding-rightborder-left-widthborder-right-width)
min inner height min-height max(0, min-heightpadding-toppadding-bottomborder-top-widthborder-bottom-width)
max inner height max-height max(0, max-heightpadding-toppadding-bottomborder-top-widthborder-bottom-width)

CSS2 视觉格式化模型细节 [CSS2] 是在假定 box-sizing: content-box 的前提下撰写的。 为澄清在 box-sizing 所有取值下的行为,对文中内容做如下消除歧义说明:

  1. 10.3.3 中,下面语句中的第二个 width 应理解为 内容宽度 (content width)widthautoborder-left-width + padding-left + width + [...]
  2. 10.3.7 中,下式里的 width 应理解为 内容宽度 (content width)left + margin-left + border-left-width + padding-left + width + [...]
  3. 10.4 中, widthheightmin-widthmax-widthmin-heightmax-height 分别应理解为 内容宽度内容高度min inner widthmax inner widthmin inner heightmax inner height,出现在下列语句中:
    1. 暂定使用宽度被这样计算 [...]
    2. 若暂定使用宽度大于 max-width,则再次套用上述规则, 但此次将 max-width 的计算值作为 width 的计算值。
    3. 若结果宽度小于 min-width,则再次套用上述规则, 但此次将 min-width 的值作为 width 的计算值。
    4. 从表格中选出适用约束冲突对应的已解出的高度与宽度值。 取 max-width 与 max-height 为 max(min, max),以保证 min ≤ max。 在本表中 w 与 h 分别代表宽度与高度计算的结果 [...]
    5. 表格中所有这些词汇的出现
    6. 然后套用上文“宽度与外边距计算”中的规则,就好像 width 被计算为该值一样。
  4. 10.6.4 中,下式中的 height 应理解为 内容高度 (content height)top + margin-top + border-top-width + padding-top + height + [...]
  5. 10.7 中, widthheightmin-heightmax-height 分别应理解为 内容宽度内容高度min inner heightmax inner height,出现在下列语句中:
    1. 暂定使用高度被这样计算 [...]
    2. 若该暂定高度大于 max-height,则再次套用上述规则, 但此次将 max-height 的值作为 height 的计算值。
    3. 若结果高度小于 min-height,则再次套用上述规则, 但此次将 min-height 的值作为 height 的计算值。
    4. [...] 使用上文“最小值与最大值宽度”部分的算法计算使用宽度与高度。 然后套用上文“高度与外边距计算”中的规则, 并将前述所得的宽度与高度作为计算值使用。

示例:

使用 box-sizing 均分空间

本示例使用 box-sizing 在一个 div 容器内, 将两个具有固定边框尺寸的 div 水平均分空间, 否则需要额外的标记。

CSS 示例:

div.container {
  width:38em;
  border:1em solid black;
}

div.split {
  box-sizing:border-box;
  width:50%;
  border:1em silver ridge;
  float:left;
}

HTML 片段示例:

<div class="container">
<div class="split">This div occupies the left half.</div>
<div class="split">This div occupies the right half.</div>
</div>

CSS 与 HTML 示例效果演示:

This div should occupy the left half.
This div should occupy the right half.
上面两个 div 应并排显示,各自(包含边框)占其容器内容宽度的 50%。如果它们被上下堆叠,则说明你的浏览器不支持 box-sizing

4. 轮廓属性

样式表作者有时可能希望在按钮、活动表单字段、图像映射等 视觉对象周围绘制轮廓,使其更加突出。 轮廓与边框在下列方面不同:

  1. 轮廓不占空间。
  2. 轮廓可以是非矩形的。
  3. 用户代理通常会在 :focus 状态的元素上渲染轮廓。

轮廓属性用来控制这些动态轮廓的样式。

这些轮廓渲染顺序的层叠关系明确留给实现自行决定, 以便按各个平台提供更佳的用户体验。 这取代了 CSS 2.1 附录 E [CSS2] 中对轮廓层叠的定义。

键盘用户——尤其是那些可能无法以其它方式与页面交互的残障人士——依赖 :focus 状态元素上的轮廓可见, 因此作者不得在此类元素上让轮廓不可见, 除非已确保提供了替代的高亮机制。

在本 CSS3-UI 中,对变换 (transform) 应用于轮廓时应如何渲染未作规定。

4.1. 轮廓简写:outline 属性

Name: outline
Value: [ <'outline-color'> || <'outline-style'> || <'outline-width'> ]
Initial: 见各独立属性
Applies to: 所有元素
Inherited: no
Percentages: N/A
Computed value: 见各独立属性
Animation type: 见各独立属性
Canonical order: 依语法

4.2. 轮廓粗细:outline-width 属性

候选更正 2: [CSS-VALUES-4] 引入了 按边框宽度对长度进行对齐 (snapping as a border width) 的概念,作为对某些长度应用的一类取整,以保证合理的视觉显示。 将 outline-width 定义为使用该概念, 以与其它类似边框的特性保持一致。
候选更正 4: 移除基于 outline-style: none 而令 outline-width 计算值为 0 的特殊情况, 以与 column-rule-widthborder-width 所做的类似改动 保持一致。 (参见 Issue 11494。)
Name: outline-width
Value: <line-width>
Initial: medium
Applies to: 所有元素
Inherited: no
Percentages: N/A
Computed value: 绝对长度 ,并按边框宽度进行对齐 (snapped as a border width) ;若轮廓样式为 none,则为 0
Canonical order: 依语法
Animation type: length by computed value

4.3. 轮廓样式:outline-style 属性

Name: outline-style
Value: auto | <border-style>
Initial: none
Applies to: 所有元素
Inherited: no
Percentages: N/A
Computed value: 指定值
Canonical order: 依语法
Animation type: discrete

4.4. 轮廓颜色:outline-color 属性

Name: outline-color
Value: <color> | invert
Initial: invert
Applies to: 所有元素
Percentages: N/A
Computed value: invert 的计算值为 invertcurrentColor 的计算值为 currentColor(参见 currentcolor); 其它 <color> 取值参见 color 属性。
Canonical order: 依语法
Animation type: color by computed value

由轮廓属性创建的轮廓绘制在盒子“之上”, 即轮廓始终在最上层, 且不影响盒子的尺寸或位置、 以及其它任何盒子的尺寸或位置。 因此,显示或隐藏轮廓不会导致回流 (reflow)。

轮廓可以是非矩形的。 例如,当元素被分割到多行时, 轮廓应为一个或最少数量的一组轮廓, 以包围该元素的所有盒子。

轮廓的各部分应完整封闭, 而非某些边敞开 (如内联元素在多行断行时边框的表现)。

轮廓各部分不要求是矩形。 在轮廓沿着 边框边缘 (border edge) 绘制的范围内, 应跟随 border-radius 的曲线。

轮廓的位置可能受到后代盒子的影响。

用户代理应使用一种算法来确定 能恰当表现“焦点”概念的包围区域轮廓。

Note: 本规范并未定义轮廓的精确位置与形状, 但通常是紧挨着边框盒之外绘制。

outline-width 属性接受与 border-width 相同的取值 (参见 CSS Backgrounds 3 § 3.3 Line Thickness: the border-width properties)。

outline-style 属性接受与 border-style 相同的取值 (参见 CSS Backgrounds 3 § 3.2 Line Patterns: the border-style properties), 但 hidden 不是合法的轮廓样式。 此外,在 CSS3 中, outline-style 还接受值 autoauto 取值允许用户代理 渲染自定义轮廓样式, 通常为平台用户界面的默认样式, 或者为 CSS 难以细节描述的更复杂样式, 如具有半透明外像素的圆角发光轮廓等。 因此,本规范不定义在渲染 auto 样式轮廓时, 如何使用(若有的话)outline-color。 用户代理可以将 auto 视作 solid

outline-color 属性 接受所有颜色值,以及关键字 invert。 期待 invert 对屏幕像素执行颜色反转。 这是一个常见技巧,用来确保焦点边框在任何背景色下都可见。

符合规范的用户代理可以在平台不支持对屏幕像素进行颜色反转的情况下, 忽略 invert 取值。

若用户代理不支持 invert 取值, 则必须在解析阶段拒绝该取值, 且 outline-color 属性的初始值 应为关键字 currentColor

outline 是简写属性, 会同时设置 outline-styleoutline-width 以及 outline-color 三个属性。

Note: 轮廓在四边保持一致。 与边框不同, 没有 outline-topoutline-left 等属性。

本规范未定义多条重叠轮廓如何绘制, 或当盒子部分被其它元素遮盖时轮廓如何绘制。

示例:

下面示例展示了为 BUTTON 元素绘制粗轮廓:

button { outline: thick solid }

图形用户界面可在元素周围使用轮廓, 告知用户页面上哪个元素拥有焦点。 这些轮廓是对边框的补充, 开启或关闭轮廓不应导致文档回流。 焦点是文档中用户交互的对象 (例如输入文本或选择按钮)。

示例:

例如,若要在元素拥有焦点时绘制一条粗黑线, 在其 active 时绘制一条粗红线, 可使用如下规则:

:focus  { outline: thick solid black }
:active { outline: thick solid red }

Note: 由于轮廓不会影响格式化 (即在盒模型中不会为其预留空间), 因此它可能与页面上的其它元素发生重叠。

4.5. 轮廓偏移:outline-offset 属性

默认情况下,轮廓从 边框边缘 之外开始绘制。 然而,也可以通过偏移轮廓使其绘制在 边框边缘 更外侧。

Name: outline-offset
Value: <length>
Initial: 0
Applies to: 所有元素
Inherited: no
Percentages: N/A
Computed value: <length> 值,以绝对单位(px 或物理单位)表示。 绝对长度
Canonical order: 依语法
Animation type: length by computed value

outline-offset 的计算值不为 0, 则轮廓从 边框边缘 向外偏移相应距离绘制。

示例:

例如,为在焦点或 active 元素与其轮廓之间留出 2 像素的空间, 可使用如下规则:

:focus,:active  { outline-offset: 2px }

负值必须导致轮廓向内收缩至边框盒中。 轮廓绘制形状的外部高度与宽度 均不得小于 outline-width 计算值的两倍, 以确保在较大的负值下依然可以渲染轮廓。 用户代理应在两个维度上分别应用此约束。 若轮廓被绘制为多个不相连的形状, 则该约束需分别作用于每个形状。

5. 调整大小与溢出

CSS2.1 为块容器元素提供了一种机制,用于控制滚动机制 (例如滚动条)的外观。 本规范在此基础上新增了控制元素用户可调整大小的机制, 以及指定文本溢出行为的能力。

5.1. 调整盒子大小:resize 属性

resize 属性允许作者指定 元素是否可以被用户调整大小, 若可以,则沿哪个方向(轴)调整。

候选更正 1: 现在 overflow: visible 不再是 overflow 属性中唯一一个 不会令元素成为 滚动容器 (scroll container) 的值, 因此需调整 resize 属性适用的元素范围, 以匹配最初意图而非字面文本。
Name: resize
Value: none | both | horizontal | vertical
Initial: none
Applies to: 元素 overflow 值不为 visible, 且是 滚动容器 (scroll containers) 的元素 以及可选的替换元素(如图像、视频与 iframe)
Inherited: no
Percentages: N/A
Computed: as specified keyword
Canonical order: 依语法
Animation type: discrete
none
用户代理不会在元素上提供调整大小的机制, 且不给用户任何直接操控该元素大小的机制。
both
用户代理提供双向调整大小机制, 允许用户同时调整元素的高度与宽度。
horizontal
用户代理提供水平方向单向调整机制, 仅允许用户调整元素宽度。
vertical
用户代理提供垂直方向单向调整机制, 仅允许用户调整元素高度。

当前可以使用 overflow 属性 控制元素中滚动机制(若有)的外观 (例如 overflow: scrolloverflow: hidden 等)。 resize 属性的目的在于允许控制 元素上调整大小机制的外观与功能 (例如某个调整控件或小组件)。

Note: 调整大小机制不同于滚动机制, 也与任何用户代理的缩放机制无关。 滚动机制允许用户决定显示元素内容的哪一部分。 调整大小机制允许用户决定元素本身的尺寸。

resize 属性适用于 其计算的 overflow 值 不为 visible 的元素。 滚动容器 的元素。 用户代理还可以在不考虑 overflow 属性取值的情况下, 对以下对象应用该属性:

resize 属性对生成内容的影响未定义。实现不应将 resize 属性应用于生成内容。

Note: 若将来实现了 CSSPseudoElement 接口(参见 [css-pseudo-4]), resize 属性在将来可能适用于生成内容。

当元素被用户调整大小时, 用户代理在该元素的 style 属性 DOM 中 将 widthheight 属性 设置为表示用户指定尺寸的 px 单位长度值, 替换其中现有的(若有)不带 !important 的属性声明。

若元素仅在一个维度上被调整大小, 则仅设置对应的属性,而不会同时设置两个属性。

具体的调整方向 (即改变元素左上角还是右下角)可能取决于 多种 CSS 布局因素, 包括元素是否绝对定位、 是否使用 rightbottom 属性进行定位、 元素语言是否为从右到左等。 用户代理在决定如何向用户展示调整大小机制时, 应同时考虑由 CSS 布局决定的调整方向、 以及平台约定与限制。

用户代理在允许用户调整元素大小时, 必须不施加除 min-widthmax-widthmin-heightmax-height 所带来的限制以外的额外限制。

Note: 在某些情况下,用户尝试调整元素大小 似乎会被覆盖或忽略,例如由于带有 !important 的级联声明 覆盖了 DOM 中该元素 style 属性 里的 widthheight 属性。

元素 resize 属性计算值的变化 并不会重置由于用户调整大小而 对其 style 属性 所做的更改。

示例:

例如,为了让 iframe 同时支持滚动 并且 可调整大小, 可以使用如下规则:

iframe,object[type^="text/"],
object[type$="+xml"],object[type="application/xml"] {
  overflow:auto;
  resize:both;
}

5.2. 溢出省略号:text-overflow 属性

Name: text-overflow
Value: clip | ellipsis
Initial: clip
Applies to: 块容器
Inherited: no
Percentages: N/A
Computed value: as specified keyword
Canonical order: 依语法
Animation type: discrete

该属性指定当内联内容在其块容器元素 (“该块”)的内联进程方向上 超出其 末端 行盒边缘时如何呈现, 该块容器的 overflow 取值不为 visible

例如,当文本被阻止换行(如 white-space: nowrap) 或某个单词过长无法容纳时,文本就会溢出。 各取值含义如下:

clip
裁剪溢出块容器元素的内联内容。 字符可能只被部分呈现。
ellipsis
使用省略号字符 (U+2026) 呈现被裁剪的内联内容。 实现可以根据语言、书写系统或书写模式选择更合适的 省略号字符, 或在省略号字符不可用时使用三个点 "..."。

为提高可读性,本属性定义中使用了“字符”一词, 在实现时其含义为“字素簇 (grapheme cluster)” [UAX29]

对 ellipsis 取值, 实现必须在行的 末端 边缘隐藏字符和 原子内联级元素, 以便腾出空间展示省略号, 并将省略号紧挨剩余内联内容的 末端 边缘放置。 行上的第一个字符或 原子内联级元素 必须被裁剪,而非被省略号替代。

双向文本省略号示例

这些示例展示了在双向文本场景中, 为腾出省略号空间而被隐藏的是哪些字符: 即在视觉上处于该行末端边缘的字符。

CSS 示例:

div {
  font-family: monospace;
  white-space: pre;
  overflow: hidden;
  width: 9ch;
  text-overflow: ellipsis;
}

HTML 片段示例、参考渲染以及你的浏览器:

HTML 参考渲染 你的浏览器
<div>שלום 123456</div>
123456 ם…
שלום 123456
<div dir=rtl>שלום 123456</div>
…456 שלום
שלום 123456

省略细节

与省略号的用户交互

示例:

text-overflow 示例

以下示例演示了为具有溢出文本的块容器元素设置 text-overflow:

div 的 CSS 示例:

div {
  font-family:Helvetica,sans-serif; line-height:1.1;
  width:3.1em; padding:.2em; border:solid .1em black; margin:1em 0;
}

HTML 片段示例、渲染以及你的浏览器:

HTML 渲染示例 你的浏览器
<div>
CSS IS AWESOME, YES
</div>
首先,一个文本溢出到盒子外的示例。
CSS IS AWESOME, YES
<div style="text-overflow:clip; overflow:hidden">
CSS IS AWESOME, YES
</div>
其次,一个类似的盒子,其文本被裁剪至盒子内。
CSS IS AWESOME, YES
<div style="text-overflow:ellipsis; overflow:hidden">
CSS IS AWESOME, YES
</div>
第三,一个类似的盒子,使用省略号代表被裁剪的文本。
CSS IS AWESOME, YES
<div style="text-overflow:ellipsis; overflow:hidden">
NESTED
  <p>PARAGRAPH</p>
WON'T ELLIPSE.
</div>
第四,一个带有嵌套段落的盒子,用于展示匿名块盒等效性与不继承到嵌套元素的情况。
NESTED

PARAGRAPH

WON’T ELLIPSE.

Note: 省略号放置在行的哪一侧取决于块的 direction。 例如,一个 overflow hidden 的自右向左 (direction: rtl) 块会在 侧裁剪内联内容, 因此放置 text-overflow 省略号时应在 侧标识被裁剪内容。

省略号与滚动接口的交互

本节适用于 text-overflow 取值非 text-overflow:clip(即非 clip)的元素, 且其 overflow:scroll。

当某元素在文本内联进程方向上 同时具有非 clip 的 text-overflow 与 overflow:scroll, 且浏览器为其提供了滚动机制(例如元素上的滚动条、 触控滑动等), 为了更好的用户体验,还需要一些额外实现细节:

当元素发生滚动时(如由用户或 DOM 操作触发), 会显示更多内容。 text-overflow 的取值不应影响是否显示更多内容。 若设置了非 clip 的 text-overflow, 那么当更多内容被滚动进视图时, 实现应当展示所有能容纳的额外内容, 只裁剪原本就会被裁剪的内容 (不得不裁剪以便为省略号或字符串腾出空间), 直到元素被滚动到可以显示内容边缘的位置, 此时应显示真实内容而非省略号/字符串。

示例:

本示例在具有 overflow: scroll 的元素上使用 text-overflow, 以演示上述行为。

CSS 示例:

div.crawlbar {
  text-overflow: ellipsis;
  height: 2em;
  overflow: scroll;
  white-space: nowrap;
  width: 15em;
  border:1em solid black;
}

HTML 片段示例:

<div class="crawlbar">
CSS is awesome, especially when you can scroll
to see extra text instead of just
having it overlap other text by default.
</div>

CSS 与 HTML 示例效果演示:

CSS is awesome, especially when you can scroll to see extra text instead of just having it overlap other text by default.

当内容正在被滚动时,实现可以对省略号的渲染进行调整 (例如与盒子边缘对齐而非行边缘)。

6. 指针设备与键盘

6.1. 指针交互

6.1.1. 光标样式:cursor 属性

Name: cursor
Value: [<cursor-image>,]* <cursor-predefined>
Initial: auto
Applies to: 所有元素
Inherited: yes
Percentages: N/A
Computed value: 指定值,但将任何相对 URL 转为绝对 URL
Canonical order: 依语法
Animation type: discrete

当光标热点位于元素的 边框边缘 内时, 本属性指定指针设备所显示的光标类型。

Note:CSS Backgrounds 3 § 4.1 Curve Radii: the border-radius properties 所述, 边框边缘 会受到 border-radius 的影响。

在元素重叠的情况下, 由哪个元素决定光标类型取决于命中测试: 决定光标的元素是从该位置发起点击事件时 将接收该点击的元素。

Note: 命中测试的具体细节不在本规范的讨论范围内。 命中测试有望在未来版本的 CSS 或 HTML 中定义。

用户代理可以在本机 UI 控件(如滚动条、调节手柄或其它原生小部件, 例如用于某些 UA 特定实现的表单控件内部)上忽略 cursor 属性。 用户代理也可以忽略 cursor 属性, 并根据其 UI 状态显示自选光标, 例如页面无响应时显示忙碌光标, 或在进行文本选择时显示文本光标。

Note: [HTML]图像映射上的 cursor 属性 规定了特殊处理。

各取值含义如下:

<cursor-image>
cursor 属性 的第一个(可选)部分是光标图像列表。 若用户代理无法处理列表中的第一个光标, 必须尝试处理第二个,依此类推。 若用户代理无法处理任何作者定义的光标, 必须使用列表末尾的关键字光标作为回退光标。

<cursor-image> 语法如下:

<cursor-image> = <url> <number>{2}?

用户代理从 URL 指定的资源中获取光标。 符合规范的用户代理可以在 <url> 之外, 额外支持 <image>,后者是其超集。

用户代理必须支持以下图像文件格式:

此外,用户代理应支持以下图像文件格式:

用户代理还可以支持额外的文件格式,包括在 [SVG11] 中定义并以 secure static mode 或 secure animated mode 运行的 SVG [SVG2], 即便该图像没有 自然尺寸

Note: CSS 工作组起初希望 支持所有 SVG,不论是否具有自然尺寸。 由于缺少实现,对无自然尺寸 SVG 的要求 从“必须”降为“可选”。

Note: 在撰写本规范时 (2015 年春), 常见桌面浏览器中用于光标的唯一文件格式 是微软设计的 .ico 与 .cur 文件。 出于与旧内容兼容的考虑, 鼓励用户代理支持这些格式, 即便由于缺乏公开规范而无法对其作出规范性要求。 关于这些格式的一些信息可以参考 维基百科

光标图像的默认对象尺寸 为用户代理定义的某个尺寸, 应基于用户代理操作系统中 典型光标的尺寸。

具体对象尺寸 使用 默认尺寸算法确定。 若操作系统 无法 渲染超过某一尺寸的光标, 则必须将超出该尺寸的光标缩小到 系统支持的尺寸范围内, 同时保持光标图像的 自然纵横比(若有)。

该可选的两个 <number> 值给出 图像内部作为指针位置(即“热点”)的精确 X、Y 坐标, 以自图像左上角的偏移量表示。

Note: 本规范不定义 各类 <image> 的坐标系如何建立, 而将这些定义留给 [CSS4-IMAGES]

若省略该坐标, 则使用图像资源自身定义的自然热点。 若不存在自然热点, 则使用图像左上角, 即相当于指定 0 0

若热点的 X 或 Y 坐标 (无论是明确给出还是由图像决定) 超出光标图像范围, 则必须在各自维度上进行截断以适配图像。

<cursor-predefined>
必选的 <cursor-predefined> 关键字 指定要使用的预定义光标, 或当提供了 <url> 且均无法成功使用时, 所使用的“回退”光标。

完整的 § 6.1.1.1 预定义光标 列出了所有 <cursor-predefined> 关键字及其含义。

示例:光标回退

下面是使用多个 cursor 取值的示例。

:link,:visited {
    cursor: url(example.svg#linkcursor),
            url(hyper.cur),
            url(hyper.png) 2 3,
            pointer;
}

此示例为所有超链接(无论是否访问过) 设置一个外部 SVG 光标(参见 [SVG11] 第 16.8.3 节)。 不支持 SVG 光标的用户代理会直接跳到下一个取值, 尝试使用 "hyper.cur" 光标。 若该光标格式仍不被支持, 则可以尝试使用带显式热点的 "hyper.png" 光标。 最后,若用户代理不支持任何这些图像光标格式, 则会退回到列表末尾的取值, 渲染 pointer 光标。

6.1.1.1. 预定义光标

<cursor-predefined> 产生式涵盖了一组 大多数操作系统上都支持的预定义光标。 其语法为:

<cursor-predefined> = auto | default | none |
  context-menu | help | pointer | progress | wait |
  cell | crosshair | text | vertical-text |
  alias | copy | move | no-drop | not-allowed | grab | grabbing |
  e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize |
  ew-resize | ns-resize | nesw-resize | nwse-resize |
  col-resize | row-resize |
  all-scroll |
  zoom-in | zoom-out

<cursor-predefined> 关键字有如下含义与典型渲染(示意):

通用光标
auto
用户代理根据当前上下文决定显示何种光标: auto 在可选文本或可编辑元素上表现如 text, 其余情况表现如 default
default
平台相关的默认光标。通常呈现为一个箭头。
none
该元素上不渲染光标。
链接与状态光标
context-menu
表示当前对象存在上下文菜单。 通常呈现为箭头旁带有小菜单图标。
help
表示当前对象存在帮助信息。 通常呈现为问号或对话气泡。
pointer
表示指向链接的光标。
progress
进度指示器。程序正在处理, 但与 wait 不同之处在于用户仍可与程序交互。 通常呈现为彩色转圈、 或者箭头旁带手表/沙漏。
wait
表示程序正忙,用户应等待。 通常呈现为手表或沙漏。
选择光标
cell
表示可选择某个单元或一组单元。 通常呈现为中心带点的粗十字。
crosshair
简单的十字光标(例如短线段组成的 “+” 号)。 通常用于表示二维位图选区模式。
text
表示可选择的文本。通常呈现为垂直 I 形光标。 用户代理可以在垂直文本上自动显示水平 I 形光标 (例如与 vertical-text 关键字使用同一光标), 或对于任意角度的文本, 显示任意角度的 I 形光标。
vertical-text
表示可选择的垂直文本。通常呈现为水平 I 形光标。
拖放光标
alias
表示将创建某物的别名/快捷方式。 通常呈现为箭头旁带小弯箭头。
copy
表示要复制某物。 通常呈现为箭头旁带小加号。
move
表示要移动某物。
no-drop
表示拖拽项不能在当前光标位置释放。 通常呈现为手或指针旁带小禁用符号(带斜杠小圆圈)。
not-allowed
表示请求的操作不会被执行。 通常呈现为带斜杠的圆圈。
grab
表示某物可以被抓取(拖拽以移动)。 通常呈现为手背朝上的张开手掌。
grabbing
表示某物正在被抓取(拖拽以移动)。 通常呈现为手背朝上的握拳,手指大部分不可见。
调整大小与滚动光标
e-resize
n-resize
ne-resize
nw-resize
s-resize
se-resize
sw-resize
w-resize
表示某条边将被移动。例如, se-resize 通常用于从盒子的 东南角开始移动时。
ew-resize
ns-resize
nesw-resize
nwse-resize
表示双向调整大小光标。
col-resize
表示某项/列可以水平调整大小。 通常呈现为左右箭头中间带一条竖线。
row-resize
表示某项/行可以垂直调整大小。 通常呈现为上下箭头中间带一条横线。
all-scroll
表示可向任意方向滚动。 通常呈现为上下左右箭头中间带一点。
缩放光标
zoom-in
zoom-out
表示某物可以缩放(放大或缩小), 通常分别呈现为中心带 “+” 或 “−” 的放大镜, 对应 zoom-inzoom-out
6.1.1.2. 画布的光标

文档的 画布 (canvas) 是渲染文档的无限平面 [CSS2]。 由于没有元素对应该画布, 为了允许在不位于任何元素上时设置光标样式, 画布光标会复用根元素的光标。 然而,若根元素不生成任何盒子 (例如根元素设置了 display: none), 则画布光标应为平台相关的默认光标。

Note: 某个元素也可能不可见, 但依然生成盒子。例如, 若该元素设置为 visibility: hidden 而非 display: none, 则依然会为其生成盒子,且其光标将用于画布。

6.2. 插入光标

6.2.1. 插入光标着色:caret-color 属性

Name: caret-color
Value: auto | <color>
Initial: auto
Applies to: 所有元素
Inherited: yes
Percentages: N/A
Computed value: auto 的计算值为 autocurrentColor 的计算值为 currentColor(参见 currentcolor); 其它 <color> 取值参见 color 属性。
Canonical order: 依语法
Animation type: color by computed value
auto
用户代理应使用 currentColor。 用户代理可以自动调整插入光标的颜色, 以确保与周围内容具有良好的可见性和对比度, 调整可基于 currentColor、背景、阴影等因素。
<color>
使用指定颜色绘制插入光标。

插入光标是一个可见指示符, 用于表示在某元素中插入文本(及可能其他内容)的位置。 本属性控制该可见指示符的颜色。

Note: 光标形状与闪烁行为不在本特性范围内,因此未作规定。

Note: 用户代理可能存在额外被视为“光标”的内容。 例如,有些用户代理会显示“导航光标”, 类似插入光标但可以在不可编辑文本中移动, 在功能上也属于光标。 另一方面,当 cursor 属性为 auto, 或当指向元素且其 cursor 属性为 textvertical-text 时, 所显示的光标图像尽管有时看起来像光标,但其本质是“光标 (cursor)”,而非“插入光标 (caret)”。

示例:一个 caret-color:#00aacc; 的 textarea

6.3. 键盘控制

6.3.1. 已废弃:ime-mode 属性

“ime-mode” 是某些浏览器曾部分实现的属性, 但存在问题,并被本规范正式废弃。

用户代理不应支持 ime-mode 属性。

作者不得使用 ime-mode 属性。

用户只能在修复类用例中使用 ime-mode, 以便针对问题站点和旧实现进行绕过, 例如使用如下用户样式表规则:

示例:用户偏好

input[type=password] {
  ime-mode: auto !important;
}

上例 CSS 可放入用户样式表文件中, 以强制密码输入字段使用默认行为。

本规范刻意不尝试记录旧 ime-mode 实现的功能, 也不说明它们具体支持什么, 因为没有理由推动或推荐沿用这些路径。

Note: 存在若干 [HTML] 特性,作者应优先使用它们向用户代理提供信息, 以帮助其提供更好的输入体验:

附录 A: 致谢

本附录为非规范性内容。

本规范的大部分编辑与撰写工作 自 1999 年起由 Tantek Çelik 完成, 最初代表微软,之后作为受邀专家, 最近则代表 Mozilla。

感谢 Florian Rivoal(代表 Bloomberg 参与本规范), 他近期的工作包括整理 www-style 邮件中的问题、 提出解决方案与修改建议, 特别是为 box-sizing 属性 进行研究并撰写了更完善的细节说明。

感谢以下人员的反馈与贡献: Rossen AtanassovTab AtkinsL. David BaronBert BosMatthew BrealeyRick ByersAda ChanJames CraigMichael CooperAxel DahmenMichael DayMicah DubinkoElika E.Steve FalkenburgAndrew FedonioukAl GilmanIan HicksonBjoern HoehrmannAlan HoganDavid HyattRichard IshidaSho KuwamotoYves LafonStuart LangridgeSusan LeschPeter LinssKang-Hao LuMasayuki NakanoMats PalmgrenBrad PettitChris RebertFrançois RemyAndrey RybkaSimon SapinAlexander SavenkovSebastian SchnitzenbaumerLea VerouEtan WexlerDavid WoolleyFrank YanBoris Zbarsky 以及 Domel

附录 B:变更

本附录为非规范性内容。

来自 2018 年 6 月 21 日推荐标准 (REC) 的变更

来自 2017 年 3 月 2 日候选推荐标准 (CR) 的变更

附录 C:隐私注意事项

W3C TAG 正在制定一份 安全与隐私自我审查问卷, 用于规范编辑者填写说明性回答。

根据 “需要考虑的问题”

  1. 本规范是否涉及可识别个人身份信息?

    否。

  2. 本规范是否涉及高价值数据?

    否。

  3. 本规范是否为某个源引入跨浏览会话持久存在的新状态?

    否。

  4. 本规范是否将任何持久的跨源状态暴露给 Web?

    否。

  5. 本规范是否向某个源暴露了其当前无法访问的任何其它数据?

    否。

  6. 本规范是否允许某个源访问用户位置?

    否。

  7. 本规范是否允许某个源访问用户设备上的传感器?

    否。

  8. 本规范是否允许某个源访问用户本地计算环境的某些方面?

    否。

  9. 本规范是否允许某个源访问其它设备?

    否。

  10. 本规范是否向 Web 暴露临时标识符?

    否。

  11. 本规范在第一方与第三方上下文中是否有所区分?

    否。

  12. 本规范在用户代理“隐身模式”下应如何工作?

    无差别。

  13. 本规范是否将数据持久化到用户本地设备?

    否。

附录 D:安全注意事项

本附录为非规范性内容。

W3C TAG 正在制定一份 安全与隐私自我审查问卷, 用于规范编辑者填写说明性回答。

根据 “需要考虑的问题”

  1. 本规范是否启用新的脚本执行/加载机制?

    加载方面是的,执行方面不是。 cursor 属性 接受 <image> 取值,其中可能包含需要加载的 URL。 这些 URL 可以指向包含脚本的 SVG 文档, 但本规范要求不得执行这些脚本。

  2. 本规范是否允许某个源在一定程度上控制用户代理的原生 UI?

    是。cursorcaret-color 属性 允许页面改变用户代理原生 UI 中光标与文本插入光标的显示。 此外,outline-style 属性的 auto 取值 (以及 outline 简写) 允许页面在任意元素周围展示潜在的原生焦点轮廓样式。

  3. 本规范是否允许降低默认安全特性?

    否。

附录 E:HTML 默认样式表补充

本附录为非规范性内容。

以下是对基础样式表的潜在补充,用于表达 HTML 表单控件及少量动态呈现属性:

:enabled:focus {
  outline: 2px inset;
}

button,
input[type=button],
input[type=reset],
input[type=submit],
input[type=checkbox],
input[type=radio],
textarea,
input,
input[type=text],
input[type=password],
input[type=image] {
  display: inline-block;
}

input[type=button],
input[type=reset],
input[type=submit],
input[type=checkbox],
input[type=radio],
input,
input[type=text],
input[type=password],
input[type=image] {
  white-space: nowrap;
}

button {
  /* 特别是对 BUTTON 标签的空白处理 */
  white-space:normal;
}

input[type=reset]:lang(en) {
/* HTML input type=reset 按钮的默认文本内容,按语言区分 */
  content: "Reset";
}

input[type=submit]:lang(en) {
/* HTML input type=submit 按钮的默认文本内容,按语言区分 */
  content: "Submit";
}

/* 用户代理应为其它语言使用相应的 Reset/Submit 规则。 */

input[type=button],
input[type=reset][value],
input[type=submit][value] {
/* HTML “input” 按钮的文本内容/标签 */
  content: attr(value);
}

textarea {
/* 特别是对 TEXTAREA 标签的空白处理 */
  white-space:pre-wrap;
  resize: both;
}

input[type=hidden] {
/* 特别是对 HTML hidden 文本字段的外观 */
  display: none !important;
}

input[type=image] {
  content: attr(src,url);
  border: none;
}

select[size] {
/* HTML4/XHTML1 中 size 大于 1 的 <select> —— 列表外观 */
  display: inline-block;
  height: attr(size,em);
}

select, select[size=1] {
/* HTML4/XHTML1 中无 size 或 size=1 的 <select> —— 下拉菜单外观 */
  display: inline-block;
  height: 1em;
  overflow: hidden;
}

select[size]:active {
/* 处于活动状态的 size 大于 1 的 HTML <select> —— 活动列表外观 */
  display: inline-block;
}

optgroup, option {
  display: block;
  white-space: nowrap;
}

optgroup[label], option[label] {
  content: attr(label);
}

option[selected]::before {
  display: inline;
  content: check;
}

  /* 尽管 FRAME 调整大小未被本规范直接涵盖,
     下面规则可以提供合理行为的近似表现。 */

/*

frame {
  resize:both;
}
frame[noresize] {
  resize:none
}

*/

一致性

文档约定

一致性要求通过描述性断言与 RFC 2119 术语相结合来表达。 本文档规范性部分中的关键词 “MUST”、“MUST NOT”、“REQUIRED”、“SHALL”、“SHALL NOT”、“SHOULD”、“SHOULD NOT”、“RECOMMENDED”、“MAY” 和 “OPTIONAL” 均按照 RFC 2119 中的定义解释。 但为了易读性,本规范并未将这些词全部大写。

除明确标注为非规范性的部分、示例和注释外,本规范的所有文本均为规范性内容。[RFC2119]

本规范的示例以“for example(例如)”开头,或 通过 class="example" 与规范性文本区分,如下所示:

这是一个说明性范例。

补充性注记以“Note”开头,并通过 class="note" 与规范性文本区分,如下所示:

注,这是一条说明性注释。

建议性内容为规范性部分,格式上强调以引起特殊关注, 并通过 <strong class="advisement"> 与其他规范性内容区分,如下所示: 用户代理必须提供可访问性替代方案。

一致性类别

本规范定义三种一致性类别:

样式表
一份CSS 样式表
渲染器
一种UA, 负责解释样式表语义并渲染使用这些样式表的文档。
创作工具
一种UA, 负责编写样式表。

如果某样式表中使用了本模块定义语法的所有声明,且这些声明 均符合通用 CSS 文法及本模块内各特性的专用文法, 则该样式表符合本规范。

如果某渲染器除了能依据相应规范解释样式表外, 还能通过正确解析并据此渲染文档,支持本规范定义的所有特性, 则该渲染器符合本规范。 然而,由于设备限制导致的 UA 渲染能力不足,并不会 使 UA 不符合规范。(例如,UA 不要求在单色显示器上渲染颜色。)

如果某创作工具输出的样式表在语法上符合通用 CSS 文法 及本模块内各特性的专用文法, 并且满足本模块中描述的所有其他样式表一致性要求, 则该创作工具符合本规范。

部分实现

为了让作者能够利用向前兼容的解析规则指定回退值, CSS 渲染器必须 将所有不具备可用支持级别的 at 规则、属性、属性值、关键字 及其他语法结构视为无效,并(在合适情况下) 忽略。 特别是,用户代理不得在单条多值属性声明中 有选择地忽略不支持的组件值而保留支持的值: 一旦声明中有任何值被视为无效(不支持的值必须如此对待), CSS 要求整个声明被忽略。

不稳定与专有功能的实现

为避免与未来CSS稳定特性冲突, CSS 工作组建议遵循最佳实践 来实现不稳定特性以及 专有扩展

非实验性实现

当某规范进入候选推荐(CR)阶段后, 可以进行非实验性实现,且实现者应为任何可证明符合规范 正确实现的 CR 级特性发布无前缀实现。

为确保并维护 CSS 在不同实现间的互操作性, CSS 工作组要求非实验性 CSS 渲染器 在发布任何特性的无前缀实现前, 向 W3C 提交实现报告(如有必要,还要提交用于该报告的测试用例)。 提交给 W3C 的测试用例将由 CSS 工作组审查和修正。

关于提交测试用例和实现报告的更多信息, 可访问 CSS 工作组网站 https://www.w3.org/Style/CSS/Test/ 查询。 如有疑问请发邮件至 public-css-testsuite@w3.org 邮件列表。

索引

本规范定义的术语

引用定义的术语

参考文献

规范性引用

[CSS-BACKGROUNDS-3]
Elika Etemad; Brad Kemper. CSS Backgrounds and Borders Module Level 3. 2024年3月11日. CRD. URL: https://www.w3.org/TR/css-backgrounds-3/
[CSS-CASCADE-5]
Elika Etemad; Miriam Suzanne; Tab Atkins Jr.. CSS Cascading and Inheritance Level 5. 2022年1月13日. CR. URL: https://www.w3.org/TR/css-cascade-5/
[CSS-COLOR-4]
Tab Atkins Jr.; Chris Lilley; Lea Verou. CSS Color Module Level 4. 2026年3月31日. CRD. URL: https://www.w3.org/TR/css-color-4/
[CSS-COLOR-5]
Chris Lilley; Una Kravets; Lea Verou. CSS Color Module Level 5. 2026年3月25日. WD. URL: https://www.w3.org/TR/css-color-5/
[CSS-IMAGES-3]
Tab Atkins Jr.; Elika Etemad; Lea Verou. CSS Images Module Level 3. 2023年12月18日. CRD. URL: https://www.w3.org/TR/css-images-3/
[CSS-OVERFLOW-3]
Elika Etemad; Florian Rivoal. CSS Overflow Module Level 3. 2025年10月7日. WD. URL: https://www.w3.org/TR/css-overflow-3/
[CSS-VALUES-3]
Tab Atkins Jr.; Elika Etemad. CSS Values and Units Module Level 3. 2024年3月22日. CRD. URL: https://www.w3.org/TR/css-values-3/
[CSS-VALUES-4]
Tab Atkins Jr.; Elika Etemad. CSS Values and Units Module Level 4. 2024年3月12日. WD. URL: https://www.w3.org/TR/css-values-4/
[CSS-WRITING-MODES-4]
Elika Etemad; Koji Ishii. CSS Writing Modes Level 4. 2019年7月30日. CR. URL: https://www.w3.org/TR/css-writing-modes-4/
[CSS2]
Bert Bos; et al. Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification. 2011年6月7日. REC. URL: https://www.w3.org/TR/CSS2/
[HTML]
Anne van Kesteren; et al. HTML Standard. 现行标准. URL: https://html.spec.whatwg.org/multipage/
[PNG]
Chris Lilley; et al. Portable Network Graphics (PNG) Specification (Third Edition). 2025年6月24日. REC. URL: https://www.w3.org/TR/png-3/
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. 1997年3月. 最佳当前实践. URL: https://datatracker.ietf.org/doc/html/rfc2119
[SVG11]
Erik Dahlström; et al. Scalable Vector Graphics (SVG) 1.1 (Second Edition). 2011年8月16日. REC. URL: https://www.w3.org/TR/SVG11/
[SVG2]
Amelia Bellamy-Royds; et al. Scalable Vector Graphics (SVG) 2. 2018年10月4日. CR. URL: https://www.w3.org/TR/SVG2/
[UAX29]
Josh Hadley. Unicode Text Segmentation. 2025年8月17日. Unicode 标准附件#29. URL: https://www.unicode.org/reports/tr29/tr29-47.html
[WEB-ANIMATIONS-1]
Brian Birtles; et al. Web Animations. 2023年6月5日. WD. URL: https://www.w3.org/TR/web-animations-1/

补充性引用

[CSS-CASCADE-4]
Elika Etemad; Tab Atkins Jr.. CSS Cascading and Inheritance Level 4. 2022年1月13日. CR. URL: https://www.w3.org/TR/css-cascade-4/
[CSS-GAPS-1]
Kevin Babbitt. CSS Gap Decorations Module Level 1. 2026年2月27日. WD. URL: https://www.w3.org/TR/css-gaps-1/
[CSS-PSEUDO-4]
Elika Etemad; Alan Stearns. CSS Pseudo-Elements Module Level 4. 2025年6月27日. WD. URL: https://www.w3.org/TR/css-pseudo-4/
[CSS-WRITING-MODES-3]
Elika Etemad; Koji Ishii. CSS Writing Modes Level 3. 2019年12月10日. REC. URL: https://www.w3.org/TR/css-writing-modes-3/
[CSS1]
Håkon Wium Lie; Bert Bos. Cascading Style Sheets, level 1. 2018年9月13日. REC. URL: https://www.w3.org/TR/CSS1/
[CSS4-IMAGES]
Elika Etemad; Tab Atkins Jr.; Lea Verou. CSS Images Module Level 4. 2025年9月30日. WD. URL: https://www.w3.org/TR/css-images-4/

属性索引

名称 取值 初始值 适用对象 继承 %百分比 动画类型 规范顺序 计算值
box-sizing content-box | border-box content-box 所有接受 width 或 height 的元素 N/A 离散 按语法 指定值
caret-color auto | <color> auto 所有元素 N/A 按计算值着色 按语法 auto 的计算值为 auto; currentColor 的计算值为 currentColor(见 currentcolor); 其它 <color> 见 color 属性。
cursor [<cursor-image>,]* <cursor-predefined> auto 所有元素 N/A 离散 按语法 与指定一致,仅将相对 URL 转绝对
outline [ <'outline-color'> || <'outline-style'> || <'outline-width'> ] 见各独立属性 所有元素 N/A 见各独立属性 按语法 见各独立属性
outline-color <color> | invert invert 所有元素 N/A 按计算值着色 按语法 invert 的计算值为 invert; currentColor 的计算值为 currentColor(见 currentcolor); 其它 <color> 见 color 属性。
outline-offset <length> 0 所有元素 N/A 按计算值的长度 按语法 绝对单位(px或物理单位)的 <length>;绝对长度
outline-style auto | <border-style> none 所有元素 N/A 离散 按语法 按指定
outline-width <line-width> medium 所有元素 N/A 按计算值的长度 按语法 绝对长度, 边框宽度对齐;style 为 none 时为0
resize none | both | horizontal | vertical none overflow 非 visible、是滚动容器 或可替换元素如图片、视频、iframe N/A 离散 按语法 按指定关键字
text-overflow clip | ellipsis clip 块容器 N/A 离散 按语法 按指定关键字