Руководство HTML Block/Inline Elements
Элементы в HTML делятся на 2 вида: Block-Level elements (Блочные) и Inline elements (Строчные элементы).
Block-level Elements
Когда Block-level element (блочные элементы) отображаются на браузере, они автоматически добавляют разрывы строк (line break) впереди и сзади.
<h4>Block Element Example:</h4> <hr/> Tom <h2>and</h2> Jerry.
Список всех Block-level element (по умолчанию) у HTML5:
- <address>
- <article>
- <aside>
- <blockquote>
- <details>
- <dialog>
- <dd>
- <div>
- <dl>
- <dt>
- <figcaption>
- <figure>
- <footer>
- <form>
- <h2>
- <h3>
- <h4>
- <h5>
- <h5>
- <h6>
- <header>
- <hgroup>
- <hr>
- <li>
- <main>
- <nav>
- <ol>
- <p>
- <pre>
- <section>
- <table>
- <ul>
Примечание: Некоторые элементы по умолчанию это Block-Level element, например <div>, но вы можете его конвертировать в Inline Element если применить к нему CSS: {display:inline}.
div-inline-example.html
<h4>DIV (Default):</h4> This is a <div>DIV</div> element. <hr/> <h4>DIV style:{display:inline}</h4> This is a <div>DIV</div> element.
Inline Elements
Inline element (строчные элементы) постоянно появляются в строке (sentence), при отображении на браузере, он не добавляет автоматически разрывы строк (line break) впереди и сзади.
<h4>Inline Element Example:</h4> <hr/> Tom <b>and</b> Jerry.
Список всех Inline element (по умолчанию) у HTML5:
- <a>
- <abbr>
- <acronym>
- <audio> (if it has visible controls)
- <b>
- <bdi>
- <bdo>
- <big>
- <br>
- <button>
- <canvas>
- <cite>
- <code>
- <data>
- <datalist>
- <del>
- <dfn>
- <em>
- <embed>
- <i>
- <iframe>
- <img>
- <input>
- <ins>
- <kbd>
- <label>
- <map>
- <mark>
- <meter>
- <noscript>
- <object>
- <output>
- <picture>
- <progress>
- <q>
- <ruby>
- <s>
- <samp>
- <script>
- <select>
- <slot>
- <small>
- <span>
- <strong>
- <sub>
- <sup>
- <svg>
- <template>
- <textarea>
- <time>
- <u>
- <tt>
- <var>
- <video>
- <wbr>
Примечание: Некоторые элементы по умолчанию это Inline element, например <span>

