Почему входные элементы могут иметь размер, если они являются встроенными элементами?

У меня сложилось впечатление, что высота встроенных элементов не может быть изменена, но я могу сделать это с <input type="text"/> элементы.

Правильно ли я это <input type="text"/> элементы встроены?

Если так, то чем они отличаются <span></span> элементы в том, как они могут или не могут быть изменены.

3 ответа

Решение

input элемент inline-block по умолчанию нет inline,

С другой стороны, такой элемент, как span, является inline по умолчанию.

width / height из inline-block элемент, такой как input можно изменить (пример).

В то время как inline элемент, например, span, не может быть изменено по умолчанию, так как его размеры определяются " отображаемым содержимым внутри них ". (пример).

Это свойство [width] не применяется к незамещенным встроенным элементам. Ширина содержимого блоков незаменяемого встроенного элемента - это ширина отображаемого содержимого внутри них (до любого относительного смещения дочерних элементов). Напомним, что встроенные блоки перетекают в линейные блоки. Ширина линейных блоков задается содержащим их блоком, но может быть укорочена из-за наличия поплавков. - ссылка W3

По умолчанию они отображаются как inline-block. Вот почему вы можете указать ширину. Вы можете увидеть это в Chrome Dev Tools, например.

http://codepen.io/johannesjo/pen/BrcuE

Есть разница между inline а также inline-block,

Вы можете изменить height из inline-block Между тем вы не можете изменить inline элементы.

Поэтому я думаю, что то, что вы изменили, может быть inline-block элемент.

Вот вам скрипка!

Другие вопросы по тегам