loading...
طراحی وب- برنامه نویسی
برنامه نویس بازدید : 40 سه شنبه 25 تیر 1398 نظرات (0)

در سال های اخیر متغیرها وارد دنیای CSS شده اند. در واقع می توان از تابع ()var برای مقدار دهی به یک خصوصیت سفارشی استفاده کرد. از آنجا که این ویژگی جدید است وضعیت پشتیبانی از آن در مرورگرها آنچنان قوی نیست:

خصوصیت کروم Edge فایرفاکس سافاری اپرا
()Var 49.0 15.0 31.0 9.1 36.0

متغیرهای CSS باید درون یک سلکتور CSS تعریف شوند و این سلکتور scope آن ها را تعیین می کند. برای گرفتن Scope سراسری می توانید از root: یا سلکتور body استفاده کنید. همچنین نام این متغیرها با — (دو خط فاصله) شروع می شود و نسبت به بزرگی و کوچکی حروف حساس اند.

ساختار کلی استفاده از ()var به شکل زیر است:

  • custom-name: این آرگومان اجباری است و نام خصوصیت سفارشی شما را تعیین می کند (باید با — شروع شود).
  • value: این آرگومان اختیاری است و همان fallback ما است؛ در صورتی که خصوصیت سفارشی معتبر نباشد این آرگومان گرفته می شود.

در مثال زیر ابتدا یک خصوصیت سفارشی و سراسری به نام “main-bg-color–” ایجاد کرده ایم. سپس با استفاده از ()varاز مقدار این خصوصیت سفارشی در استایل ها استفاده کرده ایم:

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

البته شما محدود به یک خصوصیت نیستید، بلکه می توانید به هر تعدادی که دوست داشتید از ()var و خصوصیات سفارشی استفاده کنید:

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

box-sizing چیست؟

خاصیت box-sizing در CSS به ما اجازه می دهد که برای محاسبه ی طول و عرض یک عنصر، مقدار padding و border را نیز جزء آن ها بدانیم. در حالت پیش فرض طول و عرض یک عنصر به روش زیر اندازه گیری می شود:

عرض + padding + border = عرض واقعی عنصر
ارتفاع + padding + border = ارتفاع واقعی عنصر

بنابراین در اکثر اوقات زمانی که برای عنصری طول و عرض تعیین می کنید، اندازه ی عنصر از آنچه شما تعیین کرده اید بزرگ تر می شود چرا که padding و border به طول و عرض اضافه می شوند. برای درک بهتر این مسئله به <div> زیر نگاه کنید؛ طول و عرض این <div> در هر دو تصویر یکی است:

 

تفاوت طول و عرض هنگامی که padding و border اضافه می شوندتفاوت طول و عرض هنگامی که padding و border اضافه می شوند

 

به کد این دو مستطیل نگاه کنید:

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

اما خصوصیت box-sizing این مشکل را حل می کند چرا که به شما اجازه می دهد padding و border را نیز در فرمول محاسبه ی طول و عرض حساب کنید. برای این کار باید مقدار ;box-sizing: border-box را به کد های CSS اضافه کنید. ما همین کار را به مثال بالا انجام داده ایم:

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

به همین خاطر بسیاری از مرورگرهای امروزی از border-box برای اکثر عناصر استفاده می کنند اما نه برای همه (مانند input ها و text area ها) بنابراین بهتر است با استفاده از کد زیر خیال خود را راحت کنید:

با استفاده از این تکه کد حتی input ها و text area ها نیز درست کار می کنند:

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

سعی کنید به صفحه ی خروجی مثال بالا بروید و box-sizing را حذف کنید؛ متوجه خواهید شد که input و دکمه ی submit و text area از صفحه خارج می شوند.

منبع: روکسو
 
ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 346
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • آی پی امروز : 28
  • آی پی دیروز : 17
  • بازدید امروز : 209
  • باردید دیروز : 21
  • گوگل امروز : 2
  • گوگل دیروز : 5
  • بازدید هفته : 283
  • بازدید ماه : 648
  • بازدید سال : 7,157
  • بازدید کلی : 35,392