تک دیک

واژه نامه و مجله آموزشی کامپیوتر و فناوری

تعیین حاشیه المان ها در CSS – ویژگی margin

در CSS از ویژگی margin برای تعیین حاشیه چهار لبه المان ها استفاده می‌شود. این ویژگی میزان فضای خالی پیرامون المان ها (بیرون از بردر یا خط مرزی المان ها) را مشخص می‌کند. معمولا از فضا یا فاصله خالی حاصل از این حاشیه برای جداسازی المان از المان های اطراف استفاده می‌شود. (فراموش نکنید در صورت عدم تعریف خط مرزی نیز همچنان حاشیه تعیین شده پیرامون المان وجود خواهد داشت).

ویژگی margin، یک ویژگی خلاصه برای چهار ویژگی margin-top, margin-right, margin-bottom و margin-left است که هرکدام از آن‌ها برای تعیین حاشیه یکی از لبه های بالا، راست، پایین و چپ المان به کار می‌روند. در واقع برای تعیین همزمان حاشیه های پیرامون المان ها می‌توانید از ویژگی margin کمک بگیرید.

نحوه تعیین حاشیه یا فضای خالی پیرامون المان با کمک ویژگی margin در CSS

برای تعیین همزمان حاشیه های پیرامون المان ها در CSS کافیست مشابه با نمونه زیر مقدار مناسبی برای ویژگی margin مشخص کنید:

h2 {
  margin: 5px;
  border: 3px solid red;
  background-color: #6666da;
}

مقدار 5px برای این ویژگی در قانون CSS فوق باعث می‌شود به اندازه 5 پیکسل حاشیه پیرامون المان‌های <h2> ایجاد شود. مقدار 3px solid red برای ویژگی border نیز باعث می‌شود چهار خط مرزی پیرامون المان‌های <h2> با پهنای 3 پیکسل، به صورت یکپارچه و با رنگ قرمز رسم شود. رنگ زمینه المان نیز با کد هگز #6666da برای ویژگی background-color مشخص شده است.

با فرض قانون زیر برای المان های <h1> و <h3>، این المان ها بدون حاشیه خواهند بود:

h1, h3 {
  margin: 0;
  border: 3px solid #005618;
  background-color: #6666da;
}

در تصویر زیر می‌توانید حاشیه پیرامون المان <h2> را بین دو المان <h1> و <h3> با وجود قوانین فوق مشاهده کنید:

نمونه ای از تعیین حاشیه 5 پیکسلی پیرامون یک المان h2 بین دو المان h1 و h3 بدون حاشیه با کمک ویژگی margin

همانطور که در تصویر فوق می‌بینید بین خط مرزی المان <h2> در لبه های بالا و پایین از المان های <h1> و <h3> فاصله‌ای وجود دارد. این فاصله همان 5 پیکسل حاشیه است. فاصله خالی سمت راست و چپ این المان نیز همین میزان حاشیه را نمایش می‌دهد.

برای ویژگی margin در CSS می‌توانید یک، دو، سه یا چهار مقدار از میان مقادیر مجاز برای حاشیه مشخص کنید:

  • وقتی فقط یک مقدار برای این ویژگی مشخص شود، هر چهار لبه دارای حاشیه یکسان برابر با مقدار تعیین شده خواهند بود.
  • وقتی دو مقدار برای این ویژگی مشخص شود مقدار اول، حاشیه بالا و پایین و مقدار دوم، حاشیه راست و چپ را مشخص می‌کند.
  • وقتی سه مقدار برای این ویژگی مشخص شود مقدار اول حاشیه بالا، مقدار دوم حاشیه راست و چپ و مقدار سوم حاشیه پایین را مشخص می‌کند.
  • وقتی چهار مقدار برای این ویژگی مشخص شود مقدار اول حاشیه بالا، مقدار دوم حاشیه راست، مقدار سوم حاشیه پایین و مقدار چهارم حاشیه چپ را مشخص می‌کند (برای به خاطر سپردن آسان‌تر، ترتیب مقادیر را به شکل ساعتگرد از لبه بالا شروع کنید).

مقادیر متداول قابل استفاده برای ویژگی margin

  • طول: درج مقدار همراه با واحد طول نظیر px (پیکسل), cm (سانتی متر), pt (پوینت)، em و … برای این ویژگی، یکی از روش‌های رایج برای تعیین میزان حاشیه است. برای مثال مقدار 5px و 2em.
  • درصد: درج مقدار برحسب درصد برای ویژگی margin، حاشیه المان را به صورت درصدی از پهنای بلوکی که المان را دربرگرفته مشخص می‌کند. برای مثال مقدار 50%.
  • auto: این مقدار باعث می‌شود مرورگر میزان حاشیه المان را تعیین کند. در برخی موارد، از مقدار auto برای قرار دادن یک المان در وسط المان والد به صورت افقی استفاده می‌شود.

