آموزش رایگان CSS

چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی

2م شهریور 1403 محراب حسن زاده
چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی

یک فوتر چسبان (Sticky Footer) یا فوتر ثابت به شما کمک می‌کند که بخش پایینی صفحه همیشه در انتهای مرورگر قرار گیرد، حتی اگر محتوای صفحه کم باشد و به پایین صفحه نرسد. این نوع فوتر در طراحی‌های مدرن وب بسیار مفید است و می‌تواند تجربه کاربری بهتری را برای مخاطبان فراهم کند. در این مقاله، به بررسی نحوه ایجاد یک فوتر چسبان در CSS می‌پردازیم و چندین روش را برای ساخت آن ارائه می‌دهیم.

 

استفاده از Flexbox برای ساخت فوتر چسبان

یکی از ساده‌ترین و منعطف‌ترین روش‌ها برای ایجاد فوتر چسبان استفاده از Flexbox است. با این روش، می‌توانید به سادگی فوتر را به پایین صفحه چسبانده و باقی محتوای صفحه را تنظیم کنید.

مراحل ایجاد فوتر چسبان با Flexbox

  • عنصر ریشه (< body > یا یک کانتینر کلی) را به صورت flex تنظیم کنید.

  • ارتفاع عنصر اصلی را به صورت 100% تنظیم کنید تا فضای کل صفحه را بگیرد.

  • محتوای اصلی را طوری تنظیم کنید که فوتر همیشه در پایین صفحه باقی بماند.

مثال



< ! DOCTYPE html >
< html lang="fa" >
< head >
  < meta charset="UTF-8" >
  < meta name="viewport" content="width=device-width, initial-scale=1.0" >
  < title > فوتر چسبان با Flexbox < / title >
  < style >
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    /* تنظیم کانتینر اصلی به عنوان Flexbox */
    body {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
        font-family: Arial, sans-serif;
    }

    /* تنظیم محتوای اصلی با فضای خودکار */
    .content {
        flex: 1;
        padding: 20px;
        background-color: #f9f9f9;
    }

    /* استایل‌دهی به فوتر */
    footer {
        background-color: #333;
        color: white;
        text-align: center;
        padding: 10px;
    }
  < / style >
< / head >
< body >
  < div class="content" >
    < h1 > محتوای اصلی < / h1 >
    < p > اینجا محتوای اصلی صفحه قرار دارد. < / p >
  < / div >
  < footer >
    < p > این یک فوتر چسبان است. < / p >
  < / footer >
< / body >
< / html >

 

در اینجا:

  • body به عنوان یک Flexbox با ارتفاع 100% تنظیم شده است.

  • content از فضای خودکار (flex: 1) استفاده می‌کند تا فوتر همیشه در پایین صفحه قرار گیرد.

 

استفاده از Grid برای ساخت فوتر چسبان

روش دیگر برای ایجاد فوتر چسبان استفاده از CSS Grid است. با این روش، می‌توانید یک صفحه شبکه‌ای ایجاد کنید که فوتر همیشه در انتهای آن ثابت باشد.

مراحل ایجاد فوتر چسبان با Grid

  • کانتینر اصلی را به صورت grid تنظیم کنید.

  • سه ردیف برای هدر، محتوا و فوتر تعریف کنید.

  • ارتفاع محتوای اصلی را طوری تنظیم کنید که فوتر به انتهای صفحه بچسبد.

مثال



< ! DOCTYPE html >
< html lang="fa" >
< head >
  < meta charset="UTF-8" >
  < meta name="viewport" content="width=device-width, initial-scale=1.0" >
  < title > فوتر چسبان با Grid < / title >
  < style >
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    /* تنظیم کانتینر اصلی به عنوان Grid */
    body {
        display: grid;
        grid-template-rows: auto 1fr auto;
        min-height: 100vh;
        font-family: Arial, sans-serif;
    }

    /* استایل‌دهی به محتوای اصلی */
    .content {
        padding: 20px;
        background-color: #f9f9f9;
    }

    /* استایل‌دهی به فوتر */
    footer {
        background-color: #333;
        color: white;
        text-align: center;
        padding: 10px;
    }
  < / style >
