الفرق بين المراجعتين ل"Sass/get function"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة الصفحة وتدقيقها.)
سطر 21: سطر 21:
  
 
== أمثلة ==
 
== أمثلة ==
المثال 1: استخدام الدالة <code>get_function()‎</code>.<syntaxhighlight lang="sass">
+
المثال 1: استخدام الدالة <code>get_function()‎</code>. للحصول على مرجعية لدالة معرّفة من قبل المستخدم وذلك تبعًا لقيمة [[Sass/SassScript#.D8.A7.D9.84.D9.85.D8.AA.D8.BA.D9.8A.D8.B1.D8.A7.D8.AA: .24|متغيرٍ]] ما (باستخدام التعليمة <code>[[Sass/control directives#.E2.80.8E.40if|‎@if]]</code>):<syntaxhighlight lang="sass">
get-function("rgb")
+
$length-type: "absolute"; // هل نريد طولًا مطلقًا أم نسبيًا؟
  
@function myfunc { @return "something"; }
+
 
get-function("myfunc")
+
@function absolute($arg) { @return "#{$arg * 16}px"; } // إعادة طول مطلق
 +
@function relative($arg) { @return "#{$arg}em"; } // إعادة طول نسبي
 +
 
 +
$length: none;
 +
@if $length-type == "absolute" {
 +
  $length: get_function("absolute"); // الحصول على مرجعية للدالة
 +
} @else {
 +
  $length: get_function("relative"); // الحصول على مرجعية للدالة
 +
}
 +
 
 +
.selector {
 +
  padding: call($length, 1.5); // 24px
 +
}
 +
</syntaxhighlight>ستُصرّف الشيفرة السابقة إلى شيفرة CSS الآتية:<syntaxhighlight lang="css">
 +
.selector {
 +
  padding: "24px"; }
 
</syntaxhighlight>
 
</syntaxhighlight>
  

مراجعة 06:12، 9 مايو 2018

تعيد الدالة ()get_function مرجعًا إلى دالة من أجل استدعائها لاحقًا باستخدام الدالة ()call.

إن كانت قيمة المعامل ‎$css هي FALSE، فقد يُشير مرجع الدالة إلى دالةٍ معرّفة في ملف الأنماط أو مضمَّنة في بيئة المضيف؛ وإن كانت قيمته TRUE، فسيشير إلى دالة خاصة بلغة CSS.

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

get_function($name, $css: false)

المعاملات

‎$name

اسم الدالة المراد الحصول على مرجع لها.

‎$css

يحدِّد هذا المعامل ما إذا كانت ستُعاد دالة خاصة بلغة CSS كما شرح آنفًا.

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

يُعاد مرجعٌ للدالة ذات الاسم ‎$name.

أمثلة

المثال 1: استخدام الدالة get_function()‎. للحصول على مرجعية لدالة معرّفة من قبل المستخدم وذلك تبعًا لقيمة متغيرٍ ما (باستخدام التعليمة ‎@if):

$length-type: "absolute"; // هل نريد طولًا مطلقًا أم نسبيًا؟


@function absolute($arg) { @return "#{$arg * 16}px"; } // إعادة طول مطلق
@function relative($arg) { @return "#{$arg}em"; } // إعادة طول نسبي

$length: none;
@if $length-type == "absolute" {
  $length: get_function("absolute"); // الحصول على مرجعية للدالة
} @else {
  $length: get_function("relative"); // الحصول على مرجعية للدالة
}

.selector {
  padding: call($length, 1.5); // 24px
}

ستُصرّف الشيفرة السابقة إلى شيفرة CSS الآتية:

.selector {
  padding: "24px"; }

انظر أيضًا

  • الدالة call()‎: تستدعي دالة بشكل ديناميكي.

مصادر