"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > استخدام Mixins في ساس

استخدام Mixins في ساس

تم النشر بتاريخ 2024-11-08
تصفح:118

Using Mixins in Sass

إذا كنت شخصًا يتعمق أكثر في عالم تطوير الواجهة الأمامية، فمن المحتمل أنك صادفت Sass (أوراق أنماط رائعة نحويًا). Sass هو معالج مسبق قوي لـ CSS يعمل على تحسين سير عمل CSS الخاص بك من خلال توفير ميزات مثل المتغيرات والتداخل والوظائف والخلطات. ومن بين هذه الميزات، تبرز الخلطات باعتبارها مُغيرة لقواعد اللعبة، مما يسمح لك بإعادة استخدام التعليمات البرمجية بكفاءة والحفاظ على الاتساق عبر أوراق الأنماط الخاصة بك.

ما هي Mixins في ساس؟

A mixin في Sass عبارة عن كتلة قابلة لإعادة الاستخدام من الأنماط التي يمكن تعريفها مرة واحدة وتضمينها أينما تريد. وهذا يلغي الحاجة إلى إعادة كتابة التعليمات البرمجية المتكررة، ويقلل التكرار، ويجعل صيانة ورقة الأنماط الخاصة بك أسهل. بالإضافة إلى ذلك، يمكن أن تقبل الخلطات المعلمات، مما يجعلها أكثر قوة للتصميم الديناميكي.

إليك مثال سريع لمزيج بسيط:

@mixin border-radius($radius) {
  -webkit-border-radius: $radius;
  -moz-border-radius: $radius;
  border-radius: $radius;
}

الآن، في أي وقت تحتاج فيه إلى تطبيق نصف قطر الحدود، يمكنك ببساطة تضمين هذا المزيج:

.button {
  @include border-radius(10px);
}

لماذا استخدام ميكسينز؟

عند إنشاء مشاريع معقدة، يمكن أن يصبح CSS الخاص بك مزدحمًا ومتكررًا. تأتي Mixins للإنقاذ من خلال تمكين إعادة استخدام الكود و التصميم البارامتري . فيما يلي بعض الفوائد الأساسية لاستخدام الخلطات:

  1. تجنب التعليمات البرمجية المتكررة: لا حاجة لنسخ ولصق نفس CSS عبر محددات متعددة.
  2. التصميم الديناميكي: يمكن أن تأخذ Mixins المعلمات، مما يسمح لك بتخصيص سلوكها.
  3. التناسق: تأكد من أن أنماطك متسقة عبر قاعدة التعليمات البرمجية بأكملها.
  4. سهولة الصيانة: إذا كان النمط بحاجة إلى التحديث، فأنت تحتاج فقط إلى تغييره في المزيج، وينطبق ذلك في كل مكان.

كيفية إنشاء واستخدام Mixins

1. تحديد Mixin بسيط

إليك مثال على مزيج لظل مربع:

@mixin box-shadow($x, $y, $blur, $color) {
  -webkit-box-shadow: $x $y $blur $color;
  -moz-box-shadow: $x $y $blur $color;
  box-shadow: $x $y $blur $color;
}

يأخذ هذا المزيج أربعة معلمات: الإزاحات الأفقية والرأسية، ونصف قطر التمويه، ولون الظل. الآن، دعونا نستخدمها في فئة CSS:

.card {
  @include box-shadow(2px, 4px, 8px, rgba(0, 0, 0, 0.3));
}

سيؤدي هذا إلى إنشاء ملف CSS التالي:

.card {
  -webkit-box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.3);
  box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.3);
}

2. استخدام القيم الافتراضية في Mixins

في بعض الأحيان، قد ترغب في إعطاء المعلمات الخاصة بك القيم الافتراضية. بهذه الطريقة، يمكنك استخدام mixin دون تمرير كل وسيطة دائمًا.

@mixin transition($property: all, $duration: 0.3s, $timing-function: ease) {
  transition: $property $duration $timing-function;
}

يمكنك الآن الاتصال بالمزيج مثل هذا:

.button {
  @include transition;
}

سينتج عن ذلك:

.button {
  transition: all 0.3s ease;
}

وإذا كنت تريد تجاوز القيم الافتراضية:

