Kedua lighten
- duanya dan darken
fungsi memanipulasi cahaya warna di ruang HSL dengan menambahkan atau mengurangkan cahaya ke dalamnya. Pada dasarnya, mereka hanyalah alias untuk $lightness
parameter adjust-color
fungsi.
Masalahnya, fungsi tersebut sering kali tidak memberikan hasil yang diharapkan. Sebaliknya, mix
fungsinya adalah cara yang baik untuk meringankan atau menggelapkan warna dengan mencampurkannya dengan warna putih atau hitam.
Manfaat menggunakan mix
daripada salah satu dari dua fungsi yang disebutkan di atas adalah bahawa ia akan berubah menjadi hitam (atau putih) secara beransur-ansur apabila anda mengurangkan bahagian warna, sedangkan darken
dan lighten
akan dengan cepat mengeluarkan warna hingga hitam atau putih.
Untuk mengelakkan menulis fungsi mixin setiap masa, yang bukan hanya memakan masa tetapi juga tidak terlalu jelas, anda boleh membuat dua fungsi dengan mudah tint
dan shade
(yang juga merupakan sebahagian daripada Kompas):
/// Slightly lighten a color /// @access public /// @param (Color) $color - color to tint /// @param (Number) $percentage - percentage of `$color` in returned color /// @return (Color) @function tint($color, $percentage) ( @return mix(white, $color, $percentage); ) /// Slightly darken a color /// @access public /// @param (Color) $color - color to shade /// @param (Number) $percentage - percentage of `$color` in returned color /// @return (Color) @function shade($color, $percentage) ( @return mix(black, $color, $percentage); )
Penggunaan
.foo ( color: tint(#BADA55, 42%); ) .bar ( background-color: shade(#663399, 42%); )
.foo ( color: #e2efb7; ) .bar ( background-color: #2a1540; )