📞 02166056460

محل قرارگیری عناصر - خواص مربوط به Position

9 / 10
از 9 کاربر
بازگشت به لیست مقالات » | یکشنبه 3 آبان 1405 در ساعت 10 و 30 دقیقه | نظرات کاربران ( 2 )
آموزش CSS

ویژگی position در CSS و روش موقعیت دهی عناصر

راهنمای کاربردی برای کنترل جایگاه، لایه بندی و نمایش عناصر در صفحه وب

ویژگی position در CSS برای تعیین شیوه قرارگیری عناصر در صفحه به کار می رود. با شناخت مقادیر مختلف این ویژگی، می توانید جای یک عنصر را نسبت به موقعیت عادی، پنجره مرورگر یا نزدیک ترین والد مناسب تنظیم کنید و در صورت نیاز ترتیب نمایش عناصر روی هم را تغییر دهید.

در این راهنما، کاربردهای آموزش css را با مثال های ساده مرور می کنیم و تفاوت position های static، relative، absolute، fixed و sticky را توضیح می دهیم. همچنین با ویژگی های top، bottom، left، right و z-index آشنا می شوید تا بتوانید چیدمان صفحه را دقیق تر کنترل کنید.

۰۱

۵ نکته مهم درباره ویژگی position در CSS

پیش از استفاده از موقعیت دهی در CSS، باید بدانید هر مقدار position چه رابطه ای با جریان عادی صفحه دارد. انتخاب نادرست ممکن است باعث شود عنصر از جای مورد انتظار دور شود، روی محتوای دیگری قرار بگیرد یا در صفحه های کوچک به درستی نمایش داده نشود.

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

۰۲

۱. ابتدا جریان عادی صفحه را بشناسید

مرورگر عناصر HTML را طبق جریان عادی صفحه نمایش می دهد. عناصر بلوکی معمولا زیر یکدیگر قرار می گیرند و عناصر درون خطی در امتداد متن دیده می شوند. مقدار پیش فرض position برای بیشتر عناصر، static است؛ بنابراین عنصر در جای طبیعی خود باقی می ماند و ویژگی های top، right، bottom و left روی آن اثر نمی گذارند.

برای نمونه، اگر یک پاراگراف را با position: static نگه دارید، بعد از پاراگراف قبلی و پیش از عنصر بعدی نمایش داده می شود. این رفتار برای بیشتر بخش های یک صفحه کافی است و نیازی نیست برای همه عناصر مقدار position تعریف کنید. استفاده بی دلیل از موقعیت دهی می تواند خوانایی کد و نگهداری چیدمان را دشوار کند.

مثال کاربردی: در یک مقاله ساده، عنوان، متن و تصویر را ابتدا با چیدمان عادی مرورگر مرتب کنید. فقط وقتی هدف مشخصی مانند قرار دادن برچسب روی تصویر یا ثابت نگه داشتن دکمه دارید، سراغ مقادیر دیگر position بروید.

۰۳

۲. تفاوت relative و absolute را در نظر بگیرید

عنصری با position: relative ابتدا جای خود را در جریان عادی صفحه حفظ می کند. سپس می توانید آن را با top، right، bottom یا left کمی از موقعیت اولیه جابه جا کنید. فضای اولیه عنصر همچنان در چیدمان باقی می ماند؛ به همین دلیل، جابه جایی آن معمولا باعث حرکت عناصر اطراف نمی شود.

مقدار absolute رفتار متفاوتی دارد. عنصر از جریان عادی صفحه خارج می شود و برای تعیین موقعیت، به نزدیک ترین والد دارای position غیر از static وابسته است. اگر چنین والدی وجود نداشته باشد، موقعیت آن معمولا نسبت به بخش اولیه صفحه یا viewport محاسبه می شود.

مثال کاربردی: برای قرار دادن یک آیکون روی گوشه تصویر، به تصویر یا قاب آن position: relative بدهید و آیکون را با position: absolute در گوشه دلخواه تنظیم کنید. این روش باعث می شود آیکون به همان قاب وابسته بماند، نه اینکه با تغییر محتوای صفحه به جای نامربوطی منتقل شود.

.image-box {
  position: relative;
}

.image-label {
  position: absolute;
  top: 12px;
  right: 12px;
}
۰۴

۳. جایگاه والد را برای عنصر absolute مشخص کنید

