دسته : آموزش رایگان CSS
موقعیتبندی (Positioning) در CSS یکی از ویژگیهای کلیدی است که به شما این امکان را میدهد که کنترل کاملی بر مکان و موقعیت عناصر داشته باشید. با استفاده از ویژگی position، میتوانید عناصر را به روشهای مختلفی در صفحه قرار دهید و طرحهای پیچیده و کاربرپسند ایجاد کنید. در این مقاله، به معرفی انواع موقعیتبندی در CSS، از جمله relative، absolute و fixed میپردازیم و نحوه استفاده از آنها را به صورت گامبهگام آموزش میدهیم.
ویژگی position به شما اجازه میدهد موقعیت عناصر را با استفاده از مقادیر مختلف تعیین کنید. این مقادیر عبارتند از:
static: مقدار پیشفرض برای همه عناصر است و به معنی موقعیت استاندارد عنصر در سند HTML است.
relative: موقعیت عنصر را نسبت به موقعیت اصلی آن تنظیم میکند.
absolute: موقعیت عنصر را نسبت به نزدیکترین والد دارای موقعیت تنظیم میکند.
fixed: عنصر را نسبت به پنجره مرورگر موقعیتدهی میکند و با اسکرول کردن صفحه ثابت میماند.
sticky: عنصر در ابتدا مانند relative رفتار میکند، اما پس از رسیدن به موقعیتی خاص در هنگام اسکرول، رفتار آن به fixed تبدیل میشود.
وقتی از مقدار 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 برای 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، عنصر نسبت به کل پنجره مرورگر موقعیتدهی میشود. این بدان معناست که عنصر با اسکرول کردن صفحه در همان موقعیت ثابت میماند و حرکت نمیکند.
< div class="fixed-box" > من یک باکس ثابت هستم < / div >
.fixed-box {
position: fixed;
bottom: 0;
right: 0;
background-color: orange;
padding: 15px;
color: white;
}
در اینجا:
position: fixed باعث میشود که عنصر همواره در انتهای سمت راست و پایین صفحه ثابت بماند، حتی زمانی که کاربر صفحه را اسکرول میکند.
موارد استفاده از fixed شامل ساختن نوار ابزار ثابت یا دکمههای تماس سریع در پایین صفحه است.
مقدار 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
مطالعه بیشتر
آموزش ایجاد و حذف المانهای DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی
2م آبان 1403
مطالعه بیشتر
استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع
9م آبان 1403
مطالعه بیشتر
آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیرهسازی دادهها در مرورگر
3م آبان 1403
مطالعه بیشتر
معرفی جاوا اسکریپت و نحوه استفاده از آن برای توسعه وب تعاملی: راهنمای جامع
27م شهریور 1402
مطالعه بیشتر
آموزش ایجاد Transitions و انیمیشنهای صفحه بارگذاری (Loader) در CSS: طراحی لودرهای جذاب
16م آبان 1403
مطالعه بیشتر
استفاده از font face در CSS برای اضافه کردن فونتهای سفارشی: راهنمای کامل
16م آبان 1403
مطالعه بیشتر
آموزش ساخت یک گالری تصویر با استفاده از جاوا اسکریپت: راهنمای گام به گام
3م آبان 1403
مطالعه بیشتر
آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child
10م شهریور 1402
مطالعه بیشتر
آموزش ساخت Toggle Switch با CSS: طراحی دکمههای تغییر وضعیت جذاب و واکنشگرا
16م آبان 1403
مطالعه بیشتر
مفهوم متغیرها و انواع داده در جاوا اسکریپت: راهنمای جامع برای مبتدیان
28م شهریور 1402
مطالعه بیشتر
آموزش تغییر نوع و اندازه فونت و رنگ متن با CSS: استایلدهی حرفهای به متنها
5م شهریور 1402
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد