ترازبندی عناصر در CSS
ترازبندی عناصر در CSS
در CSS برای تراز بندی عناصر در جهت محور X روش های زیادی وجود دارد.
تراز بندی عناصر Block
یک عنصر block عنصری است که تمام طول یک سطر را اشغال می کند و قبل و بعد از آن یک سطر وجود دارد.
مثال برای عناصر Block:
- <h1>
- <p>
- <div>
برای استایل دهی متن، فصل Styling Text را مشاهده فرمایید.
در این فصل نشان خواهیم داد که چگونه یک عنصر Block را در جهت محور X تراز بندی کنید.
تراز بندی با استفاده از خصوصیت margin
عناصر Block را می توان با تنظیم خصوصیت margin با مقدار "auto" تراز بندی کرد.
توجه: استفاده از مقدار "auto" برای خصوصیت margin در IE8 و نسخه های پایین تر کار نخواهد کرد مگر اینکه یک !DOCTYPE در بالای صفحه HTML اعلان شود.
در مثال زیر مقدار "auto" مشخص می کند که فاصله حاشیه های چپ و راست یکسان باشد. بنابراین عنصر در وسط قرار خواهد گرفت:
مثال (ترازبندی عناصر در CSS)
{
margin-left:auto;
margin-right:auto;
width:70%;
background-color:#b0e0e6;
}
نکته: اگر خصوصیت width با مقدار 100% تنظیم شود، تراز بندی اثری نخواهد داشت.
تراز بندی با استفاده از خصوصیت position
یک روش دیگر برای ترازبندی عناصر استفاده از خصوصیت position است:
مثال (ترازبندی عناصر در CSS)
{
position:absolute;
right:0px;
width:300px;
background-color:#b0e0e6;
}
توجه: عنصری که به صورت Absolute موقعیت دهی می شود، در واقع از حالت عادی خارج شده است و می تواند روی دیگر عناصر قرار بگیرد.
سازگاری (Compatibility view)
زمانی که از این روش ها برای ترازبندی، استفاده می کنید، جهت جلوگیری از تفاوت ظاهر، در مرورگرهای مختلف، بسیار مناسب است که برای عنصر <body> خصوصیات padding و margin را با مقدار "0" تنظیم کنیم.
زمانی که از خصوصیت position برای تراز بندی استفاده می کنید، در مرورگر IE8 و نسخه های قبلتر یک مشکل بوجود می آید. در واقع اگر یک عنصر ظرف (container element) با عرض مشخص شده داشته باشیم (در این مورد < "div class="container>) و یک DOCTYPE! در بالای صفحه HTML اعلان نشده باشد با مشکل زیر، روبرو خواهیم شد:
IE8 و نسخه های قبلتر به اندازه 17px به عنوان حاشیه راست (margin) اضافه می کند. به نظر می رسد که این فضا برای scrollbar رزرو شده است. بنابراین زمانی که از خصوصیت position استفاده می کنید همیشه یک DOCTYPE! در بالای صفحه HTML اعلان کنید.
مثال (ترازبندی عناصر در CSS)
{
margin:0;
padding:0;
}
.container
{
position:relative;
width:100%;
}
.right
{
position:absolute;
right:0px;
width:300px;
background-color:#b0e0e6;
}
ترازبندی با اسفاده از خصوصیت float
یک روش دیگر برای ترازبندی عناصر، استفاده از خصوصیت float است:
مثال (ترازبندی عناصر در CSS)
{
float:right;
width:300px;
background-color:#b0e0e6;
}
زمانی که از خصوصیت float استفاده می کنید، همیشه یک DOCTYPE! در بالای صفحه HTML اعلان و همچنین برای عنصر <body> خصوصیات padding و margin را با مقدار "0" تنظیم کنید:
مثال (ترازبندی عناصر در CSS)
{
margin:0;
padding:0;
}
.right
{
float:right;
width:300px;
background-color:#b0e0e6;
}
- نوشته شده توسط امیر پهلوان صادق
- بازدید: 29130
دیدگاهها
چطور میتونم تک صفحه و بدون اسکرول ایجاد کنم که دقیق باشه و توی همه مرورگرها اندازش ثابت باشه و اسکرول نشه
یک هدر-یک div-یک فوتر
آیا باید از مقدار دهی ارتفاع از ٪ استفاده کرد؟
چه مقادیری توی اینکار موثره و باید رعایت کنم؟
این چطوره ...!؟
beyamooz.com/try_it_yourself/kendoui/examples/web/splitter/events.html
این کار با استفاده از ابزار splitter در Keno انجام شده، برای کسب اطلاعات بیشتر در این مورد به لینک زیر مراجعه فرمایید:
beyamooz.com/kendo-ui/240-web/1027-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%A7%D8%AE%D8%AA-splitter-%D8%AF%D8%B1-kendo-ui