span-block-example.html
<h4>SPAN (Default):</h4> This is a <span>SPAN</span> element. <hr/> <h4>SPAN style:{display:block}</h4> This is a <span>SPAN</span> element.
<div> является Block-level element, это один из самых широко используемых элементов, и самый важные в документе
По умолчанию <div> создает прозрачный прямоугольный участок, но вы можете визуально увидеть его если применить к нему CSS, например: background, border,….
div-css-example.html
<!DOCTYPE html> <html> <head> <title>DIV Element</title> <meta charset="UTF-8"> </head> <body> <h3>DIV Css Example:</h3> <div> <h4>HTML Tutorials</h4> <ul> <li>Iframe</li> <li>Tables</li> <li>Lists</li> </ul> </div> <p>Others ...</p> </body> </html>
<span> является важным Inline element и используется большего всего в документе HTML. Он используется для содержания других Inline element, или текстовых содержаний. <span> создает прозрачный участок, но вы можете визуально увидеть его если применить к нему CSS, например: background, border,…
span-css-example.html
<!DOCTYPE html> <html> <head> <title>SPAN Element</title> <meta charset="UTF-8"> </head> <body> <h3>Span Css Example:</h3> <p> Apollo 11 was the spaceflight that landed the first humans, <span> Americans <b>Neil Armstrong</b> and <b>Buzz Aldrin</b>, on the Moon on July 20, 1969, at 20:18 UTC. </span> Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.</p> <p>...</p> </body> </html>
Мистический inline-flex и что он делает | by Stas Bagretsov
Пример 2: display: inline-flexК трем контейнерам в синем цвете применяем display: inline-flex
, в них есть три потомка div
’а, которые в красном цвете имеют flex:1
и min-width: 50px
.
Каждый родительский контейнер стоит сразу за другим, потому что они могут уместиться в один ряд. Ширина родительского контейнера зависит от размера потомков, которым тут был выставлен min-width
в 50px.
CSS, но уже с inline-flex
:
.container--inline-flex {
display: inline-flex;
}
HTML:
<div>Объясняем примеры
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
</div>
Элемент с display:flex
очень схож с элементом, на котором стоит display: block
, потому что он забирает сразу всю строку. Однако, в сравнении с представленными до этого свойствами позиционирования, его потомки могут быть размещены в контейнере куда более гибко и динамично, нежели это было возможно ранее.
Если мы изменим display: flex
на display: inline-flex
:
Родительский контейнер будет показываться инлайново.
К потомкам могут быть применены все flex-свойства, разницы с display: flex
в этом плане совсем не будет.
В общем, это означает то, что если элементы потомки не слишком велики, то два контейнера с display: inline-flex
могут идти бок о бок в одной строке.
У других display
свойств тоже есть свои инлайновые близнецы:
У block
есть inline-block
У table
есть inline-table
И даже у grid
есть inline-grid
Больше про CSS Flex и его свойства вы можете прочитать в статье — Вёрстка на Flexbox в CSS.
Полный справочник
CSS Display block inline и сравнение блочных и строчных элементов.
Свойство DISPLAY меняет поведение элемента на странице в зависимости от того, какое ему значение задаем. Значений много, но на ПРАКТИКЕ применяются ВСЕГО пять: block, inline, inline-block, none, flex;Начнем с самого простого: display:none — убирает элемент из верстки, то как будто мы его удалили или закомментировали. Не стоит путать с visibility:hidden и opacity:0; — они делают элемент полностью прозрачным, но не убирают его, то есть его место остается не занятым, поскольку другие элементы думают что он есть, а при display:none они займут его место.
display:flex; относительно новое значение, по сути, элемент ведет себя как блочный, но вся суть в том, как ведут себя элементы внутри него. Но об этом в других уроках.
К строчным относятся: span, i, em, b, strong, a и другие
К блочно-строчным относятся: IMG и другие (даже которые не знаете), это легко проверить на практике, потому в документациях часто противоречивая информация
https://jsfiddle.

