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

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

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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

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

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

مطالعه بیشتر
آموزش استفاده از تگ‌های خاص HTML: تگ‌های کاربردی برای طراحی وب‌سایت
22م مرداد 1402

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

مطالعه بیشتر
آموزش لیست‌ها در CSS: طراحی و استایل‌دهی ساده برای لیست‌های HTML
10م شهریور 1402

آموزش لیست‌ها در CSS: طراحی و استایل‌دهی ساده برای لیست‌های HTML

مطالعه بیشتر
آموزش کامنت‌ها و کاراکترهای خاص در HTML و CSS: نحوه استفاده و مدیریت
23م مرداد 1402

آموزش کامنت‌ها و کاراکترهای خاص در HTML و CSS: نحوه استفاده و مدیریت

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

آموزش ایجاد، دسترسی و اصلاح آرایه‌ها در جاوا اسکریپت: راهنمای کامل

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

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

مطالعه بیشتر
مقدمه‌ای به رویدادها و دستورات در Vue.js: نحوه مدیریت و استفاده از v-on
28م شهریور 1402

مقدمه‌ای به رویدادها و دستورات در Vue.js: نحوه مدیریت و استفاده از v-on

مطالعه بیشتر
آموزش استفاده از تگ‌های تصویری در HTML: نمایش و مدیریت تصاویر در صفحات وب
29م مرداد 1402

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

مطالعه بیشتر
آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل
5م آبان 1403

آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل

مطالعه بیشتر
مفهوم متغیرها و انواع داده در جاوا اسکریپت: راهنمای جامع برای مبتدیان
28م شهریور 1402

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

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

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

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

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

مطالعه بیشتر

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