2016-07-29 10 views
24

Każde z moich pól wprowadzania ma ikonę małej osoby ze strzałką na safari. Jak mogę to wyłączyć? Przy okazji, mam inną podobną stronę i to się nie dzieje. Próbowałem wyłączyć wszystkie style w kontrolerze sieci, a jedna strona nadal zawiera ikonę. Więc nie wiem, czy to css czy html.Jak ukryć ikonę autouzupełniania w polu wprowadzania danych

+0

Wygląda na to, że S Afari faktycznie parsuje mój tekst. To ma być strona typu administracyjnego, w której podajesz informacje o kliencie. Safari chce, aby użytkownik wprowadził własne informacje. Jak wyłączyć ikonę? –

+3

Napisałem bloga na ten temat: https://jrnv.nl/hiding-safaris-contact-auto-fill-when-autocomplete-is-turned-off-c415b2257df8 – jeroenvisser101

Odpowiedz

48

Jeśli chcesz go całkowicie ukryć, możesz użyć poniższych trików css. Zasadniczo wykrywa on "przycisk automatycznego uzupełniania kontaktów" i odsuwa go od pola wejściowego. Upewnij się, że masz "absolutną: pozycję", aby uniknąć dodatkowego wypełnienia pól.

input::-webkit-contacts-auto-fill-button { 
    visibility: hidden; 
    display: none !important; 
    pointer-events: none; 
    position: absolute; 
    right: 0; 
} 
+0

Jestem ciekawy ... czy to działa dla każdego ? Nie mogłem ukryć przycisku automatycznego wypełniania bez wyłączania autouzupełniania w preferencjach Safari. – Derick

+1

@Derick Myślę, że w tej sprawie nadal masz tę paskudną ikonę "użytkownika", nawet jeśli masz autouzupełnianie = "wyłączone" na polach , w tym przypadku z siłą ukrywamy tę ikonę. Wyłączenie autouzupełniania w preferencjach to inne, twarde rozwiązanie, które my (programista) nie możemy zmusić do tego. –

+0

Dla Safari 11 '{widoczność: ukryta}' wystarczy –

4

pokrewne: Chciałem, aby dostosować pozycję kluczowego ikoną dla input[type="password"] ale nie mógł znaleźć selektor elementu pseudo wszędzie.

Więc sklonowany źródło WebKit i był w stanie go znaleźć :)

input::-webkit-credentials-auto-fill-button

8

Ukryj ikonę Safari autouzupełniania w polu Wprowadź hasło

::-webkit-credentials-auto-fill-button { 
    visibility: hidden; 
    pointer-events: none; 
    position: absolute; 
    right: 0; 
} 
+0

'pointer-events: none' jest zbędny. 'visibility: hidden' zapobiega już zdarzeniom wskaźnika. – aleclarson

4

Nie trzeba anulować wszystkie właściwości przycisków autouzupełniania.

Aby całkowicie ukryć ikony Safari, możesz także ukryć opakowanie .

Ponieważ ikony są oznaczone Shadow Content, DOM nie pokazuje tego, ale robi to cień DOM. Po prostu włącz przycisk "<>" w inspektorze.

Znajdziesz tam pojemnik owijania można kierować z css jak ten:

input::-webkit-textfield-decoration-container { 
    display: none; /* or whatever styling you want */ 
} 

Wewnątrz znajdziesz pęk kluczy hasłem i wskaźnik Caps-Lock:

input::-webkit-caps-lock-indicator { 
} 

input::-webkit-credentials-auto-fill-button { 
} 

Och, i gdy jesteś na tym, nie zapomnij IE z jego przejrzystymi przyciskami i ikonami hasła:

input::-ms-clear { 
} 

input::-ms-reveal { 
} 
+0

To wydaje się być najlepszą odpowiedzią. –

Powiązane problemy