Отключение округления элементов ввода iPhone/Safari
Мой сайт хорошо отражается на браузере iPhone/Safari, за одним исключением: поля ввода текста имеют странный округлый стиль, который не выглядит хорошо с остальной частью моего веб-сайта.
Есть ли способ проинструктировать Safari (через CSS или метаданные), чтобы не округлить поля ввода и не сделать их прямоугольными, как предполагалось?
Ответы
Ответ 1
В iOS 5 и более поздних версиях good ol border-radius
делает трюк:
input {
border-radius: 0;
}
Если вы должны удалить только закругленные углы на iOS или иначе по какой-то причине не можете нормализовать закругленные углы между платформами, вместо этого используйте префиксное свойство -webkit-border-radius
, которое по-прежнему поддерживается. Конечно, обратите внимание, что Apple может в любой момент отказаться от поддержки префиксного свойства, но, учитывая их другие особенности CSS, связанные с платформой, вероятность того, что они сохранят ее.
В старых версиях вам вместо этого нужно было установить -webkit-appearance: none
:
input {
-webkit-appearance: none;
}
Ответ 2
input -webkit-appearance: none;
не работает.
Попробуйте добавить -webkit-border-radius:0px;
.
Ответ 3
Это лучший способ удалить округленные в IOS.
textarea,
input[type="text"],
input[type="button"],
input[type="submit"] {
-webkit-appearance: none;
border-radius: 0;
}
Примечание: Пожалуйста, не используйте этот код для опции выбора. У нашей проблемы будет проблема.
Ответ 4
Принятый ответ запустит переключатель в Chrome. Это работает:
input:not([type="radio"]):not([type="checkbox"]) {
-webkit-appearance: none;
border-radius: 0;
}
Ответ 5
Вот полное решение для Compass (SCSS):
input {
-webkit-appearance: none; // remove shadow in iOS
@include border-radius(0); // remove border-radius in iOS
}
Ответ 6
Для меня на iOS 5.1.1 на iPhone 3GS мне пришлось очистить стиль поля поиска и установить его в стиле, предназначенном для
input[type="search"] {-webkit-appearance: none; border-radius: 0 3px 3px 0;}
Выполнение -webkit-border-radius: 0;
самостоятельно не очистило родной стиль. Это было также для веб-просмотра в родном приложении.
Ответ 7
У меня была такая же проблема, но только для кнопки отправки. Необходимо удалить внутреннюю тень и закругленные углы -
input[type="submit"] { -webkit-appearance:none; -webkit-border-radius:0; }
Ответ 8
Я использовал простой border-radius: 0; для удаления закругленных углов для типов ввода текста.
Ответ 9
Если вы используете normalize.css, эта таблица стилей сделает что-то вроде input[type="search"] { -webkit-appearance: textfield; }
.
Это имеет более высокую специфичность, чем один селектор классов, например .foo
, поэтому имейте в виду, что вы не можете сделать только .my-field { -webkit-appearance: none; }
. Если у вас нет лучшего способа добиться правильной специфики, это поможет:
.my-field { -webkit-appearance: none !important; }
Ответ 10
Пожалуйста, попробуйте следующее:
Попробуйте добавить input
Css следующим образом:
-webkit-appearance: none;
border-radius: 0;
Ответ 11
Чтобы правильно отображать кнопки в Safari и других браузерах, вам нужно указать определенный стиль для кнопок в дополнение к настройке появления веб-кавычка на none, например:
border-radius: 0;
-webkit-appearance: none;
background-image: linear-gradient(to bottom, #e4e4e4, #f7f7f7);
border: 1px solid #afafaf