< / head >
< body >
  < div class="content" >
    < h1 > محتوای اصلی < / h1 >
    < p > اینجا محتوای اصلی صفحه قرار دارد. < / p >
  < / div >
  < footer >
    < p > این یک فوتر چسبان است. < / p >
  < / footer >
< / body >
< / html >

 

در اینجا:

  • کانتینر body به عنوان grid با سه ردیف تنظیم شده است.

  • grid-template-rows ردیف‌هایی برای هدر، محتوا و فوتر ایجاد می‌کند که فوتر همیشه در پایین صفحه می‌ماند.

 

ایجاد فوتر چسبان با استفاده از موقعیت Fixed

یکی دیگر از روش‌های ایجاد فوتر ثابت استفاده از position: fixed است که فوتر را در موقعیت ثابتی از صفحه قرار می‌دهد. این روش مناسب صفحاتی است که فوتر باید همیشه حتی در صورت اسکرول صفحه، در پایین مرورگر بماند.

مثال



< ! DOCTYPE html >
< html lang="fa" >
< head >
  < meta charset="UTF-8" >
  < meta name="viewport" content="width=device-width, initial-scale=1.0" >
  < title > فوتر چسبان با موقعیت Fixed < / title >
  < style >
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    /* تنظیم محتوای اصلی */
    .content {
        padding: 20px;
        background-color: #f9f9f9;
        margin-bottom: 50px; /* فضای پایین برای فوتر */
    }

    /* استایل‌دهی به فوتر */
    footer {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background-color: #333;
        color: white;
        text-align: center;
        padding: 10px;
    }
  < / style >
< / head >
< body >
  < div class="content" >
    < h1 > محتوای اصلی < / h1 >
    < p > اینجا محتوای اصلی صفحه قرار دارد. < / p >
  < / div >
  < footer >
    < p > این یک فوتر ثابت در پایین صفحه است. < / p >
  < / footer >
< / body >
< / html >

 

در اینجا:

  • position: fixed باعث می‌شود فوتر همیشه در پایین مرورگر و قابل مشاهده بماند.

  • اگر محتوای صفحه زیاد باشد، ممکن است margin-bottom در محتوای اصلی نیاز باشد تا با فوتر همپوشانی نداشته باشد.

 

ساخت فوتر چسبان با جاوا اسکریپت (راه‌حل جایگزین)

در صورتی که تمایلی به استفاده از CSS Grid یا Flexbox ندارید، می‌توانید از جاوا اسکریپت برای بررسی ارتفاع محتوای صفحه و تنظیم موقعیت فوتر استفاده کنید.

مثال با جاوا اسکریپت



< ! DOCTYPE html >
< html lang="fa" >
< head >
  < meta charset="UTF-8" >
  < meta name="viewport" content="width=device-width, initial-scale=1.0" >
  < title > فوتر چسبان با جاوا اسکریپت < / title >
  < style >
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    /* تنظیم محتوای اصلی */
    .content {
        padding: 20px;
        background-color: #f9f9f9;
    }

    /* استایل‌دهی به فوتر */
    footer {
        background-color: #333;
        color: white;
        text-align: center;
        padding: 10px;
    }
  < / style >
< / head >
< body >
  < div class="content" >
    < h1 > محتوای اصلی < / h1 >
    < p > اینجا محتوای اصلی صفحه قرار دارد. < / p >
  < / div >
  < footer >
    < p > این یک فوتر چسبان با جاوا اسکریپت است. < / p >
  < / footer >

  < script >
    function stickFooter() {
        const footer = document.querySelector("footer");
        const contentHeight = document.body.offsetHeight;
        const windowHeight = window.innerHeight;

        if (contentHeight < windowHeight) {
            footer.style.position = "fixed";
            footer.style.bottom = "0";
            footer.style.width = "100%";
        } else {
            footer.style.position = "relative";
        }
    }

    window.onload = stickFooter;
    window.onresize = stickFooter;
  < / script >