یکی از خطاهای رایج این است که برای عنصر absolute مقدارهای top و left تعریف می شود، اما برای والد آن موقعیت مناسبی در نظر گرفته نمی شود. در این حالت، عنصر ممکن است نسبت به یک والد دورتر یا به جای دیگری از صفحه تراز شود. در بیشتر چیدمان های متداول، تنظیم والد روی relative راه حل روشنی است.

والد لازم نیست حتما جابه جا شود. position: relative می تواند تنها برای ساختن مرجع موقعیت دهی به کار برود و ظاهر خود والد را تغییر ندهد. فرزند absolute نیز از جریان عادی خارج می شود، پس بهتر است مطمئن شوید فضای لازم برای آن در طراحی پیش بینی شده است.

مثال کاربردی: در کارت محصول، قاب کارت را relative کنید و برچسب «جدید» را absolute قرار دهید. به این ترتیب با تغییر جای کارت در صفحه، برچسب هم همراه آن حرکت می کند و روی کارت دیگری قرار نمی گیرد.

۰۵

۴. برای عناصر ثابت و چسبان، شرایط نمایش را بررسی کنید

position: fixed عنصر را نسبت به viewport موقعیت دهی می کند؛ بنابراین با پیمایش صفحه، در همان جای صفحه نمایش باقی می ماند. این ویژگی برای دکمه بازگشت به بالا یا نوارهای ثابت می تواند مفید باشد. در عین حال، اگر عنصر fixed روی متن یا کنترل های دیگر بیفتد، بخشی از محتوا را می پوشاند؛ پس در طراحی موبایل و صفحه های کوچک نیز آن را بررسی کنید.

position: sticky ترکیبی از رفتار عادی و ثابت دارد. عنصر ابتدا در جای معمول خود قرار می گیرد و هنگام پیمایش، در محدوده والد به موقعیت تعیین شده می چسبد. برای فعال شدن این رفتار معمولا باید دست کم یکی از مقادیر top، right، bottom یا left مشخص شود.

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

۰۶

۵. ترتیب لایه ها و z-index را درست مدیریت کنید

وقتی دو عنصر در یک محدوده روی هم قرار می گیرند، z-index می تواند ترتیب لایه های آن ها را کنترل کند. در حالت معمول، مقدار بزرگ تر در همان زمینه موقعیت دهی بالاتر نمایش داده می شود؛ اما مقایسه z-index همیشه فقط به عدد وابسته نیست و ساختار لایه بندی والدها نیز اهمیت دارد.

z-index برای هر عنصر، بدون توجه به زمینه موقعیت دهی آن، به یک شکل عمل نمی کند. در چیدمان های رایج، این ویژگی را کنار position های relative، absolute، fixed یا sticky به کار ببرید. اگر عدد بسیار بزرگی نتیجه مورد انتظار را ایجاد نکرد، ابتدا والدها و زمینه های لایه بندی را بررسی کنید.

مثال کاربردی: اگر یک منوی بازشونده پشت تصویر قرار می گیرد، افزایش z-index ممکن است کافی نباشد؛ ممکن است والد منو در لایه پایین تری قرار داشته باشد. در چنین شرایطی ساختار والدها را بررسی و ترتیب لایه ها را در همان سطح اصلاح کنید.

.menu {
  position: relative;
  z-index: 2;
}

.menu-panel {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 3;
}

مقادیر پرکاربرد position در CSS

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

🎯

Static

عنصر در جریان عادی صفحه قرار می گیرد و از top و left پیروی نمی کند.

🔧

Relative

عنصر نسبت به جای اصلی خود جابه جا می شود و فضای اولیه اش حفظ می شود.

📌

Absolute

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

🔒

Fixed

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

⚡

Sticky

عنصر در محدوده والد، هنگام رسیدن به آستانه تعیین شده می چسبد.

۰۷

ویژگی های top، right، bottom و left

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

اثر این مقادیر به نوع position بستگی دارد. اگر عنصر static باشد، top و دیگر جهت ها جابه جایی ایجاد نمی کنند. برای relative، جابه جایی از موقعیت عادی عنصر سنجیده می شود؛ برای absolute و fixed، مقادیر نسبت به مرجع مربوط به همان عنصر محاسبه می شوند.

در طراحی راست به چپ، مفهوم right و left همچنان به لبه های فیزیکی اشاره دارد. اگر چیدمان باید با جهت متن سازگار شود، می توانید در موارد مناسب از ویژگی های منطقی CSS مانند inset-inline-start و inset-block-start نیز استفاده کنید. این ویژگی ها در پروژه هایی که چند جهت نوشتاری دارند، نگهداری کد را آسان تر می کنند.

