user-select

Свойство CSS user-select определяет может ли пользователь выбрать текст.  Оно не влияет на контент, загруженный как chrome, за исключением текстовых блоков.

/* Ключевые слова в значении */
user-select: none;
user-select: auto;
user-select: text;
user-select: contain;
user-select: all;

/* Глобальные значения */
user-select: inherit;
user-select: initial;
user-select: unset;

/* Специфичные для Mozilla значения */
-moz-user-select: none;
-moz-user-select: text;
-moz-user-select: all;

/* Специфичные для WebKit значения */
-webkit-user-select: none;
-webkit-user-select: text;
-webkit-user-select: all; /*Не работает Safari; используйте только
                             "none" или "text", или, в противном случае, оно
                             будет разрешать ввод в <html> контейнер */

/* Специфичные для Microsoft значения */
-ms-user-select: none;
-ms-user-select: text;
-ms-user-select: element;
Начальное значениеauto
Применяется квсе элементы
Наследуетсянет
Отображениевизуальный
Обработка значениякак указано
Animation typediscrete
Канонический порядокуникальный неоднозначный порядок, определённый формальной грамматикой

Синтаксис

none
Текст элемента и вложенных в него элементов не выбирается. Обратите внимание, что объект Selection может содержать эти элементы.
auto

Вычисляемое значение, автоматически определяется следующим образом:

  • Для псевдо-элементов ::before и ::after вычисляемое значение -  none
  • Если элемент  является редактируемым, вычисляемое значение - contain
  • Иначе, если вычисляемое значение user-select для родителя этого элемента - all, вычисляемое значение - all
  • Иначе, если вычисляемое значение user-select для родителя этого элемента - none, вычисляемое значение - none
  • Иначе, вычисляемое значение - text
text
Текст может быть выбран пользователем.
all
В HTML-редакторе, если двойной клик или контекстный клик произошел во вложенном элементе, будет выбрано все содержимое коренного предка с этим значением свойства.
contain
Позволяет начать выбор внутри элемента; однако, выбор будет содержаться внутри границ данного элемента.
element (IE-specific alias)
Аналогичен contain. Поддерживается только в Internet Explorer.

Примечание: CSS UI 4 renames user-select: element to contain.

Формальный синтаксис

auto | text | none | contain | all

Примеры

HTML

<p>You should be able to select this text.</p>
<p class="unselectable">Hey, you can't select this text!</p>
<p class="all">Clicking once will select all of this text.</p>

CSS

