Moja witryna renderuje się dobrze w przeglądarce iPhone / Safari, z jednym wyjątkiem: Moje pola wprowadzania tekstu mają dziwny zaokrąglony styl, który wcale nie wygląda dobrze z resztą mojej witryny.
Czy istnieje sposób na instruowanie Safari (za pomocą CSS lub metadanych), aby nie zaokrąglały pól wejściowych i nie renderowały ich prostokątnie zgodnie z przeznaczeniem?
-webkit-appearance: none;
, myślę, że lepiej ograniczyć ten warunek do zakresu określonego elementu wejściowego. W przeciwnym razie może ukryć elementy wejściowe radia, jeśli masz je na stronie.Odpowiedzi:
Na iOS 5 i nowszych, dobra ol '
border-radius
rozwiązuje problem:Jeśli musisz tylko usunąć zaokrąglone rogi w systemie iOS lub z jakiegoś powodu nie można normalizować zaokrąglonych rogów na różnych platformach, użyj
-webkit-border-radius
zamiast tego prefiksowanej właściwości, która jest nadal obsługiwana. Oczywiście należy pamiętać, że Apple może w dowolnym momencie zrezygnować z obsługi prefiksowanej właściwości, ale biorąc pod uwagę inne funkcje CSS specyficzne dla platformy, prawdopodobnie utrzymają ją.W starszych wersjach trzeba było
-webkit-appearance: none
zamiast tego ustawić :źródło
-webkit-appearance
właściwie nie ma nic wspólnego z wewnętrznym cieniem i zaokrąglonymi narożnikami. Nie używaj go tylko do tego. css-infos.net/property/-webkit-appearance<input type="search">
iOS 10 nadal potrzebowałem-webkit-appearance: none;
.input -webkit-appearance: none;
sam nie działa.Spróbuj dodać
-webkit-border-radius:0px;
dodatkowo.źródło
-webkit-border-radius
atrybut, aby<input type="text">
usunąć zaokrąglone rogi w iOS 5.Jest to najlepszy sposób na usunięcie zaokrąglonego w IOS.
Uwaga: nie używaj tego kodu do wyboru opcji. Będzie miał problem z naszymi wybranymi.
źródło
input[type]
wydaje się załatwić wszystkie wejścia.Przyjęta odpowiedź sprawiła, że przycisk opcji zniknął w Chrome. To działa:
źródło
Oto kompletne rozwiązanie dla Compass (SCSS):
źródło
@include border-radius(0);
mixin jest dostępny tylko wtedy, gdy sam go zdefiniowałeś lub używasz frameworka Compass, a nie tylko waniliowej SASS.W przypadku systemu iOS 5.1.1 na telefonie iPhone 3GS musiałem wyczyścić pole wyszukiwania i ustawić go zgodnie z przeznaczeniem
Robienie
-webkit-border-radius: 0;
samemu nie wyczyściło natywnego stylu. Dotyczyło to również widoku internetowego w natywnej aplikacji.źródło
Miałem ten sam problem, ale tylko przycisk wysyłania. Potrzebne do usunięcia wewnętrznego cienia i zaokrąglonych rogów -
źródło
Jeśli użyjesz normalize.css, ten arkusz stylów zrobi coś takiego
input[type="search"] { -webkit-appearance: textfield; }
.Ma to wyższą specyficzność niż pojedynczy selektor klasy
.foo
, więc pamiętaj, że nie możesz tego zrobić.my-field { -webkit-appearance: none; }
. Jeśli nie masz lepszego sposobu na osiągnięcie właściwej specyfiki, pomoże to:.my-field { -webkit-appearance: none !important; }
źródło
Spróbuj tego:
Spróbuj dodać
input
Css w ten sposób:źródło
Użyłem prostego promienia obramowania: 0; aby usunąć zaokrąglone rogi dla typów wprowadzania tekstu.
źródło
Aby poprawnie wyrenderować przyciski w przeglądarce Safari i innych przeglądarkach, oprócz ustawienia wyglądu zestawu webkit musisz nadać mu określony styl, np .:
źródło