Непонятное поведение бордеров
Здравствуйте.
Есть 5 текстовых полей инпут, каждый из них обернут в абзац (<p>). В конце каждого поля добавлены по тегу <span> с картинкой внутри. Проблема в том, что никак не могу выравнять бордеры этих полей и span. Поля 2 и 4 - нормально выравнялись, остальные нет. Подскажите, пожалуйста, почему так происходит? Также хочется понять здесь логику такого поведения. Ссылка (все не нужное выбросил, минимум кода): http://sergcloud.ru/borders/ |
antserg, не верь инпутам. :D
Работай только с однотипными элементами. Например с теми же спанами... В один из них засунь инпут без бордюров с нужной шириной и высотой. |
Огромное вам спасибо. Вы правы.
|
может так
<span style="white-space: nowrap; border: solid 1px gray; padding: 0.1em; border-radius: 0.2em;"> <input value="через:" style="outline-style: none; border: none;"> <img src="http://sergcloud.ru/borders/i/x.png"> </span> |
Цитата:
|
danik.js,
сходу вспоминается, например, это |
Nanto, не сталкивался. Сложно представить случай, когда нужно инпутам указать padding в процентах..
|
Цитата:
|
Цитата:
|
Цитата:
Решение - использовать box-sizing: border-box и никакие проценты не нужны. |
По сабжу (браузеры всё же уточняйте - ага? а то влом перебирать все чтобы багу воспроизвести) - для инпута проставьте корректное значение font-size и будет вам щастье.
|
Цитата:
я к тому, что "width:98%; padding:0 1%;", т.е. поля не задашь в пикселях при таком раскладе, а они нужны, иначе текст будет "липнуть" к краям. |
Цитата:
Цитата:
<style>
input {
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
border: 1px solid gray;
padding: 4px;
*width: 97%;
*padding: 4px 1%;
}
</style>
<input />
|
danik.js,
box-sizing распространение получил относительно недавно, поэтому есть куча кода который надо поддерживать, а не переписывать. В идеале-то, конечно, лучше использовать его (а ещё лучше без префиксов и оглядки на старых ослов). А с процентными бордерами, уже и не помню... как вариант обернуть дивкой с margin:0 1px; и инпуту width:100%; а бордеры пусть на отступы накладываются. |
Цитата:
Цитата:
<!DOCTYPE html>
<style>
body {
outline: 1px dotted blue;
}
div {
margin: 0 5px;
}
input {
width: 100%;
border: 1px solid red;
padding: 4px;
margin: 0 -5px;
}
</style>
<div><input /></div>
|
| Часовой пояс GMT +3, время: 14:53. |