惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
博客园 - 司徒正美
D
DataBreaches.Net
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
人人都是产品经理
人人都是产品经理
博客园 - Franky
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
腾讯CDC
博客园_首页
The Cloudflare Blog
S
SegmentFault 最新的问题
C
Check Point Blog
美团技术团队
爱范儿
爱范儿
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale

Sass Blog

New JS API Release Candidate is Live Sass: Request for Comments: New JS API Sass: The Discontinuation of node-fibers Request for Comments: First-Class Calc Sass: LibSass is Deprecated
Request for Comments: HWB Functions
Natalie Weiz · 2020-10-07 · via Sass Blog

Posted 7 October 2020 by Natalie Weizenbaum

The CSS working group has been up to all sorts of exciting stuff recently in the Color Level 4 spec, and the Sass team is starting to think about how to integrate those cool new features into Sass’s color model. We need more time to hammer out exactly the right designs for complex features like the Lab color space, but that doesn’t mean we can’t add a few new color goodies.

Today we’re announcing a proposal for one such feature: built-in Sass functions for HWB colors! Once this proposal (drafted by Sass core team member Miriam Suzanne) is accepted and implemented, you’ll be able to write colors in HWB syntax and adjust their whiteness and blackness the same way you can adjust a color’s saturation and lightness today.

The FunctionsThe Functions permalink

Here are the new and improved functions this proposal adds:

color.hwb()color.hwb() permalink

The color.hwb() function defines a color using its hue, whiteness, and blackness. Like the existing rgb() and hsl() functions, It can either use the space-separated syntax defined in the spec (hwb(270 20% 40%)) or the more Sass-y comma-separated syntax (hwb(270, 20%, 40%)). Because HWB colors use the same sRGB colorspace as all other Sass color values, colors created this way are fully compatible with all existing Sass color functions and will be emitted as their RGB equivalents for maximum browser compatibility.

Note that unlike rgb() and hsl(), the proposal doesn’t add this function to the global scope yet. This is because Sass has a policy of never adding support for new CSS syntax before at least one browser implements it. Specs have a tendency to change until they’re locked in by browsers, and if Sass ends up supporting something different than the browsers themselves that’s bad news!

color.whiteness() and color.blackness()color.whiteness() and color.blackness() permalink

These functions work like the color.saturation() and color.lightness() functions do for HSL colors. They even work for colors that weren’t created with color.hwb(), so you can use them to check how pale or dark any color is.

Because HWB colors have the same notion of "hue" as HSL colors, the existing color.hue() function already works perfectly!

color.scale(), color.adjust(), and color.change()color.scale(), color.adjust(), and color.change() permalink

All three color modification functions now support $whiteness and $blackness arguments. If you want a color (again no matter how it was created) to be 20% whiter, just pass it to color.scale($color, $whiteness: 20%) and there you go!

Let us know what you think!Let us know what you think! permalink

If you’re interested in learning more about this proposal, read it in full on GitHub. It’s open for comments and revisions for the next month, so if you’d like to see something change please file an issue and we can discuss it!