Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →The CSS appearance property controls whether an element uses the browser or operating system’s native styling for UI controls. It is most often used with form elements such as buttons, checkboxes, radio buttons, text fields, search inputs, and select menus, where default rendering can vary noticeably between browsers and platforms.
By adjusting appearance, developers can remove native control styling and apply custom CSS for a more consistent interface. This is useful when building design systems, branded forms, or components that need to look similar across Chrome, Safari, Firefox, Edge, iOS, Android, macOS, and Windows.
As an Amazon Associate I earn from qualifying purchases.
Used carefully, appearance can improve visual consistency without sacrificing usability. The property also requires attention to browser support, prefixed values, focus states, keyboard interaction, and accessibility so that custom controls remain clear, operable, and familiar to users.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
What the CSS appearance Property Does
The CSS appearance property controls whether an element is rendered with platform-native styling or with a more neutral, author-controlled presentation. It is most often used on form controls such as <button>, <input>, <select>, <textarea>, checkboxes, and radio buttons. These elements are not plain boxes by default: browsers apply built-in styles that often come from the operating system, including borders, gradients, shadows, inner padding, focus rings, dropdown arrows, and specialized control shapes.
#1 Best Overall
- It is NOT a Case: The rubber outer skin is only used as a replacement parts of the defender case, it is not a complete phone case
- The replacement part is only compatible with Otterbox defender series case, it is not compatible with commuter series or any others
- The outer skin is only compatible with iPhone 13 case, it is not compatible with iPhone 13 Pro/13 Pro Max case
- Perfect substitute: Strong toughness, not easy to scratch
- If any problem of the product, please return it at any time
When a browser gives a form control its native look, the same HTML can appear noticeably different across macOS, Windows, iOS, Android, Chrome, Safari, and Firefox. For example, a search input may show a rounded field with a built-in clear button in one browser, while another treats it much like a standard text input. A button may have a system gradient or platform-specific border radius. The appearance property lets developers reduce or remove those native visual treatments so CSS rules such as border, background, padding, and border-radius can define the control more consistently.
The most common use is appearance: none;. This value asks the browser to suppress the element’s default native styling where supported. After that, the developer can rebuild the visual design with standard CSS. For instance, applying appearance: none; to a <select> can remove the browser’s default dropdown styling, allowing a custom border, background color, spacing, and arrow indicator. On text inputs, it can help remove browser-specific inner effects or specialized styling applied to search fields. On buttons, it can make the element behave more like a regular CSS-styled box while keeping its semantic role and keyboard behavior.
The property does not remove the element’s meaning from the document, and it does not replace HTML semantics. A native <button> remains a button, and a native <select> remains a select control, even if its visual appearance is reset. This distinction matters because developers can customize the look of a control while preserving built-in behaviors such as form submission, keyboard interaction, focus management, and accessibility tree exposure. In many cases, using appearance on real form elements is safer than recreating controls from generic <div> or <span> elements.
Free tools Windows power users keep installed
One-click scans. No signup required.
Typical effects of using appearance
- Native styling can be reduced: default borders, backgrounds, shadows, and control-specific decorations may be removed.
- Custom CSS becomes more predictable: properties such as
height,padding, andborderare easier to align across browsers. - Some built-in UI parts may disappear: select arrows, search field decorations, spinners, or platform-specific button styling can be affected depending on the browser and control.
- Functionality usually remains: the element generally keeps its native behavior, provided the developer does not hide focus styles or break interaction patterns with additional CSS.
Developers should think of appearance as a reset tool rather than a complete styling system. It clears away parts of the browser’s default presentation so a design system can apply consistent rules. After using it, the control still needs deliberate styling for normal, hover, active, disabled, invalid, and focused states. Without those follow-up styles, controls can become visually unclear, especially for keyboard users or users relying on high contrast settings.
Common Values and Browser Prefixes
The appearance property accepts a small set of values in modern CSS, but its behavior can vary because form controls are deeply tied to browser and operating system rendering. In current use, the most practical values are auto and none. Older prefixed implementations, especially -webkit-appearance and -moz-appearance, also support many control-specific keywords, though most of those are now best avoided in production CSS unless you are targeting a very specific browser behavior.
| Value | Typical effect | Common use |
|---|---|---|
auto |
Uses the platform’s default native styling for the element. | Keeping form controls familiar and consistent with the user’s device. |
none |
Removes much or all native widget styling so custom CSS can take over. | Custom checkboxes, radio buttons, search fields, buttons, and select controls. |
textfield |
May make an element render like a text input in some engines. | Legacy or browser-specific styling; generally not recommended for broad layouts. |
button |
May apply button-like native styling in older implementations. | Legacy CSS; usually replaced by explicit border, background, and padding rules. |
menulist |
May apply select-menu styling in some prefixed implementations. | Older select styling approaches, especially in WebKit-based browsers. |
For most modern projects, appearance: none; is the value developers reach for when they need consistent cross-browser styling. It is commonly used on <input>, <button>, <select>, and sometimes <textarea>. For example, a browser may give a search input rounded corners, an inner cancel button, or platform-specific shadows. Applying appearance: none; helps remove those defaults so properties such as border, border-radius, background, box-shadow, and padding produce a more predictable result.
Browser prefixes are still relevant when supporting older Safari, older iOS WebKit, and some legacy Firefox versions. A defensive declaration usually places prefixed properties before the standard one, allowing newer browsers to use the final standardized declaration. A common pattern is:
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →-webkit-appearance: none;for Safari, iOS Safari, Chrome, and older WebKit or Blink behavior.-moz-appearance: none;for older Firefox behavior.appearance: none;as the standard declaration for modern browsers.
In practice, a reset for a custom control might include all three declarations. The standard property should come last so it wins in the cascade when supported. Developers should be careful with older keyword values such as checkbox, radio, slider-horizontal, or searchfield. These values were never consistently implemented across engines, and some are non-standard or deprecated. They can also produce unexpected results when combined with custom sizing, borders, or pseudo-elements.
Rank #2
- Super Magnetic Attraction: Powerful built-in magnets, easier place-and-go wireless charging and compatible with MagSafe
- Compatibility: Only compatible with iPhone 13 Pro; precise cutouts for easy access to all ports, buttons, sensors and cameras, soft and sensitive buttons with good response, are easy to press
- Matte Translucent Back: Features a flexible TPU frame and a matte coating on the hard PC back to provide you with a premium touch and excellent grip, while the entire matte back coating perfectly blocks smudges, fingerprints and even scratches
- Shock Protection: Passing military drop tests up to 10 feet, your device is effectively protected from violent impacts and drops
- Check your phone model: Before you order, please confirm your phone model to find out which product is right for you
Using appearance: auto; is equally valid when native behavior is preferred. Native styling often gives users familiar affordances, especially for complex controls such as date pickers, color pickers, range sliders, and select menus. A good cross-browser strategy is to use none only where the design truly requires custom presentation, then rebuild the missing visual states with CSS, including hover, focus, disabled, checked, and invalid styles.
Styling Form Controls Consistently
Form controls are among the hardest elements to style consistently because browsers and operating systems apply their own native rendering. A checkbox on macOS Safari, a select menu on Windows Chrome, and a search input on iOS can all look and behave slightly different even with the same CSS. The appearance property helps reduce those differences by letting developers remove or adjust native UI styling before applying custom styles.
A common approach is to set appearance: none; on controls that need a fully custom visual design, then rebuild the visible styling with standard CSS properties such as border, background, border-radius, padding, and box-shadow. This can be useful for design systems where inputs, buttons, selects, and toggles need to match across browsers. For example, text inputs can be given a shared height, border color, focus ring, and background so they look like part of the same interface instead of reflecting each platform’s defaults.
Controls commonly normalized with appearance
- Text inputs: Useful for removing special styling from search fields, especially rounded corners and built-in decorations in some WebKit-based browsers.
- Buttons: Helps prevent native button bevels, gradients, and platform-specific borders from overriding a custom button style.
- Select menus: Often used to remove the default dropdown arrow so a custom icon can be positioned consistently.
- Checkboxes and radio buttons: Can be customized heavily, but require careful handling to preserve clear checked, unchecked, focused, and disabled states.
For consistent styling, developers should apply appearance as part of a complete control style rather than as a standalone reset. Removing native appearance without replacing the lost visual cues can make controls harder to understand. A custom button should still look clickable, a select should still indicate that it opens a menu, and a checkbox should still clearly show its selected state. The visual language may be custom, but the control’s purpose should remain immediately recognizable.
It is also useful to pair appearance: none; with browser-prefixed declarations when targeting older engines, particularly -webkit-appearance: none; for Safari and older Chromium-based browsers. A typical reset for a custom form control may include both declarations, followed by explicit sizing and layout rules. This reduces the chance that one browser keeps its native styling while another applies the custom design.
| Control | Typical use of appearance |
Extra styling usually needed |
|---|---|---|
| Search input | Remove platform-specific search field styling | Consistent border, padding, height, and clear focus state |
| Button | Remove native gradients and borders | Background color, hover state, active state, and cursor |
| Select | Remove default arrow styling | Custom arrow icon, right padding, and focus indicator |
| Checkbox | Replace native checkbox visuals | Checked mark, keyboard focus style, and disabled state |
Use appearance when native styling conflicts with a consistent product interface, but avoid removing native behavior simply for visual uniformity. Native controls often provide strong accessibility, familiar interaction patterns, and reliable behavior across input methods. The best results come from using appearance selectively: normalize the controls that need custom styling, preserve expected behavior, and define every interactive state so the finished form remains clear, usable, and accessible.
Practical Examples for Inputs, Buttons, and Selects
The appearance property is most useful when you need to reduce or remove browser-native styling before applying a custom visual system. Inputs, buttons, and select menus are common targets because each browser and operating system can render them differently. A search field might include rounded corners and a clear button on one platform, a button may inherit system gradients, and a select menu often has a native arrow that is hard to align with custom design tokens.
Text inputs and search fields
For text-based controls, developers often use appearance: none to remove platform-specific effects, then rebuild the control with standard CSS. This is especially useful for input[type="search"], which can have native inner decorations in WebKit-based browsers. A practical pattern is to reset appearance, define a consistent border, radius, padding, background, and focus style, then preserve expected keyboard behavior and visible labels.
Rank #3
- 【Support Wireless Charger】𝐎𝐧𝐥𝐲 𝐂𝐨𝐦𝐩𝐚𝐭𝐢𝐛𝐥𝐞 𝐰𝐢𝐭𝐡 𝐢𝐏𝐡𝐨𝐧𝐞 𝟏𝟑 (6.1 inch); Thick enough to protect your mobile,while still can support for wireless charging. NOTE: Not compatible with MagSafe
- 【Liquid Silicone Material】Designed for iPhone 13 case, which is made of real Liquid Silicone,anti-dust better than over 95% silicone cases for iPhone 13, for a better hand feeling and anti-dust, we have 2 more polish process and oil coating; If you want to use other stuff to stick on it, please choose one with an extra plastic sticker to help
- 【Raised Bevel Camera Design】: Our special raised bevel camera design for iPhone 13 phone case offers extra protection for the lens without interfering with the wide-angle camera and flashlight usage
- 【Snug fit and Easy to Clean】Precise cutouts and responsive buttons ensure quick access and feedback; Any stain that gets on the phone case for iPhone 13 wipes off easily with a damp rag; keep your cover for iPhone 13 always in clean status
- 【Excellent Service】ORNARTO offers a 365-Day Product Assurance and customer service; Don't hesitate to reach out to us with any issue or concern
- Use case: making
text,email,password, andsearchinputs share the same height and border treatment. - Common reset:
appearance: none;with-webkit-appearance: none;for older Safari and iOS support. - Follow-up styling: add
border,border-radius,padding,font,background-color, and a clear:focus-visibleoutline.
For example, a design system might set all text inputs to a 44px minimum height, a 1px neutral border, an 8px radius, and a high-contrast focus ring. Removing native appearance helps prevent iOS Safari from applying unexpected inner shadows or rounded search styling that conflicts with those rules. The control still behaves like a normal input, so validation, autocomplete, keyboard input, and assistive technology support remain intact when semantic HTML is preserved.
Buttons
Buttons are another strong candidate for appearance because native button rendering can include operating-system-specific bevels, gradients, shadows, and padding. Setting appearance: none allows a custom button component to look consistent across Chrome, Safari, Firefox, and Edge. After the reset, define the button’s display mode, spacing, border, radius, background, text color, cursor, and disabled state explicitly.
- Primary buttons: reset native styling and apply a brand background, readable foreground color, and hover or active states.
- Icon buttons: remove default borders and backgrounds, then provide a fixed touch target such as 40px by 40px.
- Disabled buttons: style with reduced contrast while keeping the real
disabledattribute when the action is unavailable.
A common mistake is to remove the native appearance and also remove the focus indicator. If a custom button uses appearance: none, it should include a visible :focus-visible style such as a 2px outline or box shadow with sufficient contrast. Avoid replacing real <button> elements with clickable <div> elements just to gain styling control; native buttons already support keyboard activation, form submission, disabled states, and accessible names.
Select menus
Select elements are more complex because the closed control, arrow indicator, and opened menu are handled differently across platforms. Applying appearance: none can hide the default arrow on the closed select, making it possible to add a custom arrow with a background image, pseudo-element on a wrapper, or inline icon. The select itself should still keep enough right-side padding so the selected text does not overlap the custom arrow.
| Control | Typical use of appearance |
Extra styling needed |
|---|---|---|
| Text input | Remove native shadows and platform-specific field styling | Border, radius, padding, focus ring |
| Button | Remove system bevels, gradients, and default padding | Background, states, cursor, focus style |
| Select | Hide the native closed-control arrow for a custom indicator | Wrapper, custom arrow, right padding, line height |
With selects, keep expectations realistic: appearance usually affects the collapsed control, not the full dropdown list on every operating system. If you need a fully custom combobox, it requires careful keyboard support, ARIA semantics, focus management, and screen reader testing. For many interfaces, a native <select> with a light appearance reset and a custom arrow provides the best balance of consistent branding and reliable usability.
Cross-Browser Compatibility Issues
The CSS appearance property is widely supported in modern browsers, but it is not perfectly uniform. Its main purpose is to let authors reduce or remove the operating system’s native styling from controls such as buttons, text fields, checkboxes, radio buttons, and select menus. The challenge is that those controls are implemented differently across browser engines and platforms, so the same declaration can produce slightly different visual results in Chrome, Safari, Firefox, and mobile browsers.
In current Chromium-based browsers, Safari, and Firefox, the unprefixed appearance property is supported for common use cases such as appearance: none; and appearance: auto;. Older WebKit-based browsers and some older mobile browsers may still require -webkit-appearance. Firefox historically used -moz-appearance, though modern Firefox supports the standard property for typical form-control styling. For production stylesheets that need to support a wider range of devices, it is common to include both prefixed and unprefixed declarations.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Typical compatibility pattern
A practical reset often looks like this: set the prefixed property first, then the standard property, and then define every visible style that the browser might otherwise provide. This is especially useful for controls such as search inputs and select elements, where native styling may include platform-specific borders, shadows, rounded corners, arrows, clear buttons, or inner padding.
Rank #4
- Only compatible with iPhone 16 Pro 2025 released 6.3-Inch
- Package included: 1 x Black iPhone 16 Pro Case
- Note: Smartphone and other accessories are not included
- Made of Soft TPU, Precise Cutouts, Easy to Install or Remove, Wireless Charging Compatible, Protect Screen and Camera, Not Slippery and Nice Grip
- Anti-Fingerprint | Anti-Yellowing | Flexible | Lightweight | Matte | Shock-Absorbent | Shockproof | Slim fit | Smooth | Soft
- Chrome and Edge: generally handle
appearance: none;predictably, but controls may still have default focus outlines, inner padding, or autofill styles. - Safari on macOS and iOS: often needs extra attention for inputs, buttons, and selects because iOS applies strong native styling to many controls.
- Firefox: supports the standard property, but form controls may differ in line-height, padding, and focus rendering compared with Chromium browsers.
- Mobile browsers: may preserve platform-specific behavior for usability, especially on date, time, color, file, checkbox, radio, and select controls.
Some controls are harder to normalize than others. A standard text input or button can usually be styled consistently with appearance: none;, custom borders, background, padding, font, and focus states. A native <select> is more complicated because the dropdown arrow, popup menu, and option list are partly controlled by the browser and operating system. Date inputs, color inputs, range sliders, file uploads, checkboxes, and radio buttons also have internal parts that vary significantly between engines.
Controls that need extra testing
| Control | Common issue | Practical approach |
|---|---|---|
input[type="search"] |
Native rounded corners, clear buttons, and shadows may appear in Safari. | Use -webkit-appearance: none;, then set border, radius, padding, and background explicitly. |
select |
Dropdown arrows and menu rendering differ by platform. | Remove native appearance for the closed control and add a custom arrow with CSS. |
input[type="checkbox"] and input[type="radio"] |
Shape, checkmark, and focus indicators vary across browsers. | Only replace native styling when custom checked, unchecked, disabled, and focus states are fully defined. |
input[type="range"] |
Track and thumb styling require browser-specific pseudo-elements. | Combine appearance with engine-specific selectors for full styling control. |
Testing should include desktop and mobile environments, not just mulle desktop browsers. A form that looks polished in Chrome on a laptop may feel cramped in Safari on iPhone or display different control heights in Firefox. Developers should verify keyboard focus, pointer interactions, zoom behavior, touch target size, disabled states, validation states, and high-contrast or forced-colors modes. When consistency is required, appearance is a useful starting point, but it should be paired with explicit sizing, spacing, typography, borders, backgrounds, and accessible focus styles.
Accessibility and Usability Considerations
The appearance property can make form controls easier to style consistently, but removing native UI styling also removes some built-in visual cues users rely on. When a checkbox, radio button, select menu, or button no longer looks like its platform default, the custom design must still communicate what the control is, what state it is in, and how users can interact with it. A visually polished control that is difficult to recognize or operate creates usability problems, especially for keyboard users, people with low vision, and users navigating with assistive technologies.
One of the most common risks is suppressing focus indicators. Native controls usually provide clear focus rings when users tab through a page. If appearance: none is paired with broad outline removal, keyboard users may lose track of their current position. Always provide a visible :focus or :focus-visible style with sufficient contrast, such as a clear outline, border change, or box shadow. The focus state should not depend on color alone; combining color with shape, thickness, or spacing changes makes the state easier to perceive.
Preserve expected behavior
Custom styling should not break native semantics. In most cases, it is better to style real form elements than to replace them with non-semantic elements such as <div> or <span>. A native <button>, <input type="checkbox">, or <select> already supports keyboard interaction, form submission, disabled states, labels, and accessibility APIs. If a fully custom control is unavoidable, it must recreate those behaviors with correct ARIA roles, states, labels, keyboard handling, and focus management, which is significantly harder to get right.
- Keep labels connected: Use a visible
<label>with a matchingforandid, or wrap the control inside the label. - Show all states clearly: Hover, focus, active, checked, selected, invalid, and disabled states should be visually distinct.
- Maintain adequate target size: Controls should be large enough to tap comfortably on touch screens, commonly at least around 44 by 44 CSS pixels.
- Respect user preferences: Avoid relying on heavy animation, and consider media queries such as
prefers-reduced-motionandforced-colors.
High contrast and forced-colors modes need special attention. Custom backgrounds, borders, and SVG icons may disappear or become unreadable when the browser or operating system overrides colors. Test controls in Windows High Contrast Mode or with the forced-colors media feature where possible. For example, a custom checkbox created with appearance: none should still display a clear checked state when custom colors are replaced. Using system colors such as Canvas, CanvasText, and Highlight can help custom controls adapt to user settings.
Select elements require extra care because their native behavior varies by browser and operating system. Removing native appearance from a <select> may make the closed control easier to style, but the opened menu often remains controlled by the browser or platform. Avoid hiding the dropdown affordance unless you replace it with an obvious indicator, such as a visible arrow icon that does not block clicks. The control should still be operable with the keyboard, including tabbing to it, opening it with standard keys, moving through options, and selecting a value.
Before shipping custom form styles, test with a keyboard, screen reader, zoomed layouts, mobile touch input, and at least one high-contrast configuration. The safest use of appearance is progressive: remove only the native styling you need to replace, preserve native elements and semantics, and rebuild essential visual feedback deliberately. Consistency across browsers is valuable, but it should never come at the cost of discoverability, operability, or accessibility.
Best Value
- It is NOT a Case: The rubber outer skin is only used as a replacement parts of the defender case, it is not a complete phone case
- The replacement part is only compatible with Otterbox defender series case, it is not compatible with commuter series or any others
- The outer skin is only compatible with iPhone 12 Pro Max case, it is not compatible with iPhone 12/12 Pro case
- Perfect substitute: Strong toughness, not easy to scratch
- If any problem of the product, please return it at any time
Frequently Asked Questions
What does `appearance: none` actually do to a form control?
`appearance: none` removes much of the browser’s native styling from controls such as buttons, select menus, checkboxes, radio buttons, and search inputs. This gives you a cleaner starting point for custom CSS, but it can also remove useful visual cues like arrows, rounded system styles, or platform-specific focus treatment. After using it, you usually need to add your own borders, background, sizing, focus styles, and sometimes replacement icons.
Do I still need `-webkit-appearance` or `-moz-appearance`?
Modern browsers support the unprefixed `appearance` property, but prefixed versions are still commonly used for more reliable behavior in older Safari, iOS Safari, and Firefox versions. A practical pattern is to write `appearance: none;`, `-webkit-appearance: none;`, and sometimes `-moz-appearance: none;` when resetting form controls. Test the specific controls you are styling, because support can vary between inputs, selects, and buttons.
Is it safe to use `appearance: none` on checkboxes and radio buttons?
Yes, but only if you fully rebuild the visible checked, unchecked, focus, disabled, and error states. Native checkboxes and radio buttons have built-in accessibility behavior, so you should keep the actual input element in the DOM and use CSS to style it rather than replacing it with a non-semantic element. Make sure keyboard users can see a clear focus indicator and that the checked state is obvious in high-contrast modes.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesHow do I style a select dropdown consistently across browsers?
Developers often use `appearance: none` on the `select` element to remove the native dropdown arrow, then add a custom arrow with a background image, pseudo-element on a wrapper, or inline SVG. You should preserve enough padding on the right side so the text does not overlap the arrow. Keep in mind that the opened dropdown list itself is still controlled by the browser and operating system in many cases, so only the closed select box can be styled consistently.
Can removing native appearance hurt accessibility?
It can if the custom styling removes familiar affordances, focus outlines, contrast, or state indicators. Native controls are recognizable and optimized for keyboard, touch, screen readers, and platform conventions, so custom designs should preserve those benefits. Always test with keyboard navigation, zoom, forced colors or high-contrast mode, and screen readers when heavily restyling form controls.
Bottom Line
The CSS appearance property is most useful when you need to reduce or remove native browser styling from form controls so you can build a more consistent interface across browsers and platforms. Use values like none, auto, and vendor-prefixed fallbacks carefully, and always test controls such as buttons, selects, checkboxes, radios, and search inputs in the browsers you support.
Use appearance as a reset tool, not a complete styling solution: after removing native UI, rebuild clear focus states, visible labels, keyboard support, and accessible states. The best next step is to apply it selectively in your form CSS, test with real devices and assistive technology, and confirm that your custom controls remain easy to use for everyone.
Recommended Free Tools
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




