Mogę sprawić, że Firefox nie wyświetla brzydkich kropkowanych konturów ostrości na linkach z tym:
a:focus {
outline: none;
}
Ale jak mogę to zrobić dla <button>
tagów? Kiedy to zrobię:
button:focus {
outline: none;
}
przyciski nadal mają przerywany kontur fokusa, kiedy je klikam.
(i tak, wiem, że jest to problem z użytecznością, ale chciałbym podać własne wskazówki dotyczące ostrości, które są odpowiednie dla projektu zamiast brzydkich szarych kropek)
Odpowiedzi:
źródło
:focus {outline:none !important;}
Nie ma potrzeby definiowania selektora.
Jednak narusza to najlepsze praktyki dostępności z W3C. Zarys ma pomóc osobom poruszającym się na klawiaturze.
https://www.w3.org/TR/WCAG20-TECHS/F78.html#F78-examples
źródło
<button>
nie<a>
, ani<input>
without ... an author-supplied visual focus indicator
- innymi słowy, dobrze jest zastąpić styl użytkownika użytkownika własnym, jak wspomniano OP. Idealnie powinien być wysoki kontrast.Jeśli wolisz używać CSS, aby pozbyć się przerywanego konturu:
źródło
0px
można zastąpić po prostu0
Poniższe działało dla mnie w przypadku LINK, pomyślałem o udostępnieniu - na wypadek, gdyby ktoś był zainteresowany.
Twoje zdrowie!
źródło
a { outline: none; }
powinno wystarczyć dla linków.a { outline: none; }
z!important
->a { outline: none !important; }
źródło
a
elementów, więc znalazłem dobrą opcjębody :focus, body :active { outline: 0; border: 0; }
::-moz-focus-inner { border: 0; }
[Aktualizacja] To rozwiązanie już nie działa. Rozwiązaniem, które działało dla mnie, jest https://stackoverflow.com/a/3844452/925560
Odpowiedź oznaczona jako poprawna nie działała w przeglądarce Firefox 24.0.
Aby usunąć kropkowany kontur Firefoksa na przyciskach i tagach zakotwiczenia, dodałem poniższy kod:
Znalazłem rozwiązanie tutaj: http://aghoshb.com/articles/css-how-to-remove-firefoxs-dotted-outline-on-buttons-and-anchor-tags.html
źródło
Próbowałem tutaj większości odpowiedzi, ale żadna z nich nie działała dla mnie. Kiedy zdałem sobie sprawę, że muszę też pozbyć się niebieskiego obrysu przycisków na Chrome, znalazłem inne rozwiązanie. Usuń niebieską ramkę z przycisku niestandardowego stylu css w Chrome
Ten kod działał dla mnie w przeglądarce Firefox w wersji 30 na Windows 7. Być może może pomóc komuś innemu :)
źródło
Nie ma sposobu, aby usunąć te kropkowane fokus w przeglądarce Firefox za pomocą CSS.
Jeśli masz dostęp do komputerów, na których działa twoja aplikacja internetowa, przejdź do about: config w Firefox i ustaw
browser.display.focus_ring_width
na 0. Wtedy Firefox w ogóle nie będzie pokazywał żadnych kropkowanych ramek.Następujący błąd wyjaśnia ten temat: https://bugzilla.mozilla.org/show_bug.cgi?id=74225
źródło
::-moz-focus-inner {border:0;}
jak wspomniano w kilku innych odpowiedziach działa idealnie.W sieci istnieje wiele rozwiązań tego, z których wiele działa, ale aby to wymusić, aby absolutnie nic nie mogło wyróżnić / skoncentrować się po użyciu następujących elementów:
To tylko dodaje trochę dodatkowego bezpieczeństwa i przypieczętowuje ofertę!
źródło
Zapewni to kontrolę zasięgu:
Od: Usuń przerywany kontur z elementu wejściowego zakresu w Firefoksie
źródło
range
- dziękuję :)Testowane na Firefox 46 i Chrome 49 przy użyciu tego kodu.
Przed (białe kropki są widoczne)
Po (białe kropki są niewidoczne)
Jeśli chcesz zastosować tylko kilka pól wprowadzania, przycisków itp. Użyj bardziej szczegółowego kodu.
Happy Coding !!
źródło
!important
potrzebny, aby zastąpić arkusz stylów Firefoksa. Twoje zdrowie!Po prostu dodaj ten css dla pola wyboru
To działa dobrze dla mnie.
źródło
Myślę, że powinieneś naprawdę wiedzieć, co robisz, usuwając kontur fokusa, ponieważ może to zepsuć nawigację za pomocą klawiatury i dostępność.
Jeśli musisz go wyjąć z powodu problemu z projektem, dodaj
:focus
stan przycisku, który zastępuje go innym wizualnym sygnałem, takim jak zmiana obramowania na jaśniejszy kolor lub coś w tym rodzaju.Czasami czuję potrzebę wyciągnięcia tego irytującego zarysu, ale zawsze przygotowuję alternatywną wizualną wskazówkę.
I nigdy nie używaj
blur()
funkcji js. Użyj::-moz-focus-inner
pseudoklasy.źródło
W większości przypadków bez dodania
!important
do kodu CSS nie zadziała.Więc nie zapomnij dodać
!important
Lub dowolny inny kod:
źródło
Gdzie
button
może być dowolny selektor CSS, dla którego chcesz wyłączyć zachowanie.źródło
Możesz zintensyfikować skupienie zamiast się go pozbyć.
źródło
Usuń przerywany kontur z łączy, przycisku i elementu wejściowego.
źródło
Jeśli masz ramkę na przycisku i chcesz ukryć kropkowany kontur w Firefoksie bez usuwania ramki (a zatem dodatkowej szerokości na przycisku), możesz użyć:
źródło
Poniższy kod CSS działa, aby to usunąć:
źródło
Wygląda na to, że jedynym sposobem na osiągnięcie tego jest ustawienie
w about: config na podstawie przeglądarki.
źródło
Działa to w Firefoksie v-27.0
źródło
Po wypróbowaniu wielu powyższych opcji tylko dla mnie działały.
źródło
button:focus { outline: none !important }
Lub jeśli mnie nie lubisz! Ważne, działa to również w celu zastąpienia stylu Firefoksa::root button:focus { outline: none }
Wraz z Bootstrap 3 użyłem tego kodu. Drugi zestaw reguł po prostu cofnij to, co robi bootstrap dla przycisków fokusu / aktywnych:
UWAGA: niestandardowy plik css powinien znajdować się po pliku css Bootstrap w kodzie HTML, aby go zastąpić.
źródło
Tak, nie przegap ! Ważne
źródło
Możesz spróbować
button::-moz-focus-inner {border: 0px solid transparent;}
w swoim CSS.źródło