外观
appearance
CSS 属性用于根据操作系统的主题显示具有平台特定样式的 UI 元素。
试一试
在标准化之前,此属性允许将元素显示为小部件,例如按钮或复选框。这被认为是一个错误的功能,现在鼓励作者仅使用标准关键字。
注意:如果您希望在网站上使用此属性,则应非常小心地对其进行测试。尽管它在大多数现代浏览器中受支持,但其实现方式有所不同。在旧版浏览器中,即使是 none
关键字对不同浏览器中的所有表单元素也没有相同的效果,并且某些浏览器根本不支持它。在新版浏览器中,差异较小。
语法
css
/* CSS Basic User Interface Module Level 4 values */
appearance: none;
appearance: auto;
appearance: menulist-button;
appearance: textfield;
/* Global values */
appearance: inherit;
appearance: initial;
appearance: revert;
appearance: revert-layer;
appearance: unset;
/* <compat-auto> values have the same effect as 'auto' */
appearance: button;
appearance: checkbox;
值
对于以下关键字,用户代理会根据元素选择合适的样式。提供了一些示例,但列表并不详尽。
none
-
隐藏小部件的某些功能,例如在选择元素中显示的箭头,指示列表可以展开。
auto
-
在没有特殊样式的元素上充当
none
。 <compat-special>
-
menulist-button
或textfield
之一。这两个值在没有特殊样式的元素上等效于auto
。 <compat-auto>
-
可能的值为
button
、checkbox
、listbox
、menulist
、meter
、progress-bar
、push-button
、radio
、searchfield
、slider-horizontal
、square-button
和textarea
。等效于auto
的关键字,用于保持与旧版浏览器的兼容性。
非标准值
以下值可能在使用 -moz-appearance
或 -webkit-appearance
前缀的历史浏览器版本中可用,但在标准 appearance
属性中不可用。
非标准值
- Firefox 条目指示使用
-moz-appearance
的支持。 - 下面的 Chrome、Edge 和 Safari 条目指示对使用
-webkit-appearance
供应商前缀属性的值的支持的版本。 - 带有星号 (*) 的值有明确的删除意图。
- 对于浏览器版本和值的每个单元格
Y{version}
:表示值在{version}
及之前版本中受支持N{version}
:支持在早于{version}
的版本中被删除- 空白单元格表示从未添加支持
值 | Safari | Firefox | Chrome | Edge |
---|---|---|---|---|
attachment |
Y(13.1) | |||
borderless-attachment |
Y(13.1) | |||
button-bevel |
Y(13.1) | N(75) | N(80) | |
caps-lock-indicator |
Y(13.1) | N(80) | ||
caret |
Y(13.1) | N(75) | Y(73) | N(80) |
checkbox-container |
N(75) | |||
checkbox-label |
N(75) | |||
checkmenuitem |
N(75) | |||
color-well |
Y(13.1) | |||
continuous-capacity-level-indicator |
Y(13.1) | |||
default-button |
Y(13.1) | N(80) | ||
discrete-capacity-level-indicator |
Y(13.1) | |||
inner-spin-button |
Y(13.1) | N(75) | Y(118) * | Y(119) |
image-controls-button |
Y(13.1) | |||
list-button |
Y(13.1) | |||
listitem |
Y(13.1) | N(75) | Y(73) | N(80) |
media-enter-fullscreen-button |
Y(13.1) | Y(73) | ||
media-exit-fullscreen-button |
Y(13.1) | Y(73) | ||
media-fullscreen-volume-slider |
Y(13.1) | |||
media-fullscreen-volume-slider-thumb |
Y(13.1) | |||
media-mute-button |
Y(13.1) | N(80) | ||
media-play-button |
Y(13.1) | N(80) | ||
media-overlay-play-button |
Y(13.1) | Y(73) | ||
media-return-to-realtime-button |
Y(13.1) | |||
media-rewind-button |
Y(13.1) | |||
media-seek-back-button |
Y(13.1) | N(73) | ||
media-seek-forward-button |
Y(13.1) | N(73) | ||
media-toggle-closed-captions-button |
Y(13.1) | Y(73) | ||
media-slider |
Y(13.1) | Y(117) | Y(80) | |
media-sliderthumb |
Y(13.1) | Y(117) | Y(80) | |
media-volume-slider-container |
Y(13.1) | Y(73) | ||
media-volume-slider-mute-button |
Y(13.1) | |||
media-volume-slider |
Y(13.1) | Y(117) | Y(80) | |
media-volume-sliderthumb |
Y(13.1) | Y(117) | Y(80) | |
media-controls-background |
Y(13.1) | Y(73) | ||
media-controls-dark-bar-background |
Y(13.1) | |||
media-controls-fullscreen-background |
Y(13.1) | Y(73) | ||
media-controls-light-bar-background |
Y(13.1) | |||
media-current-time-display |
Y(73) | |||
media-time-remaining-display |
Y(13.1) | Y(73) | ||
menulist-text |
Y(13.1) | N(75) | Y(73) | N(80) |
menulist-textfield |
Y(13.1) | N(75) | Y(73) | N(80) |
meterbar |
Y(100) | |||
number-input |
Y(75) | |||
progress-bar-value |
Y(13.1) | Y(73) | ||
progressbar |
Y(100) | |||
progressbar-vertical |
Y(75) | |||
range |
Y(75) | |||
范围滑块 |
Y(75) | |||
评分等级指示器 |
Y(13.1) | |||
相关性等级指示器 |
Y(13.1) | |||
水平刻度 |
Y(75) | |||
刻度滑块结束 |
Y(75) | |||
水平刻度滑块 |
Y(75) | |||
刻度滑块开始 |
Y(75) | |||
刻度滑块刻度 |
Y(75) | |||
垂直刻度滑块 |
Y(75) | |||
垂直刻度 |
Y(75) | |||
水平滚动条滑块 |
Y(75) | |||
垂直滚动条滑块 |
Y(75) | |||
水平滚动条轨道 |
Y(75) | |||
垂直滚动条轨道 |
Y(75) | |||
搜索字段装饰 |
Y(13.1) | N(80) | ||
搜索字段结果装饰 |
Y(13.1) | N(75) | N(73) | N(80) |
搜索字段结果按钮 |
Y(13.1) | N(80) | ||
搜索字段取消按钮 |
Y(13.1) | N(75) | Y(118) * | Y(119) |
快照插件覆盖层 |
Y(13.1) | |||
表单 |
||||
垂直滑块 |
Y(118) * | Y(119) | ||
水平滑块滑块 |
Y(117) | Y(80) | ||
垂直滑块滑块 |
Y(117) | Y(80) | ||
多行文本字段 |
Y(100) | |||
苹果支付按钮 |
Y(13.1) |
正式定义
正式语法
示例
应用自定义样式
以下示例展示了如何移除复选框和选择元素的默认样式,并应用自定义样式。复选框的外观更改为圆形,选择元素展示了如何移除指示列表可以展开的箭头。
HTML
html
<input type="checkbox" />
<input type="checkbox" checked />
<select>
<option>default</option>
<option>option 2</option>
</select>
<select class="none">
<option>appearance: none</option>
<option>option 2</option>
</select>
CSS
css
input {
appearance: none;
width: 1em;
height: 1em;
display: inline-block;
background: red;
}
input:checked {
border-radius: 50%;
background: green;
}
select {
border: 1px solid black;
font-size: 1em;
}
select.none {
appearance: none;
}
结果
规范
规范 |
---|
CSS 基本用户界面模块级别 4 # 外观切换 |
浏览器兼容性
BCD 表格仅在浏览器中加载