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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

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

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

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

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

مطالعه بیشتر
آموزش گام به گام طراحی مگا منو (Mega Menu) مدرن با CSS و HTML
13م خرداد 1405

آموزش گام به گام طراحی مگا منو (Mega Menu) مدرن با CSS و HTML

مطالعه بیشتر
روش‌های کار با Conditional و Loop در Vue.js | آموزش v-if، v-show و v-for
28م آذر 1404

روش‌های کار با Conditional و Loop در Vue.js | آموزش v-if، v-show و v-for

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

آموزش مفاهیم پایه‌ای اشیاء در جاوا اسکریپت: تعریف، ویژگی‌ها و متدها

مطالعه بیشتر
چگونه اسکریپت‌های ساده جاوا اسکریپت را در مرورگر بنویسیم و اجرا کنیم: راهنمای کامل برای مبتدیان
2م مهر 1402

چگونه اسکریپت‌های ساده جاوا اسکریپت را در مرورگر بنویسیم و اجرا کنیم: راهنمای کامل برای مبتدیان

مطالعه بیشتر
آموزش مفاهیم اولیه CSS Grid Layout: طراحی شبکه‌های پیچیده و واکنش‌گرا راهنمای کامل
6م شهریور 1402

آموزش مفاهیم اولیه CSS Grid Layout: طراحی شبکه‌های پیچیده و واکنش‌گرا راهنمای کامل

مطالعه بیشتر
آموزش Event Handling و v-on در Vue.js | مدیریت رویدادها با مثال کاربردی
22م آذر 1404

آموزش Event Handling و v-on در Vue.js | مدیریت رویدادها با مثال کاربردی

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

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

مطالعه بیشتر
آموزش کار با Webpack و Bundlers برای مدیریت پروژه‌ها: راهنمای جامع و کاربردی
5م آبان 1403

آموزش کار با Webpack و Bundlers برای مدیریت پروژه‌ها: راهنمای جامع و کاربردی

مطالعه بیشتر
آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر
11م آبان 1403

آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر

مطالعه بیشتر
JSX و رندرینگ مؤثر در React.js: بهینه‌سازی کامپوننت‌ها و بهبود عملکرد
28م شهریور 1402

JSX و رندرینگ مؤثر در React.js: بهینه‌سازی کامپوننت‌ها و بهبود عملکرد

مطالعه بیشتر

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