Inline-block vs float
Float не завжди зручний: наприклад, при верстці сітки із зображенням. Іноді доречно застосовувати inline-block, який імітує поведінку float'а.
Що таке inline-block?
Звичайна структура блокового елемента:
Inline-block - це значення, які можна призначити властивості display. Назва походить від деяких характеристик як рядкового, так і блокового елементів.
- Блочні (block) елементи мають висоту, ширину, padding, margin, border, а також розташовуються вертикально, один під одним.
- Рядкові (inline) елементи розташовуються горизонтально, один за одним.
- Елементи inline-block мають характеристики як блокових, так і малих елементів.
Inline block vs float: відмінності
- На відміну від float'у, inline-block знаходиться в document flow — «потоці документа», тому немає необхідності застосовувати clearfix або overflow: hidden.
- Очевидно, що float неможливо позиціонувати центром за допомогою text-align: center.
- Inline-block за промовчанням вирівнюється по базовій лінії, а float - по верхньому краю.
- Якщо на сторінці кілька inline-block'ів, кожен з яких розташований з нового рядка, між ними будуть деякі проміжки.
- Inline-block не підтримується або підтримується частково в IE6 та IE7
Для боротьби із проміжками можна використовувати кілька технік. Видалення пропусків у списках:
Використання негативного значення margin:
Дивний спосіб з відсутністю тега LI, що закриває:
Встановлення значення font-size на нуль:
Що використовувати?
Вибір між inline-block та float необхідно робити, виходячи з розв'язуваних завдань у конкретному дизайні. У результаті все зводиться до відмінностей цихдвох інструментів:
- Використовуйте inline-block, якщо більшою мірою необхідний контроль за вертикальним вирівнюванням та горизонтальним позиціонуванням елементів.
- Використовуйте float, якщо необхідно обтікання елементів, а також підтримка старими браузерами, і не хочеться вовтузитися з проблемою порожніх просторів між блоками.
Сітка зображень
Такі сітки використовуються у фотогалереях. На цьому прикладі можна добре проілюструвати поведінку inline-block та float. Використання float виправдане, якщо зображення мають однакову висоту. Якщо ж висота відрізняється, то елементи можуть відображатися криво:
Inline-block'и не мають такої проблеми, тому що розташовуються на одному рівні в рядку. Тому для верстки галереї краще підійде inline-block:
Ми звикли використовувати float для вирішення багатьох завдань при верстці сторінок. Однак іноді простіше та зручніше застосовувати inline-block. А іноді правильніше використати старі добрі таблиці.
Використані матеріали та корисні посилання на тему: