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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>()selector_extend</code> في Sass}}</noinclude> تعيد الدالة <code>selector_extend()‎</code> محدّدًا ج...'
 
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>()selector_extend</code> في Sass}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>()selector_extend</code> في Sass}}</noinclude>
تعيد الدالة <code>selector_extend()‎</code> محدّدًا جديدًا مع تشعيب جميع المحددات الموجودة في <code>‎$selectors</code>  في بعضها البعض كما لو كانت متشعّبة في ملف الأنماط هكذا ‎<code><nowiki>$selector1 {$selector2 {…}}</nowiki></code>‎.
تعيد الدالة <code>selector_extend()‎</code> نسخة جديدةً من المحدد <code>‎$selector</code>  مع توسعة <code>$extendee</code> بواسطة <code>‎$extender</code>. النتيجة تشبه الكود البرمجي التالي:<syntaxhighlight lang="sass">
 
$selector { ... }
على عكس معظم دوال المحددات ، فإن الدالة <code>selector_extend()‎</code> تسمح باستخدام المُحدّد الأبوي  <code>&</code> في أي مُحدد حاشا الأول.
$extender { @extend $extendee }
</syntaxhighlight>


== البنية العامة ==
== البنية العامة ==
<syntaxhighlight lang="sass">
<syntaxhighlight lang="sass">
selector_extend($selectors...)
selector_extend($selector, $extendee, $extender)
</syntaxhighlight>
</syntaxhighlight>


== المعاملات ==
== المعاملات ==


=== <code>‎$selectors</code> ===
=== <code>‎$selector</code> ===
المحددات التي ستُشعّب. يجب أن يُمرّر محدد واحد على الأقل. يمكن أن تكون كل واحدة منها عبارة عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تمت إعادتها من قبل <code>&</code>.
المحدد الذي سيُوسع داخلَه المحدد <code>‎$extendee</code> بواسطة <code>‎$extender</code>. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل <code>&</code>.
 
=== <code>‎$extendee</code> ===
المحدد الذي سيُوسع. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل <code>&</code>.
 
=== <code>‎$selector</code> ===
المحدد الذي سيُسلَك داخلَ المحدد <code>‎$selector</code>. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل <code>&</code>.


== القيم المعادة ==
== القيم المعادة ==
قائمة من قوائم السلاسل النصية التي تمثل نتيجة تشعيب المحددات <code>‎$selectors</code>. وتكون بنفس التنسيق الذي يكون لمحدّد تعيده <code>&</code>.
قائمة من قوائم السلاسل النصية التي تمثل نتيجة التوسعة. وتكون بنفس التنسيق الذي يكون لمحدّد تُعيده <code>&</code>.
 
== الأخطاء والاستثناءات ==
سيُرمى الخطأ <code>ArgumentError</code> إن فشلت التوسعة.
 
== مثال ==
مثال عن استخدام الدالة <code>selector_extend()‎</code>:<syntaxhighlight>
selector-extend(".a .b", ".b", ".foo .bar") => .a .b, .a .foo .bar, .foo .a .bar
 
</syntaxhighlight>
 
== انظر أيضًا ==
== انظر أيضًا ==
* الدالة <code>[[Sass/selector append|selector_append()]]</code>‎: تضيف المحددات إلى بعضها بعضًا دون مسافات بينها.
* الدالة <code>[[Sass/selector append|selector_append()]]</code>‎: تضيف المحددات إلى بعضها بعضًا دون مسافات بينها.
* الدالة <code>[[Sass/selector extend|selector_extend()]]</code>‎: توسّع المحدد.
* الدالة <code>[[Sass/selector nest|selector_nest()]]</code>‎: تُشعّب المحددات.
* الدالة <code>[[Sass/selector unify|selector_unify()]]</code>‎: تُوحّد محددَيْن.
* الدالة <code>[[Sass/selector unify|selector_unify()]]</code>‎: تُوحّد محددَيْن.



مراجعة 18:01، 21 أبريل 2018

تعيد الدالة selector_extend()‎ نسخة جديدةً من المحدد ‎$selector مع توسعة ‎$extendee بواسطة ‎$extender. النتيجة تشبه الكود البرمجي التالي:

$selector { ... }
$extender { @extend $extendee }

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

selector_extend($selector, $extendee, $extender)

المعاملات

‎$selector

المحدد الذي سيُوسع داخلَه المحدد ‎$extendee بواسطة ‎$extender. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل &.

‎$extendee

المحدد الذي سيُوسع. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل &.

‎$selector

المحدد الذي سيُسلَك داخلَ المحدد ‎$selector. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل &.

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

قائمة من قوائم السلاسل النصية التي تمثل نتيجة التوسعة. وتكون بنفس التنسيق الذي يكون لمحدّد تُعيده &.

الأخطاء والاستثناءات

سيُرمى الخطأ ArgumentError إن فشلت التوسعة.

مثال

مثال عن استخدام الدالة selector_extend()‎:

selector-extend(".a .b", ".b", ".foo .bar") => .a .b, .a .foo .bar, .foo .a .bar

انظر أيضًا

  • الدالة selector_append()‎: تضيف المحددات إلى بعضها بعضًا دون مسافات بينها.
  • الدالة selector_nest()‎: تُشعّب المحددات.
  • الدالة selector_unify()‎: تُوحّد محددَيْن.

مصادر