الدالة change_color()
في Sass
تقوم الدالة ()change_color
بالتعديل السائل (Fluidly scales) لخاصية واحدةٍ أو أكثر للّون. على عكس الدالة adjust_color
، التي تُغير خاصيات اللون بمقادير ثابتة ، فإن ()scale_color
تُغيرها بناءً على مدى ارتفاعها أو انخفاضها. هذا يعني أن إضاءة لون ساطعٍ بالفعل بواسطة ()scale_color
لن يغير من السطوع كثيرًا ، ولكن إضاءة لون داكن بنفس المقدار سيغيرها بشكل أكثر حدة. هذا سيجعل للدالة scale-color($color, …)
نفس التأثير بغض النظر عن اللون.
على سبيل المثال ، إضاءة اللون تكون بين 0%
و 100%
. إذا استدعيت scale-color($color, $lightness: 40%)
، فإن إضاءة اللون الناتج ستكون بمسافة 40% بين الإضاءة الأصلية للون والقيمة 100%
. وإذا استدعيت scale-color($color, $lightness: -40%)
، فإن إضاءة اللون الناتج ستكون بمسافة 40% بين الإضاءة الأصلية للون والقيمة 0%
.
يمكن أن يؤدي ذلك إلى تغيير خاصيات اللون الأحمر والأخضر والأزرق والتشبع والشفافية. تُحدّد الخاصيات على شكل وسائط مُسمّاة. ويجب أن تكون جميع الوسائط نسبًا مئوية بين 0%
و 100%
.
جميع الخاصيات اختيارية. كما لا يمكنك تحديد خاصيات RGB (أي $red
و $green
و $blue
) و خاصيات HSL (أي $saturation
و $value
) في نفس الوقت.
البنية العامة
scale_color($color, [$red], [$green], [$blue], [$saturation], [$lightness], [$alpha])
المعاملات
$color
اللون المراد تعديله.
$red
التعديل المُراد تطبيقه على المكون الأحمر، قيمتها بين -255
و 255
مشمولة.
$green
التعديل المُراد تطبيقه على المكون الأخضر، قيمتها بين -255
و 255
مشمولة.
$blue
التعديل المُراد تطبيقه على المكون الأزرق، قيمتها بين -255
و 255
مشمولة.
$saturation
التعديل المُراد تطبيقه على مكون الإشباع، قيمتها بين -100%
و 100%
مشمولة.
$lightness
التعديل المُراد تطبيقه على مكون الإضاءة، قيمتها بين -100%
و 100%
مشمولة.
$alpha
التعديل المُراد تطبيقه على مكون الشفافية، قيمتها بين -1
و 1
مشمولة.
القيم المعادة
قيمة لونية بعد التعديل.
الأخطاء والاستثناءات
سيُرمى الخطأ ArgumentError
إذا كان أيٌّ من المعاملات من النوع الخاطئ أو خارج المجال المقبول، أو إذا عُدّلت خاصيات RGB وخاصيات HSL في نفس الوقت.
أمثلة
مثال عن استخدام الدالة scale_color()
لضبط قيمة اللون (color) ولون الخلفية (background-color):
selector {
background-color: scale-color(hsl(120, 70%, 80%), $lightness: 50%) // hsl(120, 70%, 90%)
color: scale-color(hsl(200, 70%, 80%), $saturation: -90%, $alpha: -30%) // hsla(200, 7%, 80%, 0.7)
}
سيُصرّف المثال السابق إلى شيفرة CSS الآتية:
selector {
background-color: hsl(120, 70%, 90%);
color: hsla(200, 7%, 80%, 0.7);
}
انظر أيضًا
- الدالة
adjust_hue()
: تغير قيمة الصبغة (hue). - الدالة
adjust_color()
: تغير قيمة الصبغة (hue). - الدالة
alpha()
: تُعيد قيمة مكون الشفافية (alpha).