الدالة ()selector_unify في Sass

من موسوعة حسوب

توحِّد الدالة selector_unify()‎ اثنين من المحدِّدات في محدِّد واحد يطابق فقط العناصر المتطابقة في كلا هذين المحدّدين. تعيد الدالة القيمة العدميَّة null إن لم يكن هناك تطابق بين المحدِّدين.

كما هو الحال مع توحيد المحدِّدات الذي تُنجزه القاعدة extend@، فإنَّ هذا لا يضمن أن المحدِّد الناتج باستعمال هذه الدالة سيُطابق جميع العناصر المتطابقة بين المُحدّدين المُمرَّرين. إذا وُحِّد مثلًا المحدِّد ‎.a .b مع المحدِّد ‎.x .y، فستعيد الدالة المحدِّد ‎.a .x .b.y, .x .a .b.y وليس المحدِّد ‎.a.x .b.y. هذا يُجنِّب النتاتج الطويلة والكبيرة في حين أنَّه يطابق جميع العناصر التي يُحتمل أن تكون مفيدةً.

البنية العامة

selector_unify($selector1, $selector2)

المعاملات

‎$selector1

المُحدّد الأول المراد توحيده. يمكن أن يكون عبارةً عن سلسلة نصيَّة، أو قائمة من سلاسل نصيَّة، أو قائمة من قوائم من سلاسل نصيَّة كما تُعاد باستعمال الرمز &.

‎$selector2

المُحدّد الثاني المراد توحيده. يمكن أن يكون عبارةً عن سلسلة نصيَّة، أو قائمة من سلاسل نصيَّة، أو قائمة من قوائم من سلاسل نصيَّة كما تُعاد باستعمال الرمز &.

القيم المعادة

تُعاد قائمة من قوائم من سلاسل نصيَّة التي تمثل نتيجة التوحيد، أو القيمة العدميَّة null في حالة عدم حدوث التوحيد. ويكون تنسيقها بنفس تنسيق المحدّد المُعاد باستعمال الرمز &.

أمثلة

أمثلة نموذجية عن استخدام الدالة selector_unify()‎:

selector_unify(".a", ".b"); // .a.b
selector_unify(".a .b", ".x .y"); // .a .x .b.y, .x .a .b.y
selector_unify(".a.b", ".b.c"); // .a.b.c
selector_unify("#a", "#b"); // null

انظر أيضًا

  • الدالة selector_append()‎: تضيف المحدِّدات إلى بعضها بعضًا دون مسافات بينها.
  • الدالة selector_nest()‎: تُشعّب المحدِّدات.
  • الدالة selector_replace()‎: تبدِّل محدِّد معين مع محدِّد آخر في المحدِّد المعطى.
  • الدالة selector_extend()‎: توسّع محدِّدًا معيَّنًا.
  • الدالة is_superselector()‎: تتحقَّق ما إذا كان المحدِّد فائقًا.

مصادر