В: Почему img, input и другие встроенные элементы могут устанавливать ширину и высоту

CSS
В: Почему img, input и другие встроенные элементы могут устанавливать ширину и высоту

Краткий ответ:

потому что<img>,<input>Он принадлежит элементу замены.Элемент замены обычно имеет собственный размер и соотношение сторон (это работает при автоматическом режиме), поэтому он имеет ширину и высоту, которые можно установить.

Подробный ответ:

Элементы являются основой структуры документа.В CSS каждый элемент генерирует блок (box, также переводится как «коробка»), который содержит содержимое элемента. Но разные элементы отображаются по-разному, например.<div>а также<span>отличается, и<strong>а также<p>Не то же самое.

1. Сменные и незаменимые элементы

По характеристикам самого элемента его можно разделить на сменные и несменные элементы.

а) заменить элемент

替换元素 : 浏览器根据元素的标签和属性,来决定元素的具体显示内容。

Например, браузер будет<img>Значение атрибута src тега используется для считывания информации об изображении и ее отображения.<input>Атрибут type метки определяет, отображать ли поле ввода, переключатель и т. д. в HTML<img>,<input>,<textarea>,<select>являются сменными элементами. Эти элементы часто не имеют фактического содержимого, то есть представляют собой пустой элемент, и браузер будет отображать эти элементы в соответствии с типом тега и атрибутами элемента.

б) несменные элементы

HTML 的大多数元素是不可替换元素,即其内容直接表现给用户端(例如浏览器)。

Например<p>段落的内容</p>,пункт<p>является незаменимым элементом, и отображается текст «содержимое абзаца».

2. Элементы уровня блока и встроенные

В дополнение к классификации сменных элементов и некратных элементов элементы в CSS2.1 имеют другие классификации: элементы уровня блока (уровень блока) и встроенные элементы (встроенный уровень, также переведены как «встроенные» элементы).

а) элементы блочного уровня

在视觉上被格式化为块的元素,最明显的特征就是默认在横向充满其父元素的内容区域,而且在其左右两边没有其他元素,即独占一行。

Типичные элементы блочного уровня::<div>,<p>,<h1>прибыть<h6>и т. д.; элементы с плавающей запятой (свойство с плавающей запятой), установленное с помощью CSS, и свойство отображения, для которого установлено значение "блок" или "элемент списка", являются элементами уровня блока. Однако плавающие элементы особенные, из-за плавающих рядом с ними могут быть другие элементы. в то время как "элемент списка" (элемент списка<li>), перед ним будет сгенерирован символ точки или числовой серийный номер.

б) встроенные элементы

行内元素不形成新内容块,即在其左右可以有其他元素。

Например<a>,<span>,<strong>и т. д., являются типичными элементами встроенного уровня. Элементы, свойство display которых равно "inline", являются встроенными элементами.

Эпилог

  1. почти всезаменить элементобевстроенный элемент,Например<img>,<input>и т.п. Однако тип элементов не является фиксированным.Установив свойство display CSS, встроенные элементы можно превратить в элементы блочного уровня, а элементы блочного уровня также можно превратить во встроенные элементы.
  2. Сменные элементы, как правило, имеют внутренние размеры, то есть ширину и высоту, которые можно установить. Например, если вы не укажете ширину и высоту img, он будет отображаться согласно своему внутреннему размеру, то есть ширине и высоте изображения при его сохранении. Для элементов формы браузеры также имеют стили по умолчанию, включая ширину и высоту.

Дополнительные очки знаний

По умолчанию встроенные элементы выравниваются по базовой линии vertical-align=baseline

                                                                  from juicyangxj 2017-11-27