.link {
  @include transition(opacity, 0.5s, linear);
}

مزيج التعشيش للتصميم المعياري

تتميز المزيجات بالمرونة الكافية بحيث يمكنك دمج الخلطات داخل الخلطات الأخرى لجعل التعليمات البرمجية الخاصة بك أكثر نمطية.

@mixin flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

@mixin button-styles($bg-color) {
  background-color: $bg-color;
  padding: 10px 20px;
  border: none;
  color: white;
  cursor: pointer;
  @include flex-center;
}

الآن يمكنك تطبيق مزيج أنماط الأزرار على أزرار متعددة:

.primary-button {
  @include button-styles(blue);
}

.secondary-button {
  @include button-styles(green);
}

المنطق الشرطي في Mixins

يمكن أن تحتوي المزيجات أيضًا على منطق شرطي باستخدام التوجيه @if، مما يجعلها أكثر تنوعًا.

@mixin responsive-font-size($size) {
  @if $size == small {
    font-size: 12px;
  } @else if $size == medium {
    font-size: 16px;
  } @else if $size == large {
    font-size: 20px;
  } @else {
    font-size: 14px; // default size
  }
}

يمكنك الآن تطبيق أحجام الخطوط المختلفة ديناميكيًا:

.text-small {
  @include responsive-font-size(small);
}

.text-large {
  @include responsive-font-size(large);
}

Mixins مقابل الوظائف: متى نستخدم ماذا؟

يوفر Sass أيضًا وظائف ، والتي، مثل mixins، تسمح لك بتغليف المنطق. لذا، متى يجب عليك استخدام mixin مقابل وظيفة؟

  • Mixins: يُستخدم عندما تحتاج إلى إنشاء إعلانات CSS متعددة أو تطبيق مجموعة من القواعد.
  • الوظائف: استخدمها عندما تحتاج إلى إرجاع قيمة واحدة، مثل لون أو عملية حسابية.
على سبيل المثال، قد تبدو وظيفة تغميق اللون بالشكل التالي:


@وظيفة تغميق اللون($color, $percentage) { @return darken($color, $percentage); }
@function darken-color($color, $percentage) {
  @return darken($color, $percentage);
}
يمكنك تسميتها بهذا الشكل:


$اللون الأساسي: لون داكن(#3498db, 10%));
@function darken-color($color, $percentage) {
  @return darken($color, $percentage);
}
حالات الاستخدام في العالم الحقيقي لـ Mixins

تعتبر عمليات المزج جزءًا مهمًا من أي بنية CSS في العالم الحقيقي. فيما يلي بعض السيناريوهات العملية حيث يمكنك الاستفادة منها:

  1. الموضوعات: قم بإنشاء لغة تصميم متسقة باستخدام مزيج من الأزرار والبطاقة والطباعة.
  2. استعلامات الوسائط: حدد استعلامات الوسائط كمزيج لجعل CSS الخاص بك أكثر قابلية للقراءة والصيانة.
  3. بادئة البائع: ملخص الخصائص المعقدة التي يسبقها البائع مثل التحولات والرسوم المتحركة والتدرجات.
  4. فئات المرافق: تعريف المرافق المشتركة (على سبيل المثال، flexbox أو تخطيطات الشبكة) باستخدام mixins لإعادة استخدامها عبر المكونات.
خاتمة

تعتبر Mixins in Sass أداة قوية يمكنها أن تجعل CSS الخاص بك أكثر تنظيمًا وقابلية لإعادة الاستخدام وقابلية للصيانة. من خلال التخلص من التكرار وتعزيز الاتساق، تساعدك المزجات على كتابة أوراق أنماط أكثر وضوحًا وكفاءة. سواء كنت تعمل على مشروع صغير أو تطبيق كبير، فإن إتقان عمليات المزج سيؤدي إلى تحسين سير عمل التطوير لديك.

لذا، في المرة القادمة عندما تجد نفسك تكتب CSS متكررًا، فكر في تحويله إلى مزيج. سوف تشكرك نفسك المستقبلية (وزملائك في الفريق) على ذلك!

لمزيد من المعلومات قم بزيارة الوثائق.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/codeparrot/using-mixins-in-sass-4p23?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3