CSS: appearance

The appearance property controls whether a form control keeps its native platform styling or uses author-defined styling.

What you will learn

Minimal example

.custom-button {
  appearance: none;
  border: 1px solid currentColor;
  border-radius: .5rem;
  padding: .5rem 1rem;
}

.custom-button:focus-visible {
  outline: 3px solid #06c;
  outline-offset: 2px;
}

Removing native styling does not create a complete button design. Add clear states for focus, hover, disabled, and high-contrast environments.

Common mistakes