۰۸

هم پوشانی عناصر و کاربرد z-index

در بعضی طراحی ها لازم است یک عنصر روی عنصر دیگر دیده شود؛ برای مثال، متن روی تصویر قرار بگیرد یا پنجره بازشونده روی محتوای صفحه نمایش داده شود. موقعیت دهی امکان هم پوشانی را فراهم می کند و z-index ترتیب نمایش لایه ها را، در چارچوب زمینه لایه بندی مربوط، تنظیم می کند.

اگر تصویری به عنوان پس زمینه محتوای یک بخش استفاده می شود، بهتر است ساختار HTML و CSS را طوری طراحی کنید که متن همچنان خوانا و قابل دسترس باشد. استفاده از z-index منفی بدون بررسی والدها می تواند عنصر را پشت زمینه والد پنهان کند. به همین دلیل، مقداردهی z-index را مرحله به مرحله و متناسب با ساختار صفحه انجام دهید.

در نمونه زیر، تصویر با موقعیت absolute در گوشه بالایی قرار می گیرد و z-index آن تعیین می کند نسبت به عناصر هم سطح چگونه دیده شود. در استفاده واقعی، والد تصویر نیز باید مرجع مناسبی برای موقعیت دهی باشد.

.visual {
  position: relative;
}

.visual img {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}

.visual-content {
  position: relative;
  z-index: 2;
}

اشتباهات رایج در استفاده از position

۰۹

فراموش کردن والد موقعیت دار

اگر فرزند absolute نسبت به بخش اشتباهی از صفحه تنظیم شده است، والدهای آن را بررسی کنید. معمولا مشخص کردن position: relative برای والد موردنظر باعث می شود مختصات فرزند قابل پیش بینی تر شود.

۱۰

استفاده از fixed بدون توجه به فضای محتوا

عنصر ثابت ممکن است روی متن، دکمه یا بخش مهمی از صفحه قرار بگیرد. اندازه صفحه را تغییر دهید و رفتار آن را در موبایل هم آزمایش کنید؛ در صورت نیاز برای عنصر فضای مناسب در نظر بگیرید یا شیوه نمایش آن را در اندازه های کوچک تغییر دهید.

۱۱

افزایش بی دلیل مقدار z-index

قرار دادن عددهای بسیار بزرگ برای z-index همیشه مشکل لایه بندی را حل نمی کند. ابتدا بررسی کنید عنصر در کدام زمینه لایه بندی قرار دارد و آیا والد آن مانع نمایش در سطح بالاتر شده است. یک مقیاس منظم برای لایه های اصلی پروژه، اصلاحات بعدی را ساده تر می کند.

ادامه مسیر

برای ساخت سایت، طراحی را اصولی شروع کنید

در کنار یادگیری CSS، ساختار صفحه و تجربه کاربری را هم در نظر بگیرید. برای آشنایی با خدمات طراحی سایت، این صفحه را ببینید.

طراحی سایت ←

جمع بندی: انتخاب درست position در CSS

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

پیش از نهایی کردن کد، رابطه والد و فرزند، اثر top و دیگر جهت ها، ترتیب z-index و نمایش در اندازه های مختلف را بررسی کنید. این اصول در کنار یادگیری HTML به شما کمک می کنند چیدمان قابل پیش بینی تری بسازید. اگر قصد توسعه یک وب سایت کامل را دارید، آشنایی با طراحی سایت نیز می تواند دید گسترده تری درباره ساختار و ظاهر صفحات به شما بدهد.

مزایای position در CSS

کنترل بهتر چیدمان صفحه

از جای گذاری ساده تا مدیریت لایه ها
۰۱
چیدمان

کنترل موقعیت

جای عنصر را متناسب با نیاز صفحه تنظیم کنید.

۰۲
ساختار

مرجع مشخص

عنصر فرزند را به والد مناسب وابسته کنید.

۰۳
نمایش

لایه بندی عناصر

ترتیب نمایش عناصر هم پوشان را مدیریت کنید.

۰۴
پیمایش

رفتار متنوع

عنصر را ثابت یا چسبان نگه دارید.

۰۵
دقت

تنظیم جهت ها

از top و right برای تنظیم جایگاه کمک بگیرید.

