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

دسته : آموزش رایگان CSS

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

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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش ساخت Toggle Switch با CSS: طراحی دکمه‌های تغییر وضعیت جذاب و واکنش‌گرا

آموزش ساخت Toggle Switch با CSS: طراحی دکمه‌های تغییر وضعیت جذاب و واکنش‌گرا

16م آبان 1403

مطالعه بیشتر

آموزش تگ‌های زمان و مکان در HTML: استفاده از time و location در صفحات وب

آموزش تگ‌های زمان و مکان در HTML: استفاده از time و location در صفحات وب

29م مرداد 1402

مطالعه بیشتر

مقدمه‌ای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان

مقدمه‌ای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان

4م شهریور 1402

مطالعه بیشتر

توابع فلش (Arrow Functions) در جاوا اسکریپت: ساده‌سازی کد با استفاده از ES6

توابع فلش (Arrow Functions) در جاوا اسکریپت: ساده‌سازی کد با استفاده از ES6

2م شهریور 1403

مطالعه بیشتر

آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننت‌ها

آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننت‌ها

28م شهریور 1402

مطالعه بیشتر

استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی

استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی

11م آبان 1403

مطالعه بیشتر

آموزش ایجاد فرم با استفاده از HTML: طراحی فرم‌های ساده و کاربردی

آموزش ایجاد فرم با استفاده از HTML: طراحی فرم‌های ساده و کاربردی

21م مرداد 1402

مطالعه بیشتر

آموزش ساخت یک Todo List با استفاده از DOM و جاوا اسکریپت: راهنمای گام به گام

آموزش ساخت یک Todo List با استفاده از DOM و جاوا اسکریپت: راهنمای گام به گام

3م آبان 1403

مطالعه بیشتر

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

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

18م شهریور 1402

مطالعه بیشتر

آموزش کامل توابع سازنده (Constructors) و پروتوتایپ‌ها (Prototypes) در جاوا اسکریپت: راهنمای جامع

آموزش کامل توابع سازنده (Constructors) و پروتوتایپ‌ها (Prototypes) در جاوا اسکریپت: راهنمای جامع

28م مهر 1403

مطالعه بیشتر

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

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

5م شهریور 1402

مطالعه بیشتر

مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی

مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی

30م مهر 1403

مطالعه بیشتر

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