У трьох словах: inline-block
краще.
Вбудований блок
Єдиний недолік display: inline-block
підходу полягає в тому, що в IE7 і нижче елемент може відображатися лише в тому inline-block
випадку, якщо він вже був inline
за замовчуванням. Це означає, що замість <div>
елемента потрібно використовувати <span>
елемент. Це насправді не є величезним недоліком, оскільки семантично <div>
це розділення сторінки, а а <span>
- лише для покриття прольоту сторінки, тому немає величезної семантичної різниці. Величезною перевагою display:inline-block
є те, що коли інші розробники підтримують ваш код у більш пізній момент, це набагато очевидніше, що display:inline-block
і text-align:right
намагається зробити, ніж заява float:left
чи float:right
заява. Моя улюблена користь від inline-block
підходу полягає в тому, що він простий у використанні vertical-align: middle
, line-height
іtext-align: center
ідеально центрувати елементи інтуїтивно зрозумілим чином. У блозі Mozilla я знайшов чудову публікацію в блозі про те, як реалізувати крос-браузерний вбудований блок . Ось сумісність браузера .
Поплавок
Причина того, що використання float
методу не підходить для компонування вашої сторінки, полягає в тому, що float
властивість CSS спочатку була призначена лише для того, щоб обгорнути текст навколо зображення (стиль журналу) і, за задумом, не найкраще підходить для цілей загального розміщення сторінки. При подальшій зміні плаваючих елементів іноді виникнуть проблеми з позиціонуванням, оскільки вони не в потоці сторінки . Ще один недолік полягає в тому, що він, як правило, вимагає чіткого виправлення, інакше він може порушити аспекти сторінки. Очищення вимагає додавання елемента після плаваючих елементів, щоб не допустити згортання їх батьків навколо них, що перетинає семантичну лінію між розділенням стилю від вмісту і, таким чином, є антидіаграмою у веб-розробці .
Будь-які проблеми з пробілом, згадані у посиланні вище, легко можна виправити за допомогою white-space
властивості CSS.
Редагувати:
SitePoint - дуже надійне джерело для консультацій з веб-дизайну, і вони, схоже, мають таку саму думку, що і я:
Якщо ви не знайомі з макетами CSS, вам пробачать думати, що використання CSS-плавців у образних способах - це висота майстерності. Якщо ви спожили стільки навчальних посібників з компонування CSS, ви можете припустити, що освоєння плавців - це обряд проходження. Вас осліпить винахідливість, вражена складністю, і ви отримаєте відчуття досягнення, коли нарешті зрозумієте, як працюють поплавки.
Не обманюйте. Ти промиваєш мозок.
http://www.sitepoint.com/give-floats-the-flick-in-css-layouts/
Оновлення 2015 року - Flexbox є хорошою альтернативою для сучасних браузерів :
.container {
display: flex; /* or inline-flex */
}
.item {
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}
Більше інформації
Оновлення 21 грудня 2016 року
Bootstrap 4 видаляє підтримку IE9, і, таким чином, позбавляється плавців з рядків і працює повний Flexbox.
Затягнути запит # 21389
inline
, ніinline-block
. Але перший з них пов’язаний добре: stackoverflow.com/a/11823622/918414