loading...
طراحی وب- برنامه نویسی
برنامه نویس بازدید : 30 جمعه 28 تیر 1398 نظرات (0)
خصوصیت margin در زبان CSS سعی می کند تا در اطراف یک عنصر فضای خالی ایجاد کند. زمانی که می گوییم اطراف یک عنصر یعنی هر چیزی که وابسته به این عنصر باشد کنارش می ماند (مانند حاشیه ها و …) اما بقیه ی عناصر مجاور کنار می روند. به زبان ساده تر margin یعنی فاصله ی بین یک عنصر و عناصر دور و برش (مانند تصاویر، متن ها و …).

در زبان CSS برای تعیین margin دستتان باز است و می توانید آن را از چهار طرف به صورت جداگانه تعیین کنید:

  • margin-top
  • margin-right
  • margin-bottom
  • margin-left

مقادیر قابل قبول برای margin ها عبارت اند از:

  • auto: اگر این مقدار را به margin بدهید، خود مرورگر مقدارش را تعیین می کند.
  • واحد طول: در این حالت باید مقدار margin را در یکی از واحد های طول پذیرفته شده مانند px یا pt یا cm و … تعیین کنید.
  • درصد: در این حالت margin بر اساس درصدی از عرض عنصر تعیین می شود.
  • inherit: در لغت به معنی «به ارث بردن» است. در این حالت margin مقدار خود را از عنصر پدرش به ارث می برد.

 

نکته: مقادیر منفی نیز مجاز هستند! مقادیر منفی به جای ایجاد فضای خالی، آن را کم می کنند و عناصر را به هم نزدیک تر می نمایند.

در مثال زیر برای عنصر div از هر چهار طرف margin تعیین کرده ایم:

مشاهده ی خروجی در JSBin

دستور خلاصه شده margin

تا اینجای کار فهمیدیم که margin را می توان از چهار سمت تعریف کرد:

  • margin-top
  • margin-right
  • margin-bottom
  • margin-left

اما برای راحتی کار شما شکل خلاصه شده ای از این 4 دستور وجود داشته و از این قرار است:

دستور margin برای مقادیر چهار تایی به صورت ;margin: 25px 50px 75px 100px :

  • margin بالای عنصر 25px
  • margin راست عنصر 50px
  • margin پایین عنصر 75px
  • margin چپ عنصر 100px

مثال:

مشاهده ی خروجی در JSBin

دستور margin برای مقادیر سه تایی به صورت ;margin: 25px 50px 75px :

  • margin بالای عنصر 25px
  • margin راست و چپ عنصر 50px
  • margin پایین عنصر 75px

مثال:

مشاهده ی خروجی در JSBin

دستور margin برای مقادیر دو تایی به صورت ;margin: 25px 50px :

  • margin بالا و پایین عنصر 25px
  • margin راست و چپ عنصر 50px

مثال:

مشاهده ی خروجی در JSBin

دستور margin برای مقادیر تکی به صورت ;margin: 25px:

  • margin بالا و پایین و چپ و راست عنصر 25px

مثال:

مشاهده ی خروجی در JSBin

مقادیر auto و inherit

اگر از مقدار auto استفاده کنید مرورگر عنصر مورد نظر را (در محور افقی) وسط عنصر پدرش می گذارد. به عبارت دیگر auto ابتدا عرض عنصر یا width را می گیرد و سپس هر چقدر فضا باقی ماند بین قسمت چپ و راست تقسیم می شود. به مثال زیر توجه کنید:

مشاهده ی خروجی در JSBin

اما اگر به عنصرتان مقدار inherit را بدهید، همان margin پدر را به ارث می برید. در مثال زیر عنصر <p class="ex1"> را داریم و می خواهیم margin سمت چپ اش را از پدرش (یعنی <div>) به ارث ببرد:

مشاهده ی خروجی در JSBin

می بینید که عنصر ما margin خود را از پدرش، یعنی div، گرفته است.

خطای فروریختگی margin

برخی اوقات، margin بالا و پایین عناصر در هم فرو می ریزند. در این حالت margin بین آن ها تنها به اندازه ی بزرگترین margin یکی از دو عنصر خواهد بود. این مسئله برای margin های راست و چپ اتفاق نمی افتد بلکه تنها برای margin های بالا و پایین صادق است. به طور مثال در کد زیر h1 دارای margin تحتانی 50 پیکسل و h2 دارای margin فوقانی 20 پیکسل است. بنابراین فاصله ی عمودی بین h1 و h2 باید 70 پیکسل باشد (50px + 20px) اما margin ها روی هم می افتند و فاصله ی بینشان 50 پیکسل (مقدار margin بزرگتر) می شود:

مشاهده ی خروجی در JSBin

باید همیشه مراقب این اتفاق در HTML و CSS باشید و محاسبات خود را بر اساس آن انجام دهید. گرچه در قسمت های آینده توضیحات بیشتری در مورد این نوع خطاها به شما می دهیم.

امیدوارم از این قسمت استفاده ی کافی را برده باشید.

 

منبع: روکسو

 

 
ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 346
  • کل نظرات : 0
  • افراد آنلاین : 3
  • تعداد اعضا : 0
  • آی پی امروز : 32
  • آی پی دیروز : 68
  • بازدید امروز : 34
  • باردید دیروز : 83
  • گوگل امروز : 1
  • گوگل دیروز : 2
  • بازدید هفته : 194
  • بازدید ماه : 148
  • بازدید سال : 6,657
  • بازدید کلی : 34,892