Я пытаюсь понять эту концепцию CSS, Модель визуального форматирования , конкретно в этой части, Управление генерацией блока .
Из спецификации Anonymous Block Boxes , в их примере есть разметка, подобная этой:
<DIV>
Some text
<P>More text
</DIV>
И вот их объяснение:
(при условииDIV и P оба имеют «display: block»), DIV, по-видимому, имеет как встроенное содержимое, так и содержимое блока.Чтобы упростить определение форматирования, мы предполагаем, что вокруг «Некоторого текста» есть анонимный блок блока.
Другими словами: если блок контейнера блока (например, сгенерированный для DIV выше) имеетблок уровня блока внутри него (такой как P выше), затем мы заставляем его иметь только блоки уровня блока внутри него.
Сначала, исходя из спецификации, ядумал, что анонимный блок будет применяться только к тексту. Однако в более сложном примере кажется не правильным , как этот:
<div>
some <em>text</em>
<p>More text</p>
and more <em>text</em>
</div>
some
нельзя рассматривать как анонимный блок, но всю строку some <em>text</em>
.Потому что, если только some
считается анонимным блок-блоком, тогда <em>text</em>
будет другим;следовательно, эти 2 анонимных блока будут располагаться не в одной строке.То же самое относится и к другому анонимному блоку блоков после блока p
, and more <em>text</em>
.
Итак, всего имеется 3 блока блоков (2 из них - анонимные блоки блоков):
- Поле анонимного блока:
some <em>text</em>
. - Поле блока:
<p>More text<p>
. - Поле анонимного блока:
and more <em>text</em>
.
Что будет выглядеть следующим образом: выявление анонимных блоков уровня блока
Наконец, могу ли я прямо заключить это таким образом?В случае генерации анонимного блока , если контейнер блока имеет блок уровня блока внутри, то этот алгоритм - BoxГенерация будет обрабатывать любые ящики внутри этого блочного контейнера как ящики уровня блока .Таким образом, любые блоки, которые не являются блоками уровня блока , будут внутренне / концептуально рассматриваться как анонимные блоки блоков , которые в основном являются блоками уровня блока В любом случае.
Правильно ли я понимаю эти вещи?Или я совершенно не прав в этом вопросе?