Какие плюсы и минусы float

Ответ

Плюсы:

  • Простота использования для базовой верстки (обтекание текста вокруг изображений)
  • Поддержка во всех браузерах, включая старые
  • Легко создавать многоколоночные макеты без flex/grid

Минусы:

  • Требует clearfix для корректного отображения родительского контейнера
  • Сложность управления позиционированием элементов
  • Не подходит для сложных адаптивных макетов
  • Может вызывать проблемы с выравниванием элементов
<div class="clearfix">
  <img src="image.jpg" style="float: left;">
  <p>Текст обтекает изображение...</p>
</div>

<style>
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}
</style>

Сегодня лучше использовать flexbox или grid для макетов, оставив float только для специфических задач вроде обтекания текста.

Ответ 18+ 🔞

Ну слушай, ты только вдумайся, эта штука — float — она как старый дед на лавочке. Сидит себе, в ус не дует, и вроде бы всем понятно, зачем он тут. В своё время, блядь, он был королём, все вокруг него плясали, верстали сайты, как могли.

Плюсы, говоришь? Ну, во-первых, проще пареной репы. Хочешь картинку, чтобы текст её, как вода, обтекал? Пожалуйста: float: left; — и текст уже ползёт справа, как будто так и надо. Во-вторых, эта потаскуха работает везде, даже в древнем IE6, который уже, прости господи, в аду давно. И да, если мозгов на flexbox не хватало, то колонки делали на float — раз-два, и готово, хоть три, хоть пять.

<div class="clearfix">
  <img src="image.jpg" style="float: left;">
  <p>Текст обтекает изображение...</p>
</div>

<style>
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}
</style>

А минусы-то, минусы! Ох, ёпта, вот где собака зарыта. Первое — этот ебучий clearfix. Забудешь его прикрутить — и всё, родительский блок схлопнется, как шагреневая кожа. Весь макет ебётся, а ты сидишь и думаешь: «Что за хуйня?». Второе — попробуй-ка выровнять что-то по вертикали или сделать сложную сетку. Это ж пиздец, а не занятие! Ты с float как с упрямым ослом: куда он пошёл, туда и тащит весь layout. Для адаптивности — вообще мрак, одни костыли, одни скрипты.

Короче, вывод простой, как три копейки. Сегодня float — это как отвёртка, когда у тебя целый гараж инструментов. Для специфики, типа той же картинки в тексте — ещё куда ни шло. Но строить на нём целые макеты — это, извини, мазохизм чистой воды. Бери flexbox или grid, не еби себе мозг. А float пусть себе доживает век в учебниках и в старых проектах, где его, блядь, трогать страшно.