.unselectable {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.all {
  -moz-user-select: all;
  -webkit-user-select: all;
  -ms-user-select: all;
  user-select: all;
}

Результат

Спецификации

Спецификация Статус Комментарии
CSS Basic User Interface Module Level 4
Определение 'user-select' в этой спецификации.
Рабочий черновик Первое определение. Также определение -webkit-user-select как устаревшего псевдонима user-select.

Поддержка браузерами

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
user-select
Экспериментальная
Chrome Полная поддержка 54
Полная поддержка 54
Полная поддержка 1
С префиксом
С префиксом Требует вендорный префикс: -webkit-
Edge Полная поддержка 12
С префиксом
Полная поддержка 12
С префиксом
С префиксом Требует вендорный префикс: -ms-
Полная поддержка 12
С префиксом
С префиксом Требует вендорный префикс: -webkit-
Firefox Полная поддержка 69
Полная поддержка 69
Полная поддержка 1
С префиксом
С префиксом Требует вендорный префикс: -moz-
Полная поддержка 49
С префиксом
С префиксом Требует вендорный префикс: -webkit-
Полная поддержка 44
С префиксом Отключено
С префиксом Требует вендорный префикс: -webkit-
Отключено From version 44: this feature is behind the layout.css.prefixes.webkit preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Полная поддержка 10
С префиксом
Полная поддержка 10
С префиксом
С префиксом Требует вендорный префикс: -ms-
Opera Полная поддержка 15
С префиксом
Полная поддержка 15
С префиксом
С префиксом Требует вендорный префикс: -webkit-
Safari Полная поддержка 3
С префиксом
Полная поддержка 3
С префиксом
С префиксом Требует вендорный префикс: -webkit-
Нет поддержки 2 — 3
С префиксом
С префиксом Требует вендорный префикс: -khtml-
WebView Android Полная поддержка 54
Полная поддержка 54
Полная поддержка ≤37
С префиксом
С префиксом Требует вендорный префикс: -webkit-
Chrome Android Полная поддержка 54
Полная поддержка 54
Полная поддержка 18
С префиксом
С префиксом Требует вендорный префикс: -webkit-
Firefox Android Полная поддержка 4
С префиксом
Полная поддержка 4
С префиксом
С префиксом Требует вендорный префикс: -moz-
Полная поддержка 49
С префиксом
С префиксом Требует вендорный префикс: -webkit-
Полная поддержка 44
С префиксом Отключено
С префиксом Требует вендорный префикс: -webkit-
Отключено From version 44: this feature is behind the layout.css.prefixes.webkit preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Полная поддержка 14
С префиксом
Полная поддержка 14
С префиксом
С префиксом Требует вендорный префикс: -webkit-
Safari iOS Полная поддержка 3
С префиксом
Полная поддержка 3
С префиксом
С префиксом Требует вендорный префикс: -webkit-
Samsung Internet Android Полная поддержка 1.0
С префиксом
Полная поддержка 1.0
С префиксом
С префиксом Требует вендорный префикс: -webkit-
all
Экспериментальная
Chrome Полная поддержка 53Edge Нет поддержки НетFirefox Полная поддержка 1IE Нет поддержки НетOpera Полная поддержка 40Safari Нет поддержки НетWebView Android Полная поддержка 53Chrome Android Полная поддержка 53Firefox Android Полная поддержка 4Opera Android Полная поддержка 41Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 6.0
auto
Экспериментальная
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 10Opera Полная поддержка 15Safari Полная поддержка 2WebView Android Полная поддержка ≤37Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 14Safari iOS Полная поддержка 3Samsung Internet Android Полная поддержка 1.0
contain
Экспериментальная
Chrome Нет поддержки НетEdge Полная поддержка 12
Альтернативное имя
Полная поддержка 12
Альтернативное имя
Альтернативное имя Использует нестандартное имя: element
Firefox Нет поддержки НетIE Полная поддержка 10
Альтернативное имя
Полная поддержка 10
Альтернативное имя
Альтернативное имя Использует нестандартное имя: element
Opera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетFirefox Android Нет поддержки НетOpera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нет
none
Экспериментальная
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 21
Полная поддержка 21
Нет поддержки 1 — 65
С префиксом
С префиксом Требует вендорный префикс: -moz-
IE Полная поддержка 10Opera Полная поддержка 15Safari Полная поддержка 2WebView Android Полная поддержка ≤37Chrome Android Полная поддержка 18Firefox Android Полная поддержка 21
Полная поддержка 21
Нет поддержки 4 — 65
С префиксом
С префиксом Требует вендорный префикс: -moz-
Opera Android Полная поддержка 14Safari iOS Полная поддержка 3Samsung Internet Android Полная поддержка 1.0
text
Экспериментальная
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 10Opera Полная поддержка 15Safari Частичная поддержка 2
Замечания
Частичная поддержка 2
Замечания
Замечания Allows typing in the <html> container.
WebView Android Полная поддержка ≤37Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 14Safari iOS Частичная поддержка 3
Замечания
Частичная поддержка 3
Замечания
Замечания Allows typing in the <html> container.
Samsung Internet Android Полная поддержка 1.0

Легенда

Полная поддержка  
Полная поддержка
Частичная поддержка  
Частичная поддержка
Нет поддержки  
Нет поддержки
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Смотрите замечания реализации.
Смотрите замечания реализации.
Пользователь должен сам включить эту возможность.
Пользователь должен сам включить эту возможность.
Использует нестандартное имя.
Использует нестандартное имя.
Требует вендорный префикс или другое имя для использования.
Требует вендорный префикс или другое имя для использования.

Смотрите также