یک عنصر بلوک در HTML عنصری است که به طور پیش فرض ، کل عرض عنصر اصلی را در بر بگیرد. عنصر والد می تواند یک عنصر بلوک دیگر یا یک پنجره مرورگر باشد. با استفاده از خصوصیات CSS می توان یک عنصر بلوک را به عرض و ارتفاع تنظیم کرد. موقعیت یابی عناصر بلوک فرآیند موقعیت یابی آنها در داخل پنجره مرورگر و نسبت به یکدیگر با استفاده از موقعیت CSS ، چپ ، بالا ، راست و پایین است. ویژگی موقعیت CSS برای تنظیم یکی از چهار نوع موقعیت موجود موجود استاتیک (پیش فرض) ، مطلق ، ثابت و نسبی طراحی شده است. بقیه خصوصیات CSS ، یعنی چپ ، بالا ، راست و پایین ، برای تنظیم فواصل نسبت به لبه های چپ ، بالا ، راست و پایین عنصر اصلی در نظر گرفته شده اند. همچنین ، هنگام تنظیم خواص خاص ، عناصر مسدود می توانند با یکدیگر همپوشانی داشته باشند ، و این فرصتاز همین موارد می توان در وب سایت ها استفاده کرد.
موقعیت پیش فرض (ثابت)
اگر موقعیت را روی یک عنصر بلوک مشخص نکرده اید ، یا ایستایی را تعیین کرده اید که همان است ، عناصر بلوک به ترتیب مرتب شده اند. علاوه بر این ، بلوک بعدی (به عنوان مثال: قرمز) در یک خط جدید قرار دارد. همچنین ، این موقعیت با تنظیم فاصله های چپ ، بالا ، راست و پایین تحت تأثیر قرار نمی گیرد.
موقعیت یابی مطلق
در موقعیت یابی مطلق ، موقعیت یک عنصر نسبت به لبه های پنجره مرورگر با استفاده از فواصل داده شده توسط ویژگی های چپ ، بالا ، راست و پایین تنظیم می شود. اگر فواصل چپ و راست را همزمان مشخص کنید ، و آنها با یکدیگر در تضاد باشند ، پس اولویت به چپ داده می شود ، در بالا و پایین نیز همین امر اعمال می شود ، که در آن فاصله برتر اولویت دارد. موقعیت مطلق اغلب در ترکیب با موقعیت نسبی برای اهداف طراحی استفاده می شود ، در صورت نیاز به قرار دادن عناصر مختلف نسبت به یکدیگر ، می توان از آن برای ایجاد منوهای کشویی ، علامت گذاری سایت و غیره استفاده کرد.
![](https://i1.wp.com/itchief.ru/assets/images/tickets/2014.10/position-absolute.png)
موقعیت یابی ثابت
موقعیت یابی ثابت با سایر موقعیت ها متفاوت است و هنگام پیمایش صفحه با محتوا حرکت نمی کند. عناصر بلوک با موقعیت ثابت با استفاده از ویژگی های چپ ، بالا ، راست و پایین در لبه های پنجره مرورگر لنگر می اندازند. موقعیت یابی ثابت برای ایجاد رابط های قاب دار استفاده می شود (پنجره مرورگر به چندین قسمت تقسیم شده است) ، یک منوی ثابت ، زیر صفحه ثابت سایت و بلوک های "دائمی" (لیست پیوندها ، دکمه های اجتماعی و غیره).
![](https://i2.wp.com/itchief.ru/assets/images/tickets/2014.10/fixed_position.png)
موقعیت یابی نسبی
موقعیت یابی نسبی با تعیین فاصله های چپ ، بالا ، راست و پایین نسبت به موقعیت فعلی آن مشخص می شود.
![](https://i0.wp.com/itchief.ru/assets/images/tickets/2014.10/position-relative.png)
با این حال ، چنین موقعیت بلوکی نیز می تواند با استفاده از ویژگی margin ایجاد شود.
موقعیت یابی نسبی به خودی خود سرگرم کننده نیست ، بلکه بیشتر در ترکیب با موقعیت مطلق استفاده می شود.
گزینه ها را در نظر بگیرید:
![](https://i1.wp.com/itchief.ru/assets/images/tickets/2014.10/absolute_in_relative.png)
موقعیت یابی یکی از مفاهیم کلیدی در طرح بندی بلوک است. پس از پرداختن به آن ، چیزهای زیادی خواهید فهمید ، و طرح از شامانیسم به یک روند معنادار تبدیل خواهد شد. بنابراین ، این مقاله به خصوصیات CSS می پردازد. موقعیتو شناور.
1. موقعیت: ساکن
به طور پیش فرض ، تمام عناصر موجود در صفحه به صورت ایستا قرار گرفته اند (موقعیت: ایستا) ، به این معنی که عنصر در موقعیت قرار نگرفته و در سند در مکان معمول خود ، یعنی به همان ترتیب نشانگر html ظاهر می شود.
نیازی به اختصاص خاص این ویژگی به هیچ عنصری نیست ، مگر اینکه لازم باشد موقعیت تنظیم شده قبلی را به حالت پیش فرض تغییر دهید.
# محتوا (موقعیت: ایستا؛)
2. موقعیت: نسبی
موقعیت: نسبی به شما امکان می دهد از ویژگی های بالا ، پایین ، چپ و راست برای قرار دادن یک عنصر نسبت به محل قرارگیری آن در موقعیت طبیعی استفاده کنید.
بیایید # محتوا را 20 پیکسل به پایین و 40 پیکسل به سمت چپ حرکت دهیم:
# محتوا (موقعیت: نسبی ؛ بالا: 20 پیکسل ؛ سمت چپ: -40 پیکسل ؛)
توجه کنید که در حال حاضر فضای خالی وجود دارد که باید بلوک # محتوای ما باشد. به دنبال بلوک # محتوا ، بلوک # فوتور به پایین حرکت نکرد ، زیرا با وجود اینکه ما آن را منتقل کردیم ، # محتوای آن هنوز در سند وجود دارد.
در این مرحله ، ممکن است به نظر برسد که موقعیت نسبی چندان مفید نیست ، اما به نتیجه گیری عجله نکنید ، بعداً در مقاله خواهید فهمید که برای چه چیزی می توان استفاده کرد
3. قرار دادن: مطلق
با موقعیت یابی مطلق (موقعیت: مطلق) ، عنصر از سند حذف می شود و در محلی ظاهر می شود که شما به آن می گویید.
به عنوان مثال بلوک # div-1a را به بالا ، گوشه سمت راست صفحه منتقل کنیم:
# div-1a (موقعیت: مطلق ؛ بالا: 0؛ راست: 0؛ عرض: 200 پیکسل؛)
توجه داشته باشید که این بار ، به دلیل اینکه بلوک # div-1a از سند حذف شده است ، عناصر باقیمانده در صفحه به طور متفاوتی قرار گرفته اند: # div-1b ، # div-1c و # فوتور به آنجا منتقل شده اند که حذف شده است بلوک بود و بلوک # div-1a خود دقیقاً در گوشه سمت راست بالای صفحه قرار دارد.
بنابراین ، می توانیم هر عنصر را نسبت به صفحه قرار دهیم ، اما این کافی نیست. در واقع ، ما باید # div-1a را نسبت به بلوک محتوای والد # قرار دهیم. و در این مرحله ، موقعیت یابی نسبی دوباره بازی می کند.
4. موقعیت: ثابت
موقعیت یابی ثابت (موقعیت: ثابت) زیر بخشی از موقعیت مطلق است. تنها تفاوت آن این است که همیشه در قسمت قابل مشاهده صفحه است و هنگام پیمایش صفحه حرکت نمی کند. از این نظر ، کمی شبیه تصویر پس زمینه ثابت است.
# div-1a (موقعیت: ثابت؛ بالا: 0؛ سمت راست: 0؛ عرض: 200 پیکسل؛)
در اینترنت اکسپلورر با موقعیت: ثابت ، همه چیز به همان راحتی که می خواهیم روان نیست ، اما وجود دارد راه های زیاداین محدودیت ها را دور بزنید.
5. موقعیت: نسبی + موقعیت: مطلق
با اختصاص موقعیت: نسبت به بلوک # محتوا ، می توانیم عناصر کودک را نسبت به مرزهای آن قرار دهیم. بیایید بلوک # div-1a را در گوشه سمت راست بالای بلوک # محتوا قرار دهیم.
# محتوا (موقعیت: نسبی ؛) # div-1a (موقعیت: مطلق ؛ بالا: 0 ؛ راست: 0 ؛ عرض: 200 پیکسل؛)
6. دو ستون
با آگاهی از مراحل قبلی ، می توانید دو ستون را با استفاده از موقعیت یابی نسبی و مطلق ایجاد کنید.
# محتوا (موقعیت: نسبی ؛) # div-1a (موقعیت: مطلق ؛ بالا: 0 ؛ راست: 0 ؛ عرض: 200 پیکسل ؛)
یکی از مزایای موقعیت یابی مطلق ، توانایی قرار دادن عناصر به هر ترتیب بدون در نظر گرفتن نحوه قرارگیری آنها در نشانه گذاری است. در مثال بالا ، بلوک # div-1b قبل از بلوک # div-1a قرار گرفته است.
و اکنون باید یک سوال داشته باشید: "بقیه عناصر مثال ما کجا رفتند؟". آنها در زیر بلوکهایی کاملاً فاصله داشتند. خوشبختانه راهی برای رفع این مشکل وجود دارد.
7. دو ستون با ارتفاع ثابت
یک راه حل این است که ظرف حاوی ستون ها را روی ارتفاع ثابت تنظیم کنید.
# محتوا (موقعیت: نسبی ؛ ارتفاع: 450 پیکسل) # div-1a (موقعیت: مطلق ؛ بالا: 0 ؛ راست: 0 ؛ عرض: 200 پیکسل ؛ عرض: 200 پیکسل؛)
راه حل چندان مناسب نیست ، زیرا ما هرگز از قبل نمی دانیم متن در ستون ها چه اندازه ای قرار می گیرد و از چه قلم استفاده می شود.
8. شناور
برای ستون هایی با ارتفاع متغیر ، موقعیت مطلق مناسب نیست ، بنابراین بیایید گزینه دیگری را بررسی کنیم.
با اختصاص شناور به بلوک ، آن را تا حد امکان به لبه راست (یا چپ) فشار خواهیم داد و متن زیر بلوک به دور آن پیچیده می شود. این معمولاً برای تصاویر استفاده می شود ، اما ما برای کار پیچیده تری از آن استفاده خواهیم کرد ، زیرا این تنها ابزاری است که در اختیار ما است.
# div-1a (شناور: چپ ؛ عرض: 200 پیکسل؛)
9. بلندگوهای "شناور"
اگر float: سمت چپ را به بلوک اول اختصاص دهیم ، و سپس float را بنویسیم: چپ را به بلوک دوم ، هر یک از بلوک ها به لبه سمت چپ متصل می شوند ، و ما دو ستون با ارتفاع متغیر بدست می آوریم.
# div-1a (شناور: چپ ؛ عرض: 150 پیکسل؛) # div-1b (شناور: چپ ؛ عرض: 150 پیکسل؛)
همچنین ، می توانید مقدار float مخالف را به ستون ها اختصاص دهید ، در این حالت ، آنها در امتداد لبه های ظرف توزیع می شوند.
# div-1a (float: right؛ width: 150px؛) # div-1b (float: left؛ width: 150px؛)
اما اکنون یک مشکل دیگر داریم - ستون ها فراتر از ظرف اصلی هستند و در نتیجه کل طرح را می شکنند. این رایج ترین مشکل برای طراحان تازه کار است ، گرچه به راحتی حل می شود.
10. شناور پاکسازی
نظافت شناور به دو روش انجام می شود. اگر بعد از ستون ها بلوک دیگری وجود داشته باشد ، کافی است مقدار واضح را تعیین کنید: هر دو به آن.
# div-1a (float: چپ ؛ عرض: 190px؛) # div-1b (float: چپ ؛ عرض: 190px؛) # div-1c (روشن: هر دو؛)
یا ویژگی overflow: hidden را به ظرف اصلی اختصاص دهید
# محتوا (سرریز: پنهان ؛)
در هر صورت نتیجه همان خواهد بود.
نتیجه
امروزه فقط تکنیک های اساسی موقعیت یابی و ساده ترین نمونه ها در نظر گرفته شده است. همچنین ، برای کمک به طراحان تازه کار ، من همیشه مجموعه ای از مقاله های ایوان ساگالایف را پیشنهاد می کنم ، که در یک زمان بسیار به من کمک کرد.
مکان غیرمعمول!
تصمیم بگیرید که کدام عنصر در جلو نمایش داده شود!
عناصر می توانند همپوشانی داشته باشند!
تثبیت موقعیت
ویژگی های موقعیت یابی CSS به شما امکان می دهد یک عنصر را موقعیت یابی کنید. آنها همچنین می توانند عنصری را پشت سر دیگری قرار دهند و مشخص کنند چه اتفاقی می افتد که محتوای عنصر بسیار زیاد باشد.
عناصر را می توان با استفاده از خصوصیات بالا (بالا) ، پایین (پایین) ، چپ (چپ) و راست (راست) قرار داد. با این حال ، تا زمان تعیین ویژگی موقعیت ، این خصوصیات کار نمی کنند. بسته به روش موقعیت یابی آنها نیز متفاوت عمل می کنند.
چهار روش موقعیت یابی مختلف وجود دارد.
موقعیت یابی استاتیک
عناصر HTML به طور پیش فرض به صورت ایستا قرار می گیرند. یک عنصر با موقعیت ثابت همیشه مطابق با جریان استاندارد عناصر موجود در صفحه قرار می گیرد.
عناصر مستقر در موقعیت تحت تأثیر خصوصیات بالا ، پایین ، چپ و راست قرار نمی گیرند.
موقعیت یابی ثابت
عنصری با موقعیت ثابت نسبت به پنجره مرورگر قرار می گیرد.
حتی اگر پنجره پیمایش شود حرکت نخواهد کرد:
اظهار نظر: IE7 و IE8 فقط درصورت تعیین DOCTYPE از مقدار ثابت پشتیبانی می کنند.
عناصر ثابت از جریان طبیعی خارج می شوند. سند و سایر عناصر به گونه ای رفتار می کنند که گویی عنصر ثابت وجود ندارد.
موارد قفل شده می توانند سایر موارد را با هم تداخل دهند.
موقعیت یابی نسبی
یک عنصر نسبتاً موقعیتی نسبت به موقعیت طبیعی خود قرار گرفته است.
عناصر نسبتاً موقعیت دار اغلب به عنوان ظرف هایی برای عناصر کاملاً موقعیت دار استفاده می شوند.
موقعیت یابی مطلق
یک عنصر کاملاً موقعیت دار نسبت به اولین عنصر والد قرار می گیرد ، که متفاوت از ایستا قرار گرفته است. اگر چنین عنصری پیدا نشود ، والد به عنوان گرفته می شود :
موارد کاملاً موقعیت دار از جریان استاندارد اقلام حذف می شوند. سند و سایر عناصر به گونه ای رفتار می کنند که گویی عنصر کاملاً موقعیت دار وجود ندارد.
موارد کاملاً موقعیت دار می توانند سایر موارد را با هم تداخل دهند.
عناصر همپوشانی
وقتی اقلام از جریان استاندارد خارج می شوند ، می توانند موارد دیگر را با هم همپوشانی کنند.
ویژگی z-index ترتیب عمودی یک عنصر را مشخص می کند (کدام عنصر باید در جلو یا پشت عناصر دیگر قرار بگیرد).
یک عنصر می تواند ترتیب عمودی مثبت یا منفی داشته باشد:
یک مورد با نظم عمودی بزرگ همیشه در مقابل موارد با ترتیب عمودی پایین تر است.
اظهار نظر:اگر دو عنصر موقعیت دار با هم همپوشانی داشته باشند و ترتیب عمودی مشخص نشده باشد ، عنصری که بعداً در کد HTML قرار دارد در بالا نشان داده می شود.
مثالهای بیشتر |
تنظیم شکل یک عنصر
این مثال نحوه تنظیم شکل یک عنصر را نشان می دهد. عنصر به این شکل بریده شده و سپس نمایش داده می شود.
نحوه نمایش یک عنصر سرریز با استفاده از پیمایش
این مثال نحوه تنظیم ویژگی سرریز برای ایجاد یک نوار پیمایشی را نشان می دهد ، هنگامی که محتوای یک عنصر بیش از حد بزرگ است و در منطقه مشخص نمی شود.
چگونه می توان مرورگر را به طور خودکار از سرریز کنترل کرد
این مثال نشان می دهد چگونه مجبور می شویم مرورگر را به طور خودکار از عهده سرریز خارج کند.
تغییر مکان نما
این مثال نحوه تغییر مکان نما را نشان می دهد.
تمام ویژگی های موقعیت یابی CSS
شماره در ستون "CSS" نشان می دهد که ویژگی در کدام نسخه از CSS تعریف شده است (CSS1 یا CSS2).
ویژگی | شرح | ارزش ها | CSS |
---|---|---|---|
که در زبان HTMLهمه عناصر را می توان به عناصر بلوک و درون خطی تقسیم کرد. عناصر بلوک معمولاً به صورت ناحیه های مستطیل شکل با مقداری اطلاعات نشان داده می شوند. با کمک آنها ، شبکه صفحه ساخته می شود. چنین عناصری به طور گسترده ای فضای در دسترس آنها را اشغال می کند و معمولاً قبل و بعد از آنها یک خط قطع وجود دارد. بلوک ها را می توان بر روی تورفتگی ، ابعاد افقی و عمودی تنظیم کرد.
ویژگی های عناصر بلوک
برچسب های مسدود شامل برچسب هایی هستند که تعداد زیادی از آنها را برجسته می کنند اطلاعات متن: