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

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

1403/06/02 17:39 محراب حسن زاده
چگونه یک فوتر چسبان در 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 یا حتی جاوا اسکریپت امکان‌پذیر است. با استفاده از این روش‌ها می‌توانید به سادگی یک فوتر ثابت و کاربرپسند در پایین صفحه ایجاد کنید که تجربه کاربری بهتری فراهم کند. بسته به نیاز و ساختار وب‌سایت خود، می‌توانید از یکی از روش‌های فوق برای طراحی فوتر چسبان استفاده کنید.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش فیلتر کردن داده‌ها در PHP با توابع filter_var و preg_match
1405/05/13 21:29

آموزش فیلتر کردن داده‌ها در PHP با توابع filter_var و preg_match

مطالعه بیشتر
آموزش متغیرهای سفارشی (Custom Properties) در CSS: نحوه تعریف و استفاده از var
1402/06/18 22:41

آموزش متغیرهای سفارشی (Custom Properties) در CSS: نحوه تعریف و استفاده از var

مطالعه بیشتر
آموزش کامل ویژگی background در CSS: تنظیمات پس‌زمینه برای طراحی وب راهنمای جامع
1402/06/05 23:51

آموزش کامل ویژگی background در CSS: تنظیمات پس‌زمینه برای طراحی وب راهنمای جامع

مطالعه بیشتر
آموزش جامع و استاندارد کار با آرایه‌ها در PHP (راهنمای گوگل)
1405/03/24 01:04

آموزش جامع و استاندارد کار با آرایه‌ها در PHP (راهنمای گوگل)

مطالعه بیشتر
اصول پایه React.js: آشنایی با کامپوننت‌ها، وضعیت و رندرینگ
1402/06/28 23:20

اصول پایه React.js: آشنایی با کامپوننت‌ها، وضعیت و رندرینگ

مطالعه بیشتر
آموزش جامع و کاربردی کار با فایل‌ها در PHP
1405/05/04 23:14

آموزش جامع و کاربردی کار با فایل‌ها در PHP

مطالعه بیشتر
آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر به‌صورت دقیق
1403/08/12 19:51

آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر به‌صورت دقیق

مطالعه بیشتر
آموزش استفاده از box-shadow و text-shadow در CSS: ایجاد سایه‌های زیبا و جذاب
1403/08/11 21:20

آموزش استفاده از box-shadow و text-shadow در CSS: ایجاد سایه‌های زیبا و جذاب

مطالعه بیشتر
آموزش استفاده از position در CSS: نحوه موقعیت‌دهی عناصر در صفحات وب
1403/08/09 20:59

آموزش استفاده از position در CSS: نحوه موقعیت‌دهی عناصر در صفحات وب

مطالعه بیشتر
راهنمای کامل تگ‌های متنی HTML و اصول سئو برای محتوا
1402/05/18 00:40

راهنمای کامل تگ‌های متنی HTML و اصول سئو برای محتوا

مطالعه بیشتر
آموزش کامل و امن آپلود فایل در PHP (مطابق استاندارد گوگل)
1405/05/01 20:17

آموزش کامل و امن آپلود فایل در PHP (مطابق استاندارد گوگل)

مطالعه بیشتر
آموزش کامل متغیرهای $_GET، $_POST و $_REQUEST در PHP به زبان ساده
1405/05/01 20:01

آموزش کامل متغیرهای $_GET، $_POST و $_REQUEST در PHP به زبان ساده

مطالعه بیشتر

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