Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

CSSالمتغيرات

  • مفهوم المتغيرات
  • طريقة تعريف متغير عام
  • طريقة تعريف المتغير خاص
  • المتغيرات مع إستعلامات الوسائط

مفهوم المتغيرات

المتغيرات ( Variables ) في CSS هي طريقة لتعريف القيم بشكل يسهّل استعمالها و التعديل عليها لاحقاً.
غالباً ما يستعمل المصممين المتغيرات لتخزين درجات الألوان و أحجام الخطوط.

الهدف الأساس من تعريف المتغير أن يمثل قيمة ستستخدم بشكل متكرر.


فائدة المتغيرات

كمثال عملي، إذا كنت تريد إعطاء الأزرار المهمة في الصفحة درجة اللون #0275d8 و أنت تعلم تماماً أنك قد تضطر إلى تغيير ذلك لاحقاً مع التحديثات المستمرة لتصميم الموقع، يمكنك تخزين درجة اللون في متغير و جعل الأزرار المهمة تستخدم قيمة هذا المتغير لكي تحدد ألوانها. عندها متى ما أردت تغيير لون هذه الأزرار فإنك ببساطة تغيّرها مرة واحدة في المتغير الذي عرّفتها فيه و ستتحدث بشكل تلقائي عند جميع الأزرار التي تستخدمه.

باستخدام المتغيرات لن يكون هناك تكرار لا داعي له للقيم و لن يكون المصمم مضطر إلى حفظ القيم المعقدة كلما أراد استخدامها.

طريقة تعريف متغير عام

المتغيرات يتم تعريفها بداخل المحدد :root { } حتى تكون على مستوى الصفحة بأكملها و بالتالي أي عنصر موجود فيها يمكنه الوصول لها، أي يمكنه استعمالها.

بالنسبة لأسماء المتغيرات فإنها يجب دائماً أن تبدأ برمزين -- و من ثم تضع أي إسم من اختيارك أنت.

في النهاية لاستخدام المتغيرات نقوم بتمريرها بداخل الدالة var() و التي بدورها تقوم باستبدال إسمها بقيمتها.

المتغيرات التي يتم تعريفها بشكل عام تسمى Global Variables.


في المثال التالي قمنا بتعريف متغيرات يمكن استخدامها في تحديد الألوان.

المثال الأول

:root {
    --primary: #0275d8;
    --secondary: #6c757d;
    --danger: #dc3545;
    --white: #FFF;
}

.send {
    color: var(--white);
    background-color: var(--primary);
}

.edit {
    color: var(--white);
    background-color: var(--secondary);
}

.delete {
    color: var(--white);
    background-color: var(--danger);
}
جرب الكود

في المثال التالي قمنا بتعريف متغيرات يمكن استخدامها في تحديد أنواع و أحجام الخطوط.

المثال الثاني

:root {
    --main-font-size: 16px;
    --main-font-family: Arial;
    --page-title-font-size: 20px;
    --code-font-family: Consolas, Courier New, monospace;
}

body {
    font-family: var(--main-font-family);
    font-size: var(--main-font-size);
}

h1 {
    font-family: var(--page-title-font-size);
}

code {
    font-family: var(--code-font-family);
}
جرب الكود

في المثال التالي قمنا بتعريف متغيرات يمكن استخدامها لتحديد المدة التي سيظهر خلالها التأثير.

المثال الثالث

:root {
    --fast: 0.3s;
    --slow: 1s;
}

input[name="search"] {
    width: 100px;
    transition: all ease-in-out var(--slow);
}

input[name="search"]:focus {
    width: 100%;
}
جرب الكود

طريقة تعريف المتغير خاص

يمكنك تعريف المتغير بشكل مباشر داخل العنصر و لكن عندها يكون بالإمكان استخدامه فقط في هذا العنصر.

تعريف المتغير بداخل العنصر يكون مفيد في حال واحدة فقط و هي إن أردت استخدام متغير تم تعريفه أساساً بداخل المحدد :root { } و لكنك أردت تغيير قيمته بشكل حصري بالنسبة لعنصر معين.

المتغيرات التي يتم تعريفها بشكل خاص تسمى Local Variables.


في المثال التالي قمنا بتعريف المتغير --primary بشكل مباشر في العنصر و من ثم قمنا باستخدامه لتحديد لونه.

المثال الأول

a {
    --primary: crimson;
    color: var(--primary);
}
جرب الكود

في المثال التالي قمنا بتعريف المتغير --primary كمتغير عام للصفحة بأكملها بداخل المحدد :root { } و لكننا أعدنا تعريفه بشكل خاص في العنصر الذي يملك الكلاس special.

المثال الثاني

:root {
    --primary: #0275d8;
}

button {
    color: var(--primary);
    border: 2px solid color: var(--primary);
    padding: 10px 20px;
}

a {
    /* فقط <a> أعيد تعريفه بالنسبة للوسم --primary المتغير */
    --primary: crimson;
    color: var(--primary);
}
جرب الكود

المتغيرات مع إستعلامات الوسائط

يمكنك جعل المتصفح يقرر أي متغيرات يجب أن يستخدم بناءاً على إستعلامات الوسائط ( Media Queries ).

في المثال التالي قمنا بتعريف 4 متغيرات لتحديد أحجام الخط.
بعدها قمنا بجعل حجم الخط الإفتراضي يساوي قيمة المتغير --font-x4 و من ثم استخدمنا إستعلامات الوسائط لجعل حجم الخط يتغير على النحو التالي:

  • إذا كان حجم الشاشة الأقصى هو 976 بكسل سيتم استخدام قيمة المتغير --font-3.
  • إذا كان حجم الشاشة الأقصى هو 760 بكسل سيتم استخدام قيمة المتغير --font-x2.
  • إذا كان حجم الشاشة الأقصى هو 640 بكسل سيتم استخدام قيمة المتغير --font-x1.

مثال

:root {
    --font-x1: 20px;
    --font-x2: 24px;
    --font-x3: 28px;
    --font-x4: 32px;
}

h1 {
    font-size: var(--font-x4);
}

@media (max-width: 976px) {
    h1 {
        font-size: var(--font-x3);
    }
}
            
@media (max-width: 760px) {
    h1 {
        font-size: var(--font-x2);
    }
}
            
@media (max-width: 640px) {
    h1 {
        font-size: var(--font-x1);
    }
}
جرب الكود