شناورسازی (Float)

آشنایی با float در CSS، شناور کردن عناصر، clearfix و کاربردهای مدرن آن

Float در CSS

Float عنصر را به چپ یا راست شناور می‌کند تا متن و سایر عناصر دور آن بپیچند. در گذشته برای چیدمان استفاده می‌شد، اما امروزه Flexbox و Grid جایگزین آن شده‌اند.

مقادیر float

مقدارتوضیح
leftشناور به چپ
rightشناور به راست
noneبدون شناور (پیش‌فرض)
inline-startشروع خط (مدرن)
inline-endانتهای خط (مدرن)

مثال پایه

.image-left {
        float: left;
        margin-right: 15px;
    }
    
    .image-right {
        float: right;
        margin-left: 15px;
    }

مشکل Float: والد فرو می‌پاشد!

وقتی فرزندان float دارند، والد ارتفاع آن‌ها را تشخیص نمی‌دهد:

/* ❌ والد ارتفاع صفر دارد */
    .container {
        border: 1px solid red;
        /* فرزندان float دارند → ارتفاع از دست می‌رود */
    }

راه‌حل‌های Clearfix

۱. روش کلاسیک ( clearfix hack )

.clearfix::after {
        content: "";
        display: table;
        clear: both;
    }

۲. روش مدرن (overflow)

.container {
        overflow: hidden; /* یا auto */
    }

۳. روش مدرن‌تر (display: flow-root) ⭐

.container {
        display: flow-root;
    }

۴. ویژگی clear

.next-section {
        clear: both;  /* یا left یا right */
    }

کاربردهای هنوز هم مفید Float

Float در برابر Flexbox

ویژگیFloatFlexbox
چیدمانپیچیده و شکنندهساده و قدرتمند
واکنش‌گراسختآسان
تراز عمودی❌✅
ترتیبثابتقابل تغییر
متن دور تصویر✅❌

بهترین شیوه‌ها

نکات مهم

این مبحث بخشی از دوره آموزش کامل CSS است.

ابزارهای مرتبط