iOS заставляет закругленные углы и блики на входах - PullRequest
90 голосов
/ 29 сентября 2011

Устройства iOS добавляют много раздражающих стилей при вводе формы, особенно при вводе [type = submit]. Ниже показана та же самая простая форма поиска в браузере настольного компьютера и на iPad.

Desktop:

Desktop

IPad:

iPad

На входе [type = text] используется теневая вставка блока CSS, и я даже указал -webkit-border-radius: none; который очевидно переопределяется. Цвет и форма моей кнопки ввода [type = submit] полностью исчезают на iPad. Кто-нибудь знает, что я могу сделать, чтобы это исправить? Заранее спасибо.

Ответы [ 6 ]

177 голосов
/ 24 октября 2011

Версия, с которой я работал:

input {
    -webkit-appearance: none;
}

В некоторых версиях браузера WebKit вы также можете столкнуться с тем, что border-radius все еще на месте.Сброс с помощью следующего:

input {
    -webkit-border-radius:0; 
    border-radius:0;
}

Это может быть расширено для применения ко всем компонентам form в стиле webkit, таким как input, select, button или textarea.

Что касается исходного вопроса, вы не будете использовать значение none при очистке любого элемента css, основанного на единицах.Также имейте в виду, что в Chrome это скрывает флажки, поэтому, возможно, используйте что-то вроде input[type=text] или input:not([type=checkbox]), input:not([type=radio]).

17 голосов
/ 07 февраля 2013

Вы можете избавиться от еще нескольких стилей формы, ввода и т. Д. С помощью этого:

input, textarea, select {
   -webkit-appearance: none;
}
3 голосов
/ 03 апреля 2012

Для кнопки отправки не используйте:

<input type="submit" class="yourstylehere" value="submit" />

Вместо этого используйте тег кнопки:

<button type="submit" class="yourstylehere">Submit</button>

Это сработало для меня.

1 голос
/ 16 февраля 2014

Это то, что я использую в своих проектах

* { 
    -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; 
}
1 голос
/ 18 октября 2011

посмотрите на normalize.css

Есть демонстрационная версия, где вы можете проверить элементы формы и посмотреть, как они выглядят в ios. Есть несколько свойств, ориентированных на webkit.

0 голосов
/ 23 мая 2019

Эта проблема также возникает в некоторых браузерах, если у вас есть следующее:

<a class="btn btn-primary" href="#" type="button">Link</a>

вместо:

<a class="btn btn-primary" href="#" role="button">Link</a>

Это может произойти, если вы измените элемент ввода для ankerэлемент и забудьте изменить type на role.

У меня была эта проблема на Chrome и Safari на моем IPad.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...