user-selectLimited availability
The user-select CSS property controls which elements can be selected by the user.
Not yet supported in all major browsers — check the table and provide a fallback.
Browser support
DesktopChrome
1–53Not supported
54+Supportedsince Oct 12, 2016
Current: 155Edge
12–18Not supported
79+Supportedsince Jan 15, 2020
Current: 154Firefox
1–68Not supported
69+Supportedsince Sep 3, 2019
Current: 157Safari
✕Not supportedup to 27
Current: 27MobileChrome Android
18–53Not supported
54+Supportedsince Oct 19, 2016
Current: 155Firefox Android
4–68Not supported
79+Supportedsince Jul 28, 2020
Current: 157Safari iOS
✕Not supportedup to 27
Current: 27How to use
Not supported in Safari, Safari iOS. Use feature detection below and provide a fallback (or a polyfill) for those browsers.
Example
Full syntax and examples are on MDN: user-select.
Feature detection
CSS · check before using
@supports (user-select: initial) {
/* styles that rely on user-select */
}
/* or in JavaScript */
if (CSS.supports("user-select", "initial")) {
// use it
}Documentation (MDN)
Specification
Usage share
Sub-features
Support for each part of the feature (5). The overall table above shows when the whole feature works.
| Sub-feature | Chrome | Edge | Firefox | Safari | Chrome Android | Firefox Android | Safari iOS |
|---|---|---|---|---|---|---|---|
| user-select | 54 | 79 | 69 | ✕ | 54 | 79 | ✕ |
| user-select.all | 54 | 79 | 69 | ✕ | 54 | 79 | ✕ |
| user-select.auto | 54 | 79 | 69 | ✕ | 54 | 79 | ✕ |
| user-select.none | 54 | 79 | 69 | ✕ | 54 | 79 | ✕ |
| user-select.text | 54 | 79 | 69 | ✕ | 54 | 79 | ✕ |