Различие между блочными и встроенными элементами всегда казалось мне странным. Разница состоит в том, что блочный элемент занимает всю ширину, вызывая разрыв строки до и после элемента, а встроенный элемент занимает столько же, сколько и содержимое. Почему бы просто не иметь один тип элемента - встроенный элемент, в котором вы также можете применить собственную высоту / ширину, и использовать это? Вы хотите разрывы строк? Вставьте <br />
или, возможно, добавьте специальный тег в CSS для этого поведения. То, как это происходит сейчас, я не вижу, чтобы это решало какую-либо проблему, и вместо этого это только вызывает свойство, которое, по моему мнению, должно быть решено дизайнером.
Так почему два типа?
<br/>
, и<p>
тега , чтобы получить последнюю строку , отделенного от первого пункта. Возможно, вы должны начать смотреть на огромные различия в визуальном намерении, а не различия в реализации.Ответы:
Ты говоришь:
Вы на правильном пути - стиль должен определяться дизайнером.
Но у вас есть проблема наоборот. Вставка
<br/>
тега - это на самом деле опция, которая «заставляет свойство, которое должен решить дизайнер» - внутри документа разметки, когда<br/>
он есть, он есть - и только с помощью хитрого / хакерского CSS вы можете удалить его эффект.Inline / block
elements
, с другой стороны, являются чисто элементами, стилизованными под удобное значение по умолчанию для общего случая использования. Само визуальное свойство может быть немедленно изменено дизайнером CSS с помощьюdisplay:inline
илиdisplay:block
.Возьмем, к примеру, общий элемент навигации в наши дни -
<li>
. Это элементы по умолчаниюblock
, но дизайнеры заставят ихfloat
выглядеть встроенными (block
имеет больше специальных свойств, чем просто занятие всей строки, но это разговор на другой день).источник
Большинство элементов имеют стандартное форматирование ... Ваш вопрос может быть расширен, чтобы сказать, что это форматирование должно решаться и дизайнером и должно быть удалено. Я всегда просто полагал, что это было отправной точкой и удалял форматирование при необходимости (часто это не так). Но в конце концов есть некоторые вещи, которые являются естественными. Например, если у вас есть абзац, вы ожидаете, что он будет блочным элементом, потому что такова природа абзаца. Независимо от того, имеют ли элементы настройки по умолчанию, такие как блок или встроенный, я определенно хотел бы иметь возможность указать эту опцию. Причиной, по которой я говорю, является то, что ИМО чище, чем разбрасывать вещи
<br />
в HTML. Это делает то же самое? Да. Но с недавними достижениями в HTML большие усилия были сосредоточены на том, чтобы сделать его более семантическим языком, где вы вкладываете меньше в HTML, чем форматирование, и больше в CSS.<br />
Перерыв средство линии , которая , как правило , со ссылкой на разрыв строки в абзаце или другое предложение , содержащая структуру. В конце концов, это не имеет значения для меня, но я лично хочу иметь возможность иметь блочные и встроенные различия, поэтому я надеюсь, что они никогда не уберут это, по крайней мере, со стороны CSS!источник
Это все равно что сказать, что между абзацами и предложениями нет никакой разницы. Параграфы разграничивают группу идей. Как правило, предложение для одной идеи.
Разметка относится к семантике, а не к отображению. В самом деле, дизайнер может свободно обрабатывать любой элемент, который по умолчанию использует стиль блока, как встроенный, и наоборот.
источник
В LaTeX есть два режима (не включая математический режим): горизонтальный режим и вертикальный режим. Элементы (символы) представляют собой небольшие прямоугольники, которые накапливаются «по горизонтали» в абзаце. Затем эти большие коробки накапливаются вертикально. Это похоже на (X) HTML: встроенный и блок.
источник
Похоже, проблема обратной совместимости для меня. Встроенный элемент был, вероятно, более поздним дополнением к стандарту HTML, и поэтому веб-страницы, написанные в 1992 году, все еще можно просматривать в 2011 году, они все еще поддерживаются - как будто существует тонна 19-летних веб-страниц ...!
источник
Я думаю, что режимы отображения настолько различны между блочными и встроенными, что стоит провести различие на уровне разметки.
источник