نکته: شما می‌توانید برای ویژگی margin از مقادیر منفی نیز استفاده کنید. چنین مقادیری باعث می‌شوند المان نسبت به حالت عادی به المان های اطرافش نزدیک‌تر شود.

نکته: به طور مشابه از مقادیر مجاز فوق می‌توانید برای تعیین حاشیه یکی از لبه ها توسط ویژگی‌های margin-top, margin-right, margin-bottom و margin-left استفاده کنید.

چند مثال تکمیلی برای تعیین margin المان در CSS

توجه: در تمامی مثال‌های این مطلب، استایل مورد استفاده برای المان های <h1> و <h3> مطابق با مثال قبلی است.

مثال زیر نمونه‌ای از تعیین حاشیه یا margin المان در CSS با کمک دو مقدار را نمایش می‌دهد:

h2 {
  margin: 0 10px;
  border: 3px solid red;
  background-color: #6666da;
}

به این ترتیب لبه های بالا و پایین المان‌های <h2> بدون حاشیه و حاشیه های راست و چپ برابر با 10 پیکسل خواهد بود:

نمونه ای از تعیین حاشیه های راست و چپ برابر با 10 پیکسل و لبه های بالا و پایین بدون حاشیه برای یک المان h2 بین دو المان h1 و h3 بدون حاشیه با کمک ویژگی margin

مثال زیر هم نمونه‌ای سه مقداری برای این ویژگی را نمایش می‌دهد:

h2 {
  margin: 0 10px 5%;
  border: 3px solid red;
  background-color: #6666da;
}

با توجه به سه مقدار فوق برای ویژگی margin، لبه بالایی المان‌های <h2> بدون حاشیه، لبه های راست و چپ با حاشیه 10 پیکسل و لبه پایینی نیز با حاشیه‌ای برابر 5 درصد پهنای المان دربرگیرنده‌اش خواهد بود:

نمونه ای از تعیین لبه بالایی بدون حاشیه، لبه های راست و چپ با حاشیه 10 پیکسل و لبه پایینی نیز با حاشیه‌ای برابر 5 درصد پهنای المان دربرگیرنده‌اش برای یک المان h2 بین دو المان h1 و h3 بدون حاشیه با کمک ویژگی margin

در مثال زیر نیز چهار مقدار برای این ویژگی درج شده است:

h2 {
  margin: 0 10px 5% 0;
  border: 3px solid red;
  background-color: #6666da;
}

با توجه به چهار مقدار فوق برای ویژگی margin، لبه بالایی المان‌های <h2> بدون حاشیه، لبه راست با حاشیه 10 پیکسل، لبه پایین با حاشیه‌ای برابر 5 درصد پهنای المان دربرگیرنده‌اش و لبه چپ نیز بدون حاشیه خواهند بود:

نمونه ای از تعیین لبه بالایی بدون حاشیه، لبه راست با حاشیه 10 پیکسل، لبه پایین با حاشیه‌ای برابر 5 درصد پهنای المان دربرگیرنده‌اش و لبه چپ بدون حاشیه برای یک المان h2 بین دو المان h1 و h3 بدون حاشیه با کمک ویژگی margin

نحوه قرار دادن یک المان در مرکز المان والد به صورت افقی

شما می‌توانید از مقدار auto برای قرار دادن یک المان در وسط یا مرکز المان والدش (به صورت افقی) استفاده کنید. برای این منظور کافیست از ویژگی margin با دو مقدار که مقدار دوم آن برابر auto باشد استفاده کنید. (از این روش معمولا به منظور قرار دادن یک المان در مرکز المان والد برای سازگاری با مرورگرهای قدیمی استفاده می‌شود که از لی‌آوت Flexible Box پشتیبانی نمی‌کنند). مثال زیر را در نظر بگیرید:

h2 {
  margin: 0 auto;
  width: 250px;
  border: 3px solid red;
  background-color: #6666da;
}

در این مثال المان <h2> دارای پهنای 250 پیکسل خواهد بود. با توجه به margin: 0 auto; فضای افقی باقیمانده به صورت مساوی به عنوان حاشیه های راست و چپ درنظر گرفته می‌شود و به این ترتیب المان <h2> در مرکز قرار می‌گیرد. لبه های بالا و پایین هم حاشیه صفر خواهند داشت:

نمونه ای از قرار دادن یک المان h2 در وسط یا مرکز والد به صورت افقی با کمک مقدار auto برای ویژگی margin بین دو المان h1 و h3 بدون حاشیه

بازگشت به فهرست مجموعه آموزشی CSS

امیرحسین شهسواری

عاشق دنیای رایانه و فناوری به خصوص برنامه نویسی هستم؛ یادگرفتن و البته یاد دادن چیزای جالبی که یاد گرفتم باعث خوشحالیم میشه و از اولویت‌های اصلی زندگیم به حساب میاد. از مدیریت و نوشتن در تک دیک هم واقعا لذت می‌برم :)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *