Cum se dezactivează textul de selecție a evidenția folosind css cross-browser - evidențierea, codul Q - un

Pentru ancore, care acționează ca un buton (de exemplu, întrebări. Tag-uri. Utilizatori și așa mai departe. D. La partea de sus a paginii Stack Overflow), sau o filă, există o modalitate standard de a dezactiva efectul de selecție CSS, în cazul în care utilizatorul selectează aleatoriu text?

Există o modalitate standard de a face acest lucru folosind CSS, și dacă nu, ceea ce este abordarea de „cele mai bune practici“?

Potrivit Pot folosi. -Utilizator selectați este acceptată în prezent în toate browserele cu excepția Internet Explorer 9 și versiunile anterioare (dar, din păcate, încă mai au nevoie de un prefix furnizor).

Toate opțiunile de dreapta CSS:

Vă rugăm să rețineți că această funcție este non-standard (de ex. E. Nu sunt incluse în orice specificație). Nu este garantat că va funcționa peste tot, și browsere pot fi diferențe în punerea în aplicare și browsere viitoare pot refuza să sprijine.

Informații suplimentare pot fi găsite în documentația Mozilla Developer Network.

În cele mai multe browsere, acest lucru poate fi realizat prin variante de proprietate în proprietatea CSS select-utilizator, propunerea inițială, și apoi a plecat în CSS3 și acum este propusă în CSS UI Level 4.

pentru IE <10 и Opera <15 вам нужно будет использовать unselectable атрибут элемента, который вы хотите не выбрать. Вы можете установить это с помощью атрибута в HTML:

Ea încă nu acoperă toate posibilitățile. Deși este imposibil de a iniția o alegere elemente neelektiruemyh în unele browsere (cum ar fi IE și Firefox) nu este încă posibil pentru a preveni alegerea care începe înainte și după elementele neselectate, fără a face întregul document neselectat.

Atâta timp cât alegerea CSS 3 proprietatea utilizatorului devine disponibil, browsere bazate pe Gecko suporta proprietatea -moz-utilizator select, care le-ați găsit deja. WebKit și Blink-browsere de sprijin -webkit-user-select.

Aceasta, desigur, nu este acceptat în browsere care nu utilizează motorul de randare Gecko.

Adevărata întrebare este: de ce doriți ca utilizatorii să fie în măsură să aloce și, probabil, copiați și inserați anumite elemente? Nu am întâlnit o singură dată pe care nu am vrut să permită utilizatorilor să aloce o anumită parte a site-ului meu. Unii dintre prietenii mei, a petrecut multe ore în codul de citire și scriere, se va utiliza funcția de selecție să-și amintească unde au fost pe pagina, sau pentru a oferi un marker pentru ochii lor să știe unde să se uite în continuare.

Singurul loc unde am putut vedea că este util - este dacă aveți un buton pentru forme pe care nu le puteți copia și lipi, dacă un utilizator de copii și paste site-ul web.

Dacă doriți să dezactivați selecție de text în toate, dar elementele

. puteți face acest lucru în CSS (nota -moz-nici unul care vă permite să suprascrie sub-elemente care sunt permise în alte browsere, fără nici unul):

Puteți face acest lucru în Firefox și Safari (Chrome, de asemenea?)

Deciziile de selecție de mai sus este oprit, dar utilizatorul încă mai crede că puteți selecta textul, deoarece cursorul este încă în schimbare. Pentru a păstra statică, trebuie să setați CSS-over:

Acest lucru va face textul complet plat, cum ar fi într-o aplicație desktop.

Suplimentar, proprietăți Mozilla, nu există nici o modalitate de a dezactiva selectarea textului folosind CSS standard (pentru moment).

Dacă observați, Stack Overflow nu dezactivează selectarea textului pentru butoanele de navigare, și aș recomanda să nu facă acest lucru în cele mai multe cazuri, pentru ca modifica comportamentul normal de alegere și este contrar așteptărilor utilizatorului.

Acest lucru funcționează în unele browsere:

Pur și simplu adăugați elementele dorite / ID-urile înainte de selectorii separate prin virgulă, fără spații, de exemplu:

Alte răspunsuri mai bune; Acest lucru este probabil să fie considerată ca o stațiune de ultim / truc.

Să presupunem că două div ca aceasta

Mutați cursorul la valoarea implicită, astfel încât a dat un sentiment de utilizator inacceptabil /

Prefixul ar trebui să fie utilizat pentru a sprijini în toate browserele fără prefixul, este posibil să nu funcționeze în toate răspunsurile.

Adăugați-l în primul div, în cazul în care doriți să dezactivați selectarea textului:

După cum puteți vedea, nu am putut alege numărul, dar am reușit să le copiați.

Acest lucru ar putea fi utilă în cazul în care alegerea de culoare este, de asemenea, nu este necesar:

toate celelalte remedieri browser-ul. Acesta va funcționa în Internet Explorer 9 sau o versiune ulterioară.

Acest lucru nu este CSS-ul, dar este de remarcat:

Pentru a obține rezultatul pe care am nevoie, am constatat că am nevoie pentru a utiliza ambele. selectionuser-select și selectați-utilizator

Deși acest lucru a fost un pseudo CSS nivel Căutători 3 proiecte, aceasta a fost eliminată în timpul recomandărilor pas, așa cum sa dovedit candidatul că comportamentul său a fost underdetermined, în special cu elemente imbricate, și interoperabilitatea nu a fost atins.

În ciuda faptului că acesta este încorporat într-un browser, puteți face iluzia că textul nu va fi selectat folosind aceeași culoare și culoarea de fundal atunci când se selectează în conformitate cu tab-ul de proiectare (în cazul dumneavoastră).

Design normal CSS

Ban utilizatorilor pentru a selecta text cauzează probleme de utilizare.