الفرق بين المراجعتين لصفحة: «Sass/selector unify»

من موسوعة حسوب
لا ملخص تعديل
ط مراجعة الصفحة وتدقيقها.
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>()selector_unify</code> في Sass}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>()selector_unify</code> في Sass}}</noinclude>
توحد الدالة <code>selector_unify()‎</code> اثنين من المحددات في محدد واحد يطابق فقط العناصر المتطابقة في كلا المُحدّدين. تعيد الدالة القيمة المعدومة <code>null</code> إن لم يكن هناك محدد من هذا القبيل.
توحِّد الدالة <code>selector_unify()‎</code> اثنين من المحدِّدات في محدِّد واحد يطابق فقط العناصر المتطابقة في كلا هذين المحدّدين. تعيد الدالة القيمة العدميَّة <code>null</code> إن لم يكن هناك تطابق بين المحدِّدين.


كما هو الحال مع توحيد المحددات الذي تُنجزه <code>‎$extend</code>، فإن هذا لا يضمن أن المحدد الناتج سيُطابق جميع العناصر المتطابقة بين المُحدّدين المُدخلين. على سبيل المثال، إذا وُحِّد ‎<code>.a .b</code> مع ‎<code>.x .y</code>، فستعيد الدالة المحدّد <code>‎.a .x .b.y, .x .a .b.y</code>، ولن يٌعاد <code>‎.a.x .b.y</code>. هذا يُجنِّب النتاتج الطويلة والكبيرة في حين أنَّه يطابق جميع العناصر التي يُحتمل أن تكون مفيدةً.
كما هو الحال مع توحيد المحدِّدات الذي تُنجزه القاعدة <code>[[Sass/@ rules#.D8.A7.D9.84.D9.82.D8.A7.D8.B9.D8.AF.D8.A9 .E2.80.8E.40extend|extend@]]</code>، فإنَّ هذا لا يضمن أن المحدِّد الناتج باستعمال هذه الدالة سيُطابق جميع العناصر المتطابقة بين المُحدّدين المُمرَّرين. إذا وُحِّد مثلًا المحدِّد ‎<code>.a .b</code> مع المحدِّد ‎<code>.x .y</code>، فستعيد الدالة المحدِّد <code>‎.a .x .b.y, .x .a .b.y</code> وليس المحدِّد <code>‎.a.x .b.y</code>. هذا يُجنِّب النتاتج الطويلة والكبيرة في حين أنَّه يطابق جميع العناصر التي يُحتمل أن تكون مفيدةً.


== البنية العامة ==
== البنية العامة ==
سطر 12: سطر 12:


=== <code>‎$selector1</code> ===
=== <code>‎$selector1</code> ===
المُحدّد الأول الذي سيُوحَّد. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل <code>[[Sass/SassScript#.D8.A7.D9.84.D8.B1.D9.85.D8.B2 .26 .D9.81.D9.8A SassScript|&]]</code>.
المُحدّد الأول المراد توحيده. يمكن أن يكون عبارةً عن سلسلة نصيَّة، أو قائمة من سلاسل نصيَّة، أو قائمة من قوائم من سلاسل نصيَّة كما تُعاد باستعمال الرمز <code>[[Sass/SassScript#.D8.A7.D9.84.D8.B1.D9.85.D8.B2 .26 .D9.81.D9.8A SassScript|&]]</code>.


=== <code>‎$selector2</code> ===
=== <code>‎$selector2</code> ===
المُحدّد الثاني الذي سيُوحَّد. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل <code>[[Sass/SassScript#.D8.A7.D9.84.D8.B1.D9.85.D8.B2 .26 .D9.81.D9.8A SassScript|&]]</code>.
المُحدّد الثاني المراد توحيده. يمكن أن يكون عبارةً عن سلسلة نصيَّة، أو قائمة من سلاسل نصيَّة، أو قائمة من قوائم من سلاسل نصيَّة كما تُعاد باستعمال الرمز <code>[[Sass/SassScript#.D8.A7.D9.84.D8.B1.D9.85.D8.B2 .26 .D9.81.D9.8A SassScript|&]]</code>.


== القيم المعادة ==
== القيم المعادة ==
قائمة من قوائم السلاسل النصية التي تمثل نتيجة التوحيد، أو القيمة المعدومة <code>null</code> في حالة عدم حدوث التوحيد. وتكون بنفس التنسيق الذي يكون لمحدّد تُعيده <code>[[Sass/SassScript#.D8.A7.D9.84.D8.B1.D9.85.D8.B2 .26 .D9.81.D9.8A SassScript|&]]</code>.
تُعاد قائمة من قوائم من سلاسل نصيَّة التي تمثل نتيجة التوحيد، أو القيمة العدميَّة <code>null</code> في حالة عدم حدوث التوحيد. ويكون تنسيقها بنفس تنسيق المحدّد المُعاد باستعمال الرمز <code>[[Sass/SassScript#.D8.A7.D9.84.D8.B1.D9.85.D8.B2 .26 .D9.81.D9.8A SassScript|&]]</code>.


== مثال ==
== مثال ==
سطر 29: سطر 29:


== انظر أيضًا ==
== انظر أيضًا ==
* الدالة <code>[[Sass/selector append|selector_append()]]</code>‎: تضيف المحددات إلى بعضها بعضًا دون مسافات بينها.
* الدالة <code>[[Sass/selector append|selector_append()]]</code>‎: تضيف المحدِّدات إلى بعضها بعضًا دون مسافات بينها.
* الدالة <code>[[Sass/selector nest|selector_nest()]]</code>‎: تُشعّب المحددات.
* الدالة <code>[[Sass/selector nest|selector_nest()]]</code>‎: تُشعّب المحدِّدات.
* الدالة <code>[[Sass/selector replace|selector_replace()]]</code>‎: استبدال المحددات.
* الدالة <code>[[Sass/selector replace|selector_replace()]]</code>‎: تبدِّل محدِّد معين مع محدِّد آخر في المحدِّد المعطى.
* الدالة <code>[[Sass/selector extend|selector_extend()]]</code>‎: توسّع محدِّدًا معيَّنًا.
* الدالة <code>[[Sass/is superselector|is_superselector()]]</code>‎: تتحقَّق ما إذا كان المحدِّد فائقًا.


== مصادر ==
== مصادر ==

مراجعة 15:36، 12 مايو 2018

توحِّد الدالة 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()‎: تتحقَّق ما إذا كان المحدِّد فائقًا.

مصادر