Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как изменить цвет выделения текста

Короткий ответ

::selection задаёт цвета текста, который выделил пользователь. Выделите строки ниже:

<style>
  .brand::selection { background: gold; color: black; }
</style>
 
<p class="brand">Select this text to see the gold highlight.</p>
<p>This paragraph keeps the default selection color.</p>

Для всей страницы

Без селектора перед двоеточием правило действует на всю страницу:

::selection { background: rgb(255 215 0 / 60%); }

Полупрозрачный фон хорошо смотрится на любых цветах страницы.

Что можно менять

Внутри ::selection работают только несколько свойств: color, background-color, text-decoration и text-shadow. Шрифт, отступы и рамки там не действуют.

Запретить выделение

Если текст не должен выделяться, например на кнопке, есть user-select: none. Не используйте его для обычного текста — люди копируют цитаты, адреса и номера.

Частая ошибка

Выбирают цвет выделения, на котором текст плохо читается, например светлый текст на светло-жёлтом. Задавайте пару background и color вместе и проверяйте контраст.

Функции из этого ответа

  • ::selection — Часть текста, которую выделил пользователь.
  • color — Цвет текста (а также цвет рамок и SVG-значков по умолчанию).
  • background-color — Цвет фона элемента.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.