مقدار رفتار عنصر کاربرد معمول
static در جریان عادی صفحه قرار می گیرد چیدمان پیش فرض محتوا
relative نسبت به جای اصلی خود جابه جا می شود تنظیم محدود یا ساخت مرجع برای فرزند
absolute از جریان عادی خارج می شود قرار دادن عنصر در محدوده والد
fixed نسبت به پنجره مرورگر ثابت می ماند دکمه یا نوار ثابت
sticky در محدوده والد به موقعیت تعیین شده می چسبد عنوان یا ابزار پیمایش چسبان

سوالات متداول ویژگی position در CSS

ویژگی position در CSS چه کاری انجام می دهد؟

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

تفاوت position: relative و position: absolute چیست؟

عنصر relative فضای خود را در جریان صفحه حفظ می کند و نسبت به جای اولیه اش جابه جا می شود. عنصر absolute از جریان عادی خارج می شود و موقعیتش معمولا نسبت به نزدیک ترین والد دارای position غیر از static تعیین می شود. برای ساختن یک مرجع روشن برای فرزند absolute، اغلب والد را relative می کنند.

چرا top و left روی عنصر static اثر نمی گذارند؟

مقدار static همان شیوه عادی چیدمان مرورگر است و ویژگی های جهت دهی مانند top و left آن را جابه جا نمی کنند. برای استفاده از این ویژگی ها، باید position متناسب با نیاز انتخاب شود؛ مانند relative، absolute، fixed یا sticky.

چرا عنصر absolute در جای مورد انتظار قرار نمی گیرد؟

یکی از علت های رایج این است که والد موردنظر position مناسب ندارد. در این وضعیت، عنصر ممکن است نسبت به والد دیگری یا بخش دیگری از صفحه موقعیت دهی شود. بررسی زنجیره والدها و قراردادن position: relative روی والد مناسب، معمولا مشکل را روشن می کند.

چه زمانی از fixed و چه زمانی از sticky استفاده کنیم؟

fixed برای عنصری مناسب است که باید نسبت به پنجره مرورگر ثابت بماند؛ مانند یک دکمه شناور. sticky ابتدا در جای عادی خود قرار می گیرد و هنگام پیمایش، در محدوده والد به موقعیت تعیین شده می چسبد. اگر عنصر باید به محدوده یک بخش وابسته باشد، sticky انتخاب مناسب تری است.

قدم بعدی، ساخت یک صفحه وب کاربردی است

با تمرین روی مثال ها و بررسی رفتار عناصر در اندازه های مختلف، می توانید از position در CSS دقیق تر استفاده کنید. برای آشنایی بیشتر با طراحی سایت، به وب سایت پارس سافت سر بزنید.

طراحی سایت ←
ارسال نظر و نظرات ثبت شده
الهام :
0 0
با سلام.با تشکر از سایت مفید شما.تمامی مطالب اموزشی شما مفید و کاربردی است.با تشکر
شایان :
7 2
سلام ...خسته نباشید. بسیار مختصر و مفید بود . متشکرم.موفق باشید!
سایر مقالات
آموزش و معرفی انتخابگرها CSS Selectors 📘آشنایی با موضوع در این راهنمای CSS Selectors یا انتخابگرهای CSS، با روش هدف گرفتن عناصر ص ...
تنظیم شفافیت عناصر Opacity ویژگی Opacity در CSS چیست و چگونه از آن استفاده کنیم؟ 💡آشنایی با شفافیت در CSS در این بخش ا ...
خواص نمایش عناصر Cursor , Display , Visibility آموزش CSS ویژگی های cursor، display و visibility در CSS راهنمای کاربردی کنترل اشاره گر، نم ...
محل قرارگیری عناصر - خواص Clear , Float آموزش CSS ویژگی float و clear در CSS؛ آموزش چیدمان عناصر آشنایی با نحوه قرارگیری عناصر، سا ...
محل قرارگیری عناصر - خواص مربوط به Position آموزش CSS ویژگی position در CSS و روش موقعیت دهی عناصر راهنمای کاربردی برای کنترل جایگاه، ...
خواص مربوط به سرریزی Overflow عناصر در CSS ویژگی overflow در CSS چیست و چه کاربردی دارد؟ 💡 مدیریت محتوای سرریز شده در این بخش از آمو ...
دسته بندی
جستجو
⏳ در حال پردازش...
لطفا صبر کنید