آموزش موقعیت‌بندی المان‌ها با استفاده از position در CSS: نحوه استفاده از absolute، relative و fixed

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

آموزش موقعیت‌بندی المان‌ها با استفاده از position در CSS: نحوه استفاده از absolute، relative و fixed

آموزش موقعیت‌بندی المان‌ها با استفاده از position در CSS: نحوه استفاده از absolute، relative و fixed

موقعیت‌بندی (Positioning) در CSS یکی از ویژگی‌های کلیدی است که به شما این امکان را می‌دهد که کنترل کاملی بر مکان و موقعیت عناصر داشته باشید. با استفاده از ویژگی position، می‌توانید عناصر را به روش‌های مختلفی در صفحه قرار دهید و طرح‌های پیچیده و کاربرپسند ایجاد کنید. در این مقاله، به معرفی انواع موقعیت‌بندی در CSS، از جمله relative، absolute و fixed می‌پردازیم و نحوه استفاده از آن‌ها را به صورت گام‌به‌گام آموزش می‌دهیم.

 

مقدمه‌ای بر ویژگی position در CSS

ویژگی position به شما اجازه می‌دهد موقعیت عناصر را با استفاده از مقادیر مختلف تعیین کنید. این مقادیر عبارتند از:

  • static: مقدار پیش‌فرض برای همه عناصر است و به معنی موقعیت استاندارد عنصر در سند HTML است.

  • relative: موقعیت عنصر را نسبت به موقعیت اصلی آن تنظیم می‌کند.

  • absolute: موقعیت عنصر را نسبت به نزدیک‌ترین والد دارای موقعیت تنظیم می‌کند.

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

  • sticky: عنصر در ابتدا مانند relative رفتار می‌کند، اما پس از رسیدن به موقعیتی خاص در هنگام اسکرول، رفتار آن به fixed تبدیل می‌شود.

 

موقعیت‌دهی نسبی (relative)

وقتی از مقدار relative برای position استفاده می‌کنیم، عنصر همچنان در موقعیت اصلی خود در صفحه باقی می‌ماند، اما می‌توانیم آن را با استفاده از ویژگی‌های top، right، bottom و left نسبت به موقعیت اولیه‌اش جابجا کنیم.

مثال استفاده از position: relative



< div class="box" > متن < / div >

 



.box {
  position: relative;
  top: 20px;
  left: 10px;
  background-color: lightblue;
  padding: 20px;
}

 

در این مثال:

  • position: relative عنصر را در موقعیت اصلی خود نگه می‌دارد.

  • top: 20px و left: 10px عنصر را به میزان 20 پیکسل از بالا و 10 پیکسل از سمت چپ جابجا می‌کنند.

نکته: با relative، فضای اولیه عنصر در صفحه همچنان حفظ می‌شود، بنابراین تاثیری بر عناصر دیگر نخواهد داشت.

 

موقعیت‌دهی مطلق (absolute)

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

مثال استفاده از position: absolute



< div class="container" >
  < div class="box" > متن < / div >
< / div >

 



.container {
  position: relative;
  width: 300px;
  height: 200px;
  background-color: lightgray;
}

.box {
  position: absolute;
  top: 10px;
  right: 20px;
  background-color: lightcoral;
  padding: 20px;
}

 

در اینجا:

  • container دارای position: relative است.

  • box با position: absolute نسبت به container موقعیت‌دهی می‌شود.

  • top: 10px و right: 20px عنصر را از بالای container به مقدار 10 پیکسل و از سمت راست 20 پیکسل فاصله می‌دهند.

نکته: عناصر با موقعیت absolute فضای اولیه خود را در سند از دست می‌دهند و روی سایر عناصر قرار می‌گیرند.

 

موقعیت‌دهی ثابت (fixed)

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

مثال استفاده از position: fixed

 



< div class="fixed-box" > من یک باکس ثابت هستم < / div >

 



.fixed-box {
  position: fixed;
  bottom: 0;
  right: 0;
  background-color: orange;
  padding: 15px;
  color: white;
}

 

در اینجا:

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

موارد استفاده از fixed شامل ساختن نوار ابزار ثابت یا دکمه‌های تماس سریع در پایین صفحه است.

 

موقعیت‌دهی چسبنده (sticky)

مقدار sticky به عنصر اجازه می‌دهد تا به طور معمول موقعیت‌دهی شود تا زمانی که کاربر به موقعیت خاصی در اسکرول برسد، سپس رفتار آن به حالت fixed تغییر می‌کند و در همان مکان ثابت می‌ماند.

 

مثال استفاده از position: sticky



< div class="sticky-box" > من یک باکس چسبنده هستم < / div >
< div style="height: 1000px;" > محتوای اسکرول < / div >

 



.sticky-box {
  position: sticky;
  top: 0;
  background-color: teal;
  padding: 10px;
  color: white;
}

 

در اینجا:

  • position: sticky با مقدار top: 0 باعث می‌شود که عنصر در هنگام اسکرول، در بالای صفحه ثابت بماند.

  • این ویژگی معمولاً برای ناوبارهای چسبنده کاربرد دارد.

 