Сравнительная таблица блочных и строчных элементов
block | inline-block | inline | |
---|---|---|---|
Ширина width по умолчанию |
Занимает всю доступную ширину, то есть 100%. | Занимает ширину по количеству контента | Занимает ширину по количеству контента |
width=500px | принимает | принимает | проигнорирует |
height | по количеству контента | по количеству контента | по количеству контента |
внутренний отступ = padding | принимает | принимает | применяется, но на соседние элементы не влияет. |
margin | принимает | принимает | применяется только справа и слева, влияние на соседей оказывает |
Спасибо за ваш отзыв!
Считаете ли это полезным? Да Нет
Похожие статьи
Про inline CSS-стили, и почему их нельзя использовать
Сегодня со всей очевидностью осознал, наконец, какая же все-таки гадость — эти ваши inline CSS-стили.
И вот до сих пор удивляюсь, как же не понимал такой простой и очевидной вещи раньше!
Озарение случилось после того, как я попытался должным образом переоформить (для соответствия дизайну конкретного приложения) компонент, написанный в рамках Java-фреймворка под дружелюбным названием Google Web Tools. К сожалению, наши дизайнеры все еще думают, что они делают дизайн web-страниц, и не вдомек им, бедненьким, что некоторые умудряются для web программировать точно таким же образом, каким они бы писали свое первое замечательное desktop-приложение (с великолепной возможностью использования inline-стилей, конечно же!), ну, то есть GWT-way рулит естественно! Стоило бы, конечно, с дизайнерами немного поработать в этом плане… Но inline-стили от этого не становятся менее кошмарной субстанцией.
В русскоязычной литературе на данный вывод, видимо, наложено вето, а читать англоязычную литературу про CSS (!!!) мне как-то в голову не приходило в свое время.
В общем, смысл в том, что хотя inline-стили и удобны в плане быстроты верстки (не надо открывать абсолютно другой файл, а потом искать в нем, где же находится нужный стиль, или где бы завести новый), они по сути являются серьезнейшим антипаттерном при разработке web-страниц и, тем более, web-приложений.
Умные люди говорят, что:
1. Inline-стили не изолируют контент от дизайна. Это по сути те же встроенные атрибуты тэгов, дать возможность не использовать которые суть предназначение CSS.
2. Inline-стили — причина большего количества головных болей при поддержке.
Ну, просто стоит представить, что будет, если вы вдруг решите избавиться от жирного начертания шрифта для некоторых элементов на своих страницах. Хорошо, если все “font-weight: bold;” описаны у вас в замечательном файлике style. css. Если же это все inline-стили, то остается только пожелать вам удачи!
3. Inline-стили увеличивают размер итоговой страницы.
От себя же добавлю: так как inline CSS-стили по своей природе занимают самое важное место в иерархии стилей, они становятся камнем преткновения при необходимости повторного использования web-компонентов, написанных в рамках современных web-фреймворков (GWT, Apache Wicket, ASP.NET и т.д.). Используемые inline-стили исключают возможность поменять внешний вид компонента без изменения кода самого компонента.
Вот поэтому inline-стили не стоит использовать никогда, нигде, ни при каких условиях и сколько бы вам за это не платили!
встроенных элементов — HTML: язык гипертекстовой разметки
HTML-элементы ( Hypertext Markup Language ) исторически классифицировались как элементы «блочного» или «встроенного уровня». Так как это презентационная характеристика, в настоящее время она определяется CSS в макете потока.
Встроенные элементы — это те, которые занимают только пространство, ограниченное тегами, определяющими элемент, вместо того, чтобы нарушать поток содержимого. В этой статье мы рассмотрим встроенные элементы HTML и их отличия от блочных.
Встроенный элемент не начинается с новой строки, а занимает необходимую ширину.
Проще всего это продемонстрировать на простом примере. Во-первых, простой CSS, который мы будем использовать:
.highlight {
цвет фона: # ee3;
}
Inline
Давайте посмотрим на следующий пример, демонстрирующий встроенный элемент:
Следующий диапазон является встроенным элементом ;
его фон был окрашен, чтобы отображать как начало, так и конец
влияние встроенного элемента.
В этом примере элемент уровня блока Теперь давайте изменим этот элементом уровня блока; Рендеринг с использованием того же CSS, что и раньше, получаем: Видите разницу? Элемент Вы можете изменить визуальное представление элемента, используя свойство CSS Вкратце, вот основные концептуальные различия между встроенными и блочными элементами: Следующие элементы являются встроенными по умолчанию (хотя блочные и встроенные элементы больше не определены в HTML 5, вместо этого используйте категории содержимого): Требования: Обычно CSS записывается в отдельном файле CSS (с расширением файла
, который является встроенным элементом. Поскольку элемент
является встроенным, абзац правильно отображается как единый непрерывный текстовый поток, например:
Уровень блока
на элемент уровня блока, например
:
полностью изменяет макет текста, разделяя его на три сегмента: текст перед
, затем текст
и, наконец, текст после < р>
. Изменение уровней элементов
display
.Например, изменив значение display
с «inline»
на «block»
, вы можете указать браузеру визуализировать встроенный элемент в блоке, а не во встроенном блоке, и наоборот. Однако это не изменит категорию и модель содержимого элемента. Например, даже если отображение
элемента span
будет изменено на «блок»
, он все равно не позволит вложить в него элемент div
.
встроенных стилей в HTML | Codecademy
Встроенные стили для HTML
Введение
.
) или в теге css