الفرق بين المراجعتين ل"Sass/get function"
< Sass
اذهب إلى التنقل
اذهب إلى البحث
جميل-بيلوني (نقاش | مساهمات) ط (مراجعة الصفحة وتدقيقها.) |
|||
سطر 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"> |
− | + | $length-type: "absolute"; // هل نريد طولًا مطلقًا أم نسبيًا؟ | |
− | @function | + | |
− | + | @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()
: تستدعي دالة بشكل ديناميكي.