Устройства iOS добавляют множество раздражающих стилей при вводе формы, особенно при вводе [type = submit]. Ниже показана одна и та же простая форма поиска в браузере для настольных ПК и на iPad.
Рабочий стол:
iPad:
В input [type = text] используется вставка тени блока CSS, и я даже указал -webkit-border-radius: none; который, по-видимому, отменяется. Цвет и форма моей кнопки ввода [type = submit] полностью изменяются на iPad. Кто-нибудь знает, что я могу сделать, чтобы это исправить? Заранее спасибо.
-webkit-border-radius:none;
, вы указалиborder-radius:none;
?-webkit-appearance:none
и-webkit-border-radius:0
помогло мне в iOS!Ответы:
У меня была рабочая версия:
input { -webkit-appearance: none; }
В некоторых версиях браузеров webkit вы также можете столкнуться с тем, что они
border-radius
все еще существуют. Выполните сброс следующим образом:input { -webkit-border-radius:0; border-radius:0; }
Это может быть расширено , чтобы применить ко всем WebKit стиле
form
компонентов , таких какinput
,select
,button
илиtextarea
.Что касается исходного вопроса, вы бы не использовали значение «none» при очистке любого элемента css на основе модуля. Также имейте в виду, что это скрывает флажки в Chrome, поэтому, возможно, используйте что-то вроде
input[type=text]
илиinput[type=submit], input[type=text]
или вместо этого отфильтруйте те, которые не используют настройки закругленных углов, такие какinput:not([type=checkbox]), input:not([type=radio])
.источник
input:not([type=checkbox]), input:not([type=radio])
означает, что стиль применяется ко всем кнопкам в Safari, поскольку каждая кнопка удовлетворяет одному из этих двух условий. Вместо этого я использовалinput[type=submit], input[type=text]
.Вы можете избавиться от некоторых дополнительных стилей форм, ввода и т. Д. С помощью этого:
input, textarea, select { -webkit-appearance: none; }
источник
border-radius: 0;
будет полностью сбросить и не нужен радиус границы. Остальное просто установитеborder-radius
.Для кнопки отправки не используйте:
<input type="submit" class="yourstylehere" value="submit" />
Вместо этого используйте тег кнопки:
<button type="submit" class="yourstylehere">Submit</button>
Это сработало для меня.
источник
<button>
тегам. Поэтому я думаю, вам лучше решить эту проблему напрямую с помощью CSS.взглянуть на normalize.css
Есть демонстрация, в которой вы можете протестировать элементы формы и посмотреть, как они выглядят в iOS. Есть несколько свойств, ориентированных на webkit.
источник
Это то, что я использую в своих проектах
* { -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; }
источник
Эта проблема также возникает в некоторых браузерах, если у вас есть следующее:
<a class="btn btn-primary" href="#" type="button">Link</a>
вместо того:
<a class="btn btn-primary" href="#" role="button">Link</a>
Это может произойти, если вы измените свой элемент ввода на элемент анкер и забудете изменить его
type
наrole
.У меня была эта проблема как в Chrome, так и в Safari на моем IPad.
источник