Відповіді:
Це правда, вони обоє - або точніше, вони є елементами "вбудований блок". Це означає, що вони протікають в формі, як текст, але також мають ширину та висоту, як елементи блоку.
У CSS ви можете встановити елемент, щоб display: inline-block
він повторював поведінку зображень *.
Зображення та об'єкти також відомі як "замінені" елементи, оскільки вони самі по собі не мають змісту, елемент по суті замінюється двійковими даними.
* Зауважте, що браузери технічно використовують display: inline
(як це показано в інструментах для розробників), але вони надають особливу обробку зображенням. Вони досі слідують усім рисам inline-block
.
img
елементи не є, inline-block
а фактично inline
елементами. Ви можете перевірити це в сучасному браузері, клацнувши правою кнопкою миші зображення, клацнувши «Перевірити елемент», а потім переглянути обчислюваний стиль, який відображатиметься display: inline
. Всередині тегу не відбувається контекст блоку, тому його неправильно називати inline-block
. Для отримання додаткової інформації про замінені вбудовані елементи див . Відповідь Квентіна та цю статтю MDN .
img
елементи вбудовані - інструменти для розробників Google Chrome показують img
елементи як вбудовані. Ця публікація є єдиним місцем, яке я знайшов поки що, що говорить, що вони inline-block
замість них Цікаво, що я не знайшов жодного авторитету, який би сказав, що вони inline
теж є . Як, можливо, трактувати залежність від використання тегів?
display:inline-block
.
img
Елемент є замінити вбудований елемент .
Він поводиться як вбудований елемент (тому що він є), але деякі узагальнення щодо вбудованих елементів не стосуються img
елементів.
напр
Узагальнення: "Ширина не застосовується до вбудованих елементів"
Що насправді говорить специфікація : "Застосовується до: всіх елементів, але не замінених вбудованих елементів, рядків таблиці та груп рядків"
Оскільки зображення є заміненим вбудованим елементом, воно застосовується.
Майже у всіх цілях вважають їх як вбудований елемент із набором ширини. В основному ви можете диктувати, як ви хочете, щоб зображення відображалися за допомогою CSS. Я, як правило, встановлюю декілька класів зображень на зразок:
img.center {display:block;margin:0 auto;}
img.left {float:left;margin-right:10px;}
img.right {float:right;margin-left:10px;}
img.border {border:1px solid #333;}
Це правда, вони обоє - або точніше, вони є елементами "вбудований блок". Це означає, що вони протікають в формі, як текст, але також мають ширину та висоту, як елементи блоку.