2011-12-30 13 views
6

Następujące linie są zawarte w szablonie HTML5 boilerplate domyślnie:Jak mogę użyć selekcji CSS3 :: bez zmiany domyślnego koloru i tła?

::-moz-selection{background:#fe57a1;color:#fff;text-shadow:none;} 
::selection{background:#fe57a1;color:#fff;text-shadow:none;} 

Jednak chcę zachować kolor zaznaczenia jako domyślnego systemu operacyjnego (w niebieskim Windows, myślę, że to brązowo pomarańczowy w Ubuntu). Jeśli pominiemy właściwość tła, nie będzie tła.

+0

Czy to nie zostało usunięte ze specyfikacji CSS3? – animuson

+0

Chcesz zmienić kolor tekstu, ale nie kolor tła? –

+0

Mam nadzieję, że nie, dało to większą kontrolę nad twoją kolorystyką i jest całkowicie nieszkodliwe. –

Odpowiedz

3

Ponieważ selektor jest nie oficjalnie obsługiwane przez CSS, są usuwane z CSS3 i nie jest aktualnie w projekcie dla CSS4, to naprawdę nie jest dużo dokumentacji na jak dokładnie selektor powinny być stosowane.

Zgodnie z definicją selektora, ma on na celu przesłonić domyślnych kolorów selekcji systemu. Przeglądarki najwyraźniej wzięły to dosłownie. Podając ::selection, te kolory są natychmiast nadpisywane, nawet jeśli ich nie podano. Problem polega na tym, że domyślne ustawienia systemu nie są częścią CSS. Przeglądarka zobaczy Twoją deklarację i myśli "zignoruj ​​domyślne ustawienia systemu, użyj zamiast tego tego, co jest w tej deklaracji". Ponieważ nie ma tam określonych kolorów, kolory nie są stosowane (tło nie ma, a kolor jest dziedziczony). Ups, trochę trudno powiedzieć, że twój tekst został wybrany, co?

To tylko teoria tego, co się stanie , ponieważ, jak powiedziałem, naprawdę nie ma żadnej dokumentacji na temat tego, co faktycznie się dzieje lub co ma się wydarzyć.

Szczerze mówiąc, jedynym sposobem, który na pewno wiesz na pewno, jest spojrzenie na kod źródłowy i zobaczenie, co robi, gdy widzi ten selektor. Być może łatwiej będzie poprosić kogoś z zespołu programistów o jedną z tych przeglądarek. Tak czy inaczej nadal będzie trudne. Może mógłbyś przesłać raport o błędzie i mogą zagłębić się w problem trochę więcej ...

+0

Z tego, co mogę powiedzieć, CSS WG rozważa umieszczenie ':: selection' z powrotem w interfejsie użytkownika na poziomie 4, jeśli nie osiągnie poziomu interfejsu użytkownika 3. Nie wstrzymuję oddechu na tym ... – BoltClock

+0

@BoltClock: Yeah , Nie wiem, dlaczego nie, ale wciąż nie jest w wersji roboczej dla CSS4 w tej chwili. :( – animuson

+0

Nie ma go w Selectors 3 ani w wersji roboczej dla Selectorów 4, ponieważ przenoszą wszystkie pseudoelementy z tej specyfikacji. Pseudoelementy to raczej inna bestia, która, jak sądzę, nie może być w pełni zdefiniowana przez same selektory Będą rozproszone wokół interfejsu użytkownika i innych modułów. – BoltClock

Powiązane problemy