coderef

appearanceBaseline · Widely available

The appearance CSS property controls the appearance of form controls. Using appearance: none disables any default native appearance and allows the elements to be styled with CSS.

Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Mar 14, 2022. Widely available since Sep 14, 2024.

Browser support

DesktopChrome
1–83Not supported
84+Supportedsince Jul 27, 2020
Current: 155
Edge
12–83Not supported
84+Supportedsince Jul 16, 2020
Current: 154
Firefox
1–79Not supported
80+Supportedsince Aug 25, 2020
Current: 157
Safari
1–15.3Not supported
15.4+Supportedsince Mar 14, 2022
Current: 27
MobileChrome Android
18–83Not supported
84+Supportedsince Jul 27, 2020
Current: 155
Firefox Android
4–79Not supported
80+Supportedsince Aug 31, 2020
Current: 157
Safari iOS
1–15.3Not supported
15.4+Supportedsince Mar 14, 2022
Current: 27

How to use

This feature is Baseline widely available — use it freely, no fallback needed.

Example

Full syntax and examples are on MDN: appearance.

Feature detection

CSS · check before using
@supports (appearance: initial) {
  /* styles that rely on appearance */
}

/* or in JavaScript */
if (CSS.supports("appearance", "initial")) {
  // use it
}

Sub-features

Support for each part of the feature (14). The overall table above shows when the whole feature works.

Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
appearance84848015.4848015.4
appearance.auto84848015.4848015.4
appearance.button84848015.4848015.4
appearance.checkbox84848015.4848015.4
appearance.listbox84848015.4848015.4
appearance.menulist84848015.4848015.4
appearance.menulist-button84848015.4848015.4
appearance.meter84848015.4848015.4
appearance.none84848015.4848015.4
appearance.progress-bar84848015.4848015.4
appearance.radio84848015.4848015.4
appearance.searchfield84848015.4848015.4
appearance.textarea84848015.4848015.4
appearance.textfield84848015.4848015.4