Если исходить из ответа Кори, элементы inline
или inline-block
называются «встроенными», поскольку они предназначены для размещения в строках текста.Поэтому, где бы они ни появлялись, место зарезервировано для «спуска», то есть области под строкой текста, куда идут висячие части строчных букв g, j и y.
Так вот откуда появляется дополнительный пробел, когда ваш svg
элемент имеет display: inline
.Вы можете манипулировать количеством пространства, зарезервированного с помощью свойства line-height
, или вы можете полностью удалить его, установив display: block
, как заметил Кори.
Я считаю, что вы можете установить высоту и ширинуЭлементы img
и svg
, поскольку они, на языке CSS, «заменяют» элементы и ведут себя немного иначе, чем обычные встроенные элементы. Спецификация CSS объясняет, как это работает, более подробно.А что касается спецификаций, то на самом деле это довольно читабельно.