< / body >
< / html >

 

در اینجا:

  • تابع stickFooter بررسی می‌کند که آیا ارتفاع محتوای صفحه کمتر از ارتفاع مرورگر است یا خیر و در صورت لزوم position: fixed به فوتر اعمال می‌کند.

 

نتیجه‌گیری

ساخت فوتر چسبان با CSS به راحتی و با استفاده از Flexbox، CSS Grid یا حتی جاوا اسکریپت امکان‌پذیر است. با استفاده از این روش‌ها می‌توانید به سادگی یک فوتر ثابت و کاربرپسند در پایین صفحه ایجاد کنید که تجربه کاربری بهتری فراهم کند. بسته به نیاز و ساختار وب‌سایت خود، می‌توانید از یکی از روش‌های فوق برای طراحی فوتر چسبان استفاده کنید.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش جامع توابع در جاوا اسکریپت: نحوه تعریف، فراخوانی و بازگشت مقادیر
2م بهمن 1402

آموزش جامع توابع در جاوا اسکریپت: نحوه تعریف، فراخوانی و بازگشت مقادیر

مطالعه بیشتر
آموزش جامع و استاندارد کار با رشته‌ ها در PHP
27م تیر 1405

آموزش جامع و استاندارد کار با رشته‌ ها در PHP

مطالعه بیشتر
کار با فیلترهای CSS: آموزش استفاده از blur، brightness و contrast برای افکت‌های تصویری جذاب
11م آبان 1403

کار با فیلترهای CSS: آموزش استفاده از blur، brightness و contrast برای افکت‌های تصویری جذاب

مطالعه بیشتر
آموزش کامل کار با آرایه‌ها و اشیاء در جاوا اسکریپت: ایجاد، دستکاری و پیمایش
2م شهریور 1403

آموزش کامل کار با آرایه‌ها و اشیاء در جاوا اسکریپت: ایجاد، دستکاری و پیمایش

مطالعه بیشتر
استفاده از setTimeout و setInterval در جاوا اسکریپت: آموزش کامل و مثال‌ها
29م مهر 1403

استفاده از setTimeout و setInterval در جاوا اسکریپت: آموزش کامل و مثال‌ها

مطالعه بیشتر
آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها
1م آبان 1403

آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها

مطالعه بیشتر
آموزش ترانزیشن‌ها و انیمیشن‌های نرم با CSS: ایجاد افکت‌های پویا و واکنش‌گرا
10م شهریور 1402

آموزش ترانزیشن‌ها و انیمیشن‌های نرم با CSS: ایجاد افکت‌های پویا و واکنش‌گرا

مطالعه بیشتر
آموزش کامل توابع در PHP: از مقدماتی تا پیشرفته با استانداردهای گوگل
16م تیر 1405

آموزش کامل توابع در PHP: از مقدماتی تا پیشرفته با استانداردهای گوگل

مطالعه بیشتر
راهنمای جامع نصب و پیکربندی محیط توسعه محلی (XAMPP، WAMP و Laragon)
14م خرداد 1405

راهنمای جامع نصب و پیکربندی محیط توسعه محلی (XAMPP، WAMP و Laragon)

مطالعه بیشتر
آموزش ایجاد و حذف المان‌های DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی
2م آبان 1403

آموزش ایجاد و حذف المان‌های DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی

مطالعه بیشتر
نصب Node.js و Create React App: شروع پروژه‌های React.js به‌صورت آسان
28م شهریور 1402

نصب Node.js و Create React App: شروع پروژه‌های React.js به‌صورت آسان

مطالعه بیشتر
آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصله‌ها و ابعاد عناصر
5م شهریور 1402

آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصله‌ها و ابعاد عناصر

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد