Почему псевдо :: выбор CSS3 не меняет цвет для всех частей? - PullRequest
8 голосов
/ 15 января 2012

Почему псевдоэлемент CSS3 selection не меняет все части выделения?Как вы можете видеть на этом скриншоте, я выбрал часть страницы, а по умолчанию выделены ярко-синим цветом:

enter image description here

Это CSS, который яиспользуя, он находится вверху моего CSS-файла:

::selection { background: #3B3B3B; color: #fff; }
::-moz-selection { background: #3B3B3B; color: #fff; }

Кажется, что подсветка для ввода (текст, флажки и т. д.) и пробел не меняется.Кто-нибудь знает, почему это так, и есть ли способ изменить его для каждой части страницы, чтобы цвет выделения был постоянным?Я использую Chrome.

1 Ответ

11 голосов
/ 15 января 2012

Псевдоэлемент ::selection не работает должным образом в Chrome / Safari. <input> элементы будут стандартным цветом подсветки. Это очень старая и все еще выдающаяся ошибка:

https://bugs.webkit.org/show_bug.cgi?id=38943

Единственный обходной путь, который мне удалось найти, - это использование contenteditable элементов вместо <input> элементов.

Вот демонстрация, которую я создал: http://jsfiddle.net/ThinkingStiff/FcCgA/
И пост, который я написал об этом: https://stackoverflow.com/a/8529323/918414

...