Меняем цвет фона выделенного текста с помощью CSS

13 февраля 2008 г.

Одна из интересных возможностей спецификации CSS3, которая может использоваться уже сегодня - это псевдоэлемент ::selection, позволяющий изменять цвет фона выделенного текста, заданный в вашей операционной системе, на любой другой цвет по вашему усмотрению.

На данный момент ::selection поддерживают следующие браузеры:

  • Safari;
  • Google Chrome;
  • FireFox;
  • Opera 9.5 (начиная с билда 9770).

Safari несколько по-другому отображает результат в сравнении с FireFox и Opera (последние два браузера обрабатывают этот псевдоэлемент идентично).

Вот так это выглядит в CSS:

1
2
3
4
5
6
::selection {
  background: #FFB7B7; /* Safari, Chrome, Opera */
}
::-moz-selection {
  background: #FFB7B7; /* FireFox */
}

С селектором ::selection будет работать только свойство background, поэтому его можно применять, например, чтобы сделать отличающийся фон выделения для нескольких разных абзацев на странице:

1
2
3
4
5
6
7
8
p.red::selection {background: #FFB7B7;}
p.red::-moz-selection {background: #FFB7B7;}

p.blue::selection {background: #A8D1FF;}
p.blue::-moz-selection {background: #A8D1FF;}

p.yellow::selection {background: #FFF2A8;}
p.yellow::-moz-selection {background: #FFF2A8;}

Примеры

  • Пример с разными фонами выделенных абзацев.
  • Селектор ::selection можно использовать и для того, чтобы спрятать секретный текст :) …
  • … или даже картинку.
  • Пример прямо в этом посте. Повыделяйте текст этого поста в одном из браузеров, поддерживающих данный селектор.

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

VIA

P.S. Во время тестирования селектора на этом посте, заметил, что он не работает в Safari и FireFox, если его применить к тегу списка <ul>, а работает только тогда, когда класс прописан непосредственно к элементу списка <li>.

Теги: , , , , автор: Dimox | рубрика CSS-верстка

Комментарии (28): »

  1. По-моему малополезная вещь, но выглядит действительно прикольно :)

  2. 2
    Denis Streha

    да вещь маловостребованная, но она вносит изюминку в сайт, когда выделяют текст.

  3. Очень интересно, я даже не знал, что такое возможно =))
    И работает ведь!

  4. Прикольненько так. Мелочь, но приятно.

  5. Уникальный Человек, это еще цветочки! :)

    CSS3 еще ого-го сколько всего интересного позволяет делать. Благо, многое уже сейчас поддерживается современными браузерами… Так что не за горами те дни, когда все вкусности можно будет использовать в полной мере.

  6. Из таких мелочей и складывается хорошее впечатление от сайта.

  7. Каскадные таблицы стилей порой творят чудеса, -это козырные карты любого дизайнера

  8. [quote comment=”2702″]Из таких мелочей и складывается хорошее впечатление от сайта.[/quote]
    Верно, а хорошее впечатление увеличивает вероятность повторного посещения сайта.

  9. Вроде ж на Хабре было такое…

  10. А вот это - весьма полезный пост. побольше бы таких!

  11. Полезная статья. Скинул своим верстальщикам. спасибо

  12. zvenyka, к сожалению нет.

  13. Занятная фича. По моему очень интересно будет смотрется на сайте с разынми цветовыми блоками.

  14. Максим, да, я видел на каком-то сайте пример выделения под цвет общего дизайн - приятная мелочь.

  15. Нужно иметь не голову, а справочник, чтобы помнить все эти приятные мелочи :)

    @
  16. 16
    PE3UDEHT

    Интересно, а в гугли используют такуюже фишку, когда выделяю искомые тобой слова или там , что то другое?

  17. 17
    Веб дедушка

    Бестолковые рассуждения полезна фича или нет. Она бесполезна хотя бы потому, что не является кроссбраузерной, всё остальное - можете оставить. Более того, она настолько НЕ кроссбраузерна, что 90% пользователей сети (которые используют MSIE) даже не увидят ваших заморочек. Если вас греет мысль о том, что те жалкие 10% юзеров, что пользуются мозилой и сафари, увидят “вашу фичу”, - останавливать от её использования не стану :)

  18. Приятная вещь. Все споры о полезности считаю бессмысленными, т.к. ком-то до полного счастья не хватает этой фишки, а кому-то она до фонаря.

  19. Классное “начало праздника”! Ждем новые приятные, а главное - “удобные” элементы от W3C… Кстати, первым делом, как зашел в блог, заметил желтенькое выделение: было жутко приятно)))

  20. Ссылка “спрятать секретный текст :) …” выдает 404

  21. Чувак, все канешно круто, но тут не все супер пупир умные верстальшики и т.д.
    Мне вот эта фича очень понравилась. Но реализовать её не могу. т.к ты банально даже не написал как её поставить =\

  22. Изучай CSS, и все станет ясно.

  23. Прив, слушай… не в курсе, а под IE хака пока не создали?

  24. На самом деле, это малоизвестная фича. Вот я только вчера узнал (-:

    То, что не поддерживает ie,— их проблема, тем более люди, юзающие этот браузер, на подобные красивости и не обращают внимания.

  25. Проверил в IE8 работает

  26. Работает не только background, но и color.
    В Сафари и Хроме также можно применить к картинкам, в Fx не работает.

  27. Мне вот интересно, в последней редакции спецификации по css3-селекторам псевдо-элемент ::selection отсутствует, хотя в предыдущей редакции он был — значит ли это, что в w3c решили от него отказаться? Или я чего-то не понимаю?

Присоединяйтесь к обсуждению!

Отправляя кoммeнтapий, Вы автоматически принимаете правила кoммeнтиpoвaния на этом блоге.

Правила кoммeнтиpoвaния на блоге dimox.name:

  1. Первый кoммeнтapий всегда проходит премодерацию.
  2. В поле "URL блога" можно указывать только ссылку на главную страницу вашего блога. Ссылки на прочие веб-ресурсы (в том числе блоги/сплоги, созданные не для людей) будут удалены.
  3. Запрещается использовать в качестве имени комментатора слоганы/названия сайтов, рекламные фразы, ключевые и т.п. слова. В случае несоблюдения этого условия имя изменяется по усмотрению владельца блога. Просьба указывать нормальное имя или ник.
  4. Весьма вероятно, что короткий и неинформативный кoммeнтapий вида "Спасибо!", "Интересная статья", будет удален. Исключение составляют знакомые автору блога комментаторы.

Подписаться, не комментируя

Предыдущие из рубрики