CSS и вёрстка

Как убрать выделение css

📅 ⏱ 22:07 ⏳ 1 мин 💬 0

Как убрать выделение css: простыми словами, по шагам и с примерами. Разбираем, как это работает на практике, типичные ошибки и лучшие решения. Раскрываем тему:

Коротко: «выделение» бывает двух видов: подсветка при выделении текста и «рамка» вокруг элемента при клике/фокусе. Для каждого случая — своё свойство.

Кому и зачемНужно, чтобы убрать синюю подсветку у кнопок и ссылок, изменить цвет выделения текста или запретить выделение на элементах интерфейса. Покажем и про доступность.

Три ситуации



CSS
::selection { background: #003F8F; color: #fff; }

Меняет цвета при выделении текста мышью. Набор свойств в браузерах ограничен (в основном цвет/фон).

CSS
.btn:focus-visible { outline: 2px solid #003F8F; outline-offset: 2px; }

Это контур фокуса. Убирать его полностью нельзя — он нужен для управления с клавиатуры.

CSS
.no-select { user-select: none; -webkit-user-select: none; }

Запрещает выделять текст (например, на кнопках и переключателях).

Практика: три задачи

1. Убрать синюю рамку у кнопки при клике мышью

  1. Отключите контур только для мыши.
  2. Оставьте видимый фокус для клавиатуры.
CSS
.btn:focus:not(:focus-visible) { outline: none; }
.btn:focus-visible { outline: 2px solid #003F8F; }

2. Красивое выделение текста

CSS
::selection { background: #992222; color: #fff; }

3. Запретить выделение на «кнопке-иконке»

CSS
.icon-btn { user-select: none; }
ДоступностьПолный отказ от контура фокуса делает интерфейс неудобным для клавиатуры. Всегда оставляйте видимый индикатор — можно свой, брендовый.

Частые ошибки: причина → решение

Симптом Причина Решение
Остаётся синяя рамка при клике это outline, а не border :focus:not(:focus-visible){outline:none}
::selection не работает опечатка/специфичность проверить селектор
Текст нельзя выделить user-select:none унаследован вернуть user-select:text нужным элементам
Фокус не виден убрали outline без замены вернуть видимый фокус

Проверьте себя

Чек-лист




Каким свойством убрать «рамку» при клике мышью, сохранив фокус для клавиатуры?




Вопросы и ответы

Псевдоэлемент для стилизации выделенного текста (цвет фона и текста).

Через outline: none для мыши и видимый контур для клавиатуры (:focus-visible).

Чтобы при «двойном клике» по кнопке не выделялся текст. Применяйте точечно.

Пользователи с клавиатурой не увидят, где находятся. Это важный критерий доступности.

Итоги

  • Выделение текста — ::selection.
  • Контур — outline в :focus-visible.
  • Запрет выделения — user-select: none (точечно).
Поделиться: ВКонтакте Telegram WhatsApp Одноклассники Viber Мой Мир

Комментарии

Пока комментариев нет — будьте первым, кто поделится мнением.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получите консультацию нашего маркетолога

Изучит ваш проект, подберет подходящие услуги и тарифы

Получите бесплатный аудит

Наш специалист сделает базовый аудит вашего проекта и предложит персональные предложения.

Закажите услугу Каталог морепродуктов

Наш специалист свяжется с вами в ближайшее время и уточнит детали

Закажите адаптивный сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт лендинг

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт каталог

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите интернет-магазин

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите веб-приложение

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите тариф Аутсорс

Стоимость от 150 000 ₽

Закажите тариф Магазин

Стоимость 90 000 ₽

Закажите тариф Классический

Стоимость 60 000 ₽

Закажите тариф Эконом

Стоимость 40 000 ₽

Закажите SEO продвижение

Наш специалист свяжется с вами, проведет анализ, предложит стоимость