Urządzenia z systemem iOS dodają wiele irytujących stylów do danych wejściowych formularzy, zwłaszcza danych wejściowych [type = submit]. Poniżej pokazano ten sam prosty formularz wyszukiwania w przeglądarce na komputerze i na iPadzie.
Pulpit:
iPad:
Dane wejściowe [type = text] używają wstawki cienia ramki CSS, a nawet określiłem -webkit-border-radius: none; który najwyraźniej zostaje nadpisany. Kolor i kształt mojego przycisku wejściowego [typ = wyślij] są całkowicie bastardowane na iPadzie. Czy ktoś wie, co mogę zrobić, aby to naprawić? Z góry dziękuję.
-webkit-border-radius:none;
czy określiłeśborder-radius:none;
?-webkit-appearance:none
i załatwienie-webkit-border-radius:0
sprawy na iOS dla mnie!Odpowiedzi:
Wersja, w której pracowałem, to:
input { -webkit-appearance: none; }
W niektórych wersjach przeglądarek Webkit możesz również napotkać rozszerzenie
border-radius
nadal . Zresetuj, wykonując następujące czynności:input { -webkit-border-radius:0; border-radius:0; }
To może być rozszerzone na wszystkich WebKit stylu
form
elementów, takich jakinput
,select
,button
lubtextarea
.Odnosząc się do pierwotnego pytania, nie używałbyś wartości „none” podczas czyszczenia dowolnego elementu css opartego na jednostkach. Pamiętaj również, że ukrywa to pola wyboru w Chrome, więc być może użyj czegoś takiego jak
input[type=text]
lubinput[type=submit], input[type=text]
lub zamiast tego odfiltruj te, które nie używają ustawień zaokrąglonych rogów, takich jakinput:not([type=checkbox]), input:not([type=radio])
.źródło
input:not([type=checkbox]), input:not([type=radio])
oznacza, że styl dotyczy wszystkich przycisków w przeglądarce Safari, ponieważ każdy przycisk spełnia jeden z tych dwóch warunków. Zamiast tego użyłeminput[type=submit], input[type=text]
.Możesz pozbyć się więcej formularzy webkitów, danych wejściowych itp. Za pomocą tego:
input, textarea, select { -webkit-appearance: none; }
źródło
border-radius: 0;
całkowicie zresetować się i nie chciałby mieć border-radius. W przeciwnym razie po prostu ustawborder-radius
.W przypadku przycisku przesyłania nie używaj:
<input type="submit" class="yourstylehere" value="submit" />
Zamiast tego użyj tagu przycisku:
<button type="submit" class="yourstylehere">Submit</button>
To zadziałało dla mnie.
źródło
<button>
tagów. Więc myślę, że lepiej będzie rozwiązać to bezpośrednio za pomocą CSS.spojrzeć na normalize.css
Dostępna jest wersja demonstracyjna, w której możesz przetestować elementy formularza i zobaczyć, jak wyglądają w iOS. Istnieje wiele właściwości zorientowanych na Webkit.
źródło
To jest to, czego używam w moich projektach
* { -webkit-tap-highlight-color: transparent; } a, article, div, h1, h2, h3, h4, h5, h6, img, section, span { -moz-user-select: none; -webkit-user-select: none; } input, select, textarea { -webkit-appearance: none; -webkit-border-radius:0; border-radius: 0; }
źródło
Ten problem występuje również w niektórych przeglądarkach, jeśli masz:
<a class="btn btn-primary" href="#" type="button">Link</a>
zamiast:
<a class="btn btn-primary" href="#" role="button">Link</a>
Może się to zdarzyć, jeśli zmienisz elementu wejściowego dla elementu Anker i zapomnij zmian
type
dorole
.Miałem ten problem zarówno w Chrome, jak i Safari na moim iPadzie.
źródło