مقایسه و کاربرد هر نوع موقعیت‌دهی

کاربرد

توضیح

مقدار Position

برای موقعیت‌دهی‌های عادی استفاده می‌شود.

موقعیت‌دهی پیش‌فرض؛ عنصر در جایگاه عادی خود قرار دارد و از ویژگی‌های top، left و غیره پشتیبانی نمی‌کند.

static

برای جابجایی‌های کوچک و ایجاد والد برای عناصر absolute مناسب است.

عنصر در جایگاه عادی خود قرار دارد و می‌توان آن را نسبت به موقعیت اولیه خود جابجا کرد.

relative

برای موقعیت‌دهی دقیق‌تر و قرار دادن عناصر روی یکدیگر.

عنصر نسبت به نزدیک‌ترین والد دارای موقعیت، موقعیت‌دهی می‌شود و از جایگاه اصلی خود جدا می‌شود.

absolute

مناسب برای نوار ابزار، فوتر ثابت یا دکمه‌های سریع.

عنصر نسبت به پنجره مرورگر موقعیت‌دهی می‌شود و با اسکرول ثابت می‌ماند.

fixed

برای ناوبار چسبنده و اجزای چسبنده در صفحات طولانی.

تا زمانی که به موقعیت خاصی در اسکرول نرسیده، مانند relative عمل می‌کند و سپس به fixed تغییر می‌کند.

sticky

 

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

  • انتخاب نوع مناسب: بسته به نیاز خود از relative، absolute، fixed یا sticky استفاده کنید. به طور مثال، برای قرار دادن عناصر روی هم، از absolute و برای نوار ابزار ثابت از fixed استفاده کنید.

  • استفاده از Z-index: برای کنترل ترتیب نمایش عناصر، از ویژگی z-index استفاده کنید. عناصری که position دارند می‌توانند با مقادیر z-index مشخصی بالاتر یا پایین‌تر از سایر عناصر نمایش داده شوند.

    
    
    .box1 {
      position: absolute;
      z-index: 1;
    }
    .box2 {
      position: absolute;
      z-index: 2;
    }
    
    
  • آزمایش و تنظیم دقیق: موقعیت‌دهی‌ها ممکن است در صفحه‌های مختلف به طور متفاوتی نمایش داده شوند، بنابراین حتماً در اندازه‌های مختلف صفحه آزمایش کنید.

 

نتیجه‌گیری

ویژگی position در CSS ابزاری بسیار مهم برای موقعیت‌دهی و کنترل دقیق عناصر در صفحه وب است. با استفاده از انواع موقعیت‌دهی مانند relative، absolute، fixed و sticky می‌توانید طرح‌های پویا و جذابی ایجاد کنید. با تسلط بر این مفاهیم و تمرین، می‌توانید کنترل کاملی بر چیدمان عناصر وب‌سایت خود داشته باشید و تجربه کاربری بهتری ایجاد کنید.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش کامل کنترل جریان و استفاده از if و else در جاوا اسکریپت: راهنمای جامع برای مبتدیان

آموزش کامل کنترل جریان و استفاده از if و else در جاوا اسکریپت: راهنمای جامع برای مبتدیان

2م بهمن 1402

مطالعه بیشتر

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

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

2م آبان 1403

مطالعه بیشتر

استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع

استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع

9م آبان 1403

مطالعه بیشتر

آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیره‌سازی داده‌ها در مرورگر

آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیره‌سازی داده‌ها در مرورگر

3م آبان 1403

مطالعه بیشتر

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

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

27م شهریور 1402

مطالعه بیشتر

آموزش ایجاد Transitions و انیمیشن‌های صفحه بارگذاری (Loader) در CSS: طراحی لودرهای جذاب

آموزش ایجاد Transitions و انیمیشن‌های صفحه بارگذاری (Loader) در CSS: طراحی لودرهای جذاب

16م آبان 1403

مطالعه بیشتر

استفاده از font face در CSS برای اضافه کردن فونت‌های سفارشی: راهنمای کامل

استفاده از font face در CSS برای اضافه کردن فونت‌های سفارشی: راهنمای کامل

16م آبان 1403

مطالعه بیشتر

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

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

3م آبان 1403

مطالعه بیشتر

آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child

آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child

10م شهریور 1402

مطالعه بیشتر

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

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

16م آبان 1403

مطالعه بیشتر

مفهوم متغیرها و انواع داده در جاوا اسکریپت: راهنمای جامع برای مبتدیان

مفهوم متغیرها و انواع داده در جاوا اسکریپت: راهنمای جامع برای مبتدیان

28م شهریور 1402

مطالعه بیشتر

آموزش تغییر نوع و اندازه فونت و رنگ متن با CSS: استایل‌دهی حرفه‌ای به متن‌ها

آموزش تغییر نوع و اندازه فونت و رنگ متن با CSS: استایل‌دهی حرفه‌ای به متن‌ها

5م شهریور 1402

مطالعه بیشتر

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