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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان
1م آبان 1403

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

مطالعه بیشتر
آموزش تغییر المان‌های DOM: ویرایش متن، سبک‌ها و کلاس‌ها در جاوا اسکریپت - راهنمای کامل با مثال‌ها
2م آبان 1403

آموزش تغییر المان‌های DOM: ویرایش متن، سبک‌ها و کلاس‌ها در جاوا اسکریپت - راهنمای کامل با مثال‌ها

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

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

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

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

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

آموزش تکنیک‌های پیشرفته CSS Grid: طراحی ساختارهای پیچیده و واکنش‌گرا

مطالعه بیشتر
آموزش تگ‌های پیوندی و اتصالی در HTML: ایجاد لینک‌های داخلی و خارجی
29م مرداد 1402

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

مطالعه بیشتر
بررسی کتابخانه‌های محبوب جاوا اسکریپت: آشنایی با Lodash و Moment.js - مزایا و کاربردها
4م آبان 1403

بررسی کتابخانه‌های محبوب جاوا اسکریپت: آشنایی با Lodash و Moment.js - مزایا و کاربردها

مطالعه بیشتر
مدیریت خطاها و استفاده از try...catch در جاوا اسکریپت: راهنمای کامل و مثال‌ها
28م مهر 1403

مدیریت خطاها و استفاده از try...catch در جاوا اسکریپت: راهنمای کامل و مثال‌ها

مطالعه بیشتر
آموزش Directive‌ های Vue.js | استفاده از v-model، v-bind و v-show با مثال
23م آذر 1404

آموزش Directive‌ های Vue.js | استفاده از v-model، v-bind و v-show با مثال

مطالعه بیشتر
نصب Node.js و Create React App: شروع پروژه‌های React.js به‌صورت آسان
28م شهریور 1402

نصب Node.js و Create React App: شروع پروژه‌های React.js به‌صورت آسان

مطالعه بیشتر
آموزش Responsive Design با استفاده از Media Queries: طراحی واکنش‌گرا برای تمامی دستگاه‌ها
10م شهریور 1402

آموزش Responsive Design با استفاده از Media Queries: طراحی واکنش‌گرا برای تمامی دستگاه‌ها

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

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

مطالعه بیشتر

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