Рядкові і блокові елементи css
Створюю і просуваю комерційні сайти та інтернет-магазини з 2008 року. 3-05-2013, 02:08 4 998 2Більшість структурних елементів html ділитися на дві основні групи, які дозволяють сформувати документ практично будь-якої складності:
- блокові елементи (block)
- рядкові елементи (inline).
У чому полягає основна різниця між цими елементами? Кардинальним відмінністю між ними є те, що рядкові елементи (inline), за визначенням, не мають верхнього і нижнього відступу. Це засновано на тому, що в загальному потоці рядкові елементи (inline) йдуть один за одним, тобто в одному рядку і на іншу переходять тільки коли доходять до кінця рядка, або коли щось примусово змушує перейти на новий рядок. Блокові елементи (block), на відміну від рядкових елементів, в загальному потоці розташовуються один під іншим.
Тобто, рядковим елементам не можна задати margin-top, margin-bottom, padding-top, padding-bottom. Завдяки цій характеристиці є підводні камені, вони полягають у тому, що згідно специфікації HTML 4.0, є ряд елементів, які відносяться до рядкових елементів.
Для наочності нижче приводитися список елементів, які відносяться до рядкових і які до блокових.
РЯДКОВІ ЕЛЕМЕНТИ:
<a href="">xxx</a>
<br />
<cite>xxx</cite>
<code>xxx</code>
<em>xxx</em>
<img />
<input />
<label>xxx</label>
<select></select>
<span>xxx</span>
<strong>xxx</strong>
<sub>xxx</sub>
<sup>xxx</sup>
<textarea>xxx</textarea>
БЛОКОВІ ЕЛЕМЕНТИ:
<div>xxx</div>
<dl>xxx</dl>
<form>xxx</form>
<h1>xxx</h1>
<h2>xxx</h2>
<h3>xxx</h3>
<h4>xxx</h4>
<h5>xxx</h5>
<h6>xxx</h6>
<hr />
<noscript>xxx</noscript>
<ol>xxx</ol>
<p>xxx</p>
<pre>xxx</pre>
<table>xxx</table>
<ul>xxx</ul>