Обе функције lighten
и darken
функције манипулишу светлошћу боје у ХСЛ простору додавањем или одузимањем светлости. У основи, они су само псеудоними за $lightness
параметар adjust-color
функције.
Ствар је у томе што те функције често не дају очекивани резултат. С друге стране, mix
функција је леп начин да осветлите или затамните боју мешајући је са белом или црном.
Корист од употребе mix
, а не једна од две поменуте функције је да ће постепено ићи на црно (или бело), као смањите проценат боје, док darken
и lighten
брзо угасити боју скроз у црно или бело.
Да бисте избегли писање функције микин сваки пут, што не само да одузима време већ и није сасвим експлицитно, лако можете створити две функције tint
и shade
(које су такође део Цомпасс-а):
/// 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); )
Употреба
.foo ( color: tint(#BADA55, 42%); ) .bar ( background-color: shade(#663399, 42%); )
.foo ( color: #e2efb7; ) .bar ( background-color: #2a1540; )