HTML5 <button> в Mobile Safari, кажется, имеет фиксированные неизменяемые левые и правые отступы. Вот демонстрация и то, как это выглядит в Safari 5 и iOS4.
Как мне избавиться от этой прокладки?
HTML5 <button> в Mobile Safari, кажется, имеет фиксированные неизменяемые левые и правые отступы. Вот демонстрация и то, как это выглядит в Safari 5 и iOS4.
Как мне избавиться от этой прокладки?
Я только что понял, что «дополнительное заполнение» всегда равно 1em. Если вы используете абсолютное число для размера шрифта, вы можете установить размер шрифта кнопки равным 0 и сбросить его для внутреннего элемента:
button{
font-size:0;
}
button span{
font-size:14px;
}
<button><span>Submit</span></button>
span. Установка width достаточно большого размера, чтобы включить дополнительные отступы, отсортировала его, теперь у меня есть моя идеально круглая кнопка с центром.
- person Eystein; 19.10.2011
Если вам не нужен внешний вид кнопки встроенного элемента управления и вы можете использовать свой собственный стиль в CSS, просто добавьте -webkit-appearance: none, и вы получите полный контроль над элементом.
Вы также можете попробовать -webkit-appearance: button или -webkit-appearance: pushbutton, чтобы получить стиль по умолчанию.
Вы можете увидеть некоторые из этих здесь в работе.
Я преодолел эту проблему, заключив <button> содержимое в <div> вот так ...
<button><div>Submit</div></button>
или с помощью jQuery и добавления следующего в скрипт ...
$('button').wrapInner('<div/>')
... и включение следующих стилей на страницу
button { padding: 0; }
button > div { margin: 0 -1em; padding: 0.4em 0.8em; }
Обратите внимание, что вы можете изменить внутреннее заполнение div в соответствии со своими потребностями. Также обратите внимание, что это будет работать только с <button> элементами, но не <input type="button"> или связанными элементами, поскольку они не могут содержать дочерние элементы.
После того, как я неделю возился с кнопками, я сбросил их и теперь использую вместо них div. Если вы добавите display: inline-block; к кнопке div, ее также можно будет центрировать как кнопку.
«Самое чистое» решение, которое я нашел, не требует дополнительных элементов, но предполагает некоторые фиксированные размеры с вашей стороны. Кивать в поддержку идеи отрицательной маржи. Это похоже. Это будет противодействовать дополнительному заполнению:
text-indent:-6px;
Это ошибка всех браузеров webkit. Попробуйте добавить
box-sizing: conter-box;
paddingи, если это не работает, свойствоborderдля кнопки, чтобы отключить рендеринг собственного графического интерфейса? - person Pekka   schedule 07.08.2010