A deep dive into CSS color-mix()

Поделиться
HTML-код
  • Опубликовано: 14 июн 2024
  • Another feature making its way in from preprocessors like Sass, we can now mix colors in CSS!
    In this one, I go over the basics of how it works, look at how we can play with the percentages, what happens when the percentages are below 100% total, how the different color models work, and how we can mix colors in different directions (which doesn’t sound like it should be a thing, but it is 😅).
    I also take a very quick look at how we can create color schemes by using color-mix() as well, to help show a little bit of a more practical example of it in action.
    🔗 Links
    ✅ Browser support for color-mix(): caniuse.com/mdn-css_types_col...
    ✅ All the codepens from this video: codepen.io/collection/BNOMbj
    ✅ CSS color-mix() on the Chrome Developers Blog: developer.chrome.com/blog/css...
    ✅ CSS color-mix() MDN article: developer.mozilla.org/en-US/d...
    ✅ More on the different color models: developer.mozilla.org/en-US/d...
    ⌚ Timestamps
    00:00 - Introduction
    00:30 - The very basics
    02:20 - Mixing specific percentages of each color
    04:00 - When the percentages don’t equal 100%
    05:35 - The color models
    08:40 - lab, oklab, lch, and oklch
    10:25 - mixing colors in different directions
    14:32 - Creating a color scheme with color-mix(
    #css
    --
    Come hang out with other dev's in my Discord Community
    💬 / discord
    Keep up to date with everything I'm up to
    ✉ www.kevinpowell.co/newsletter
    Come hang out with me live every Monday on Twitch!
    📺 / kevinpowellcss
    ---
    Help support my channel
    👨‍🎓 Get a course: www.kevinpowell.co/courses
    👕 Buy a shirt: teespring.com/stores/making-t...
    💖 Support me on Patreon: / kevinpowell
    ---
    My editor: VS Code - code.visualstudio.com/
    ---
    I'm on some other places on the internet too!
    If you'd like a behind the scenes and previews of what's coming up on my RUclips channel, make sure to follow me on Instagram and Twitter.
    Twitter: / kevinjpowell
    Codepen: codepen.io/kevinpowell/
    Github: github.com/kevin-powell
    ---
    And whatever you do, don't forget to keep on making your corner of the internet just a little bit more awesome!

Комментарии • 51

  • @ScottMackey
    @ScottMackey 10 месяцев назад +6

    Personally I've chosen OKLCH with it better supporting contrast for accessibility. Future of css color seems to be aiming for either something close to OKLCH or OKLAB. They offer HDR colors for the web, so much better than our current SDR options. 84% current browser support is very good, that includes most of the main browsers we really care about too. Thanks for another great video Kevin 😁

  • @tumbler9428
    @tumbler9428 10 месяцев назад +5

    Thank you, I didn't know this one yet. Browser-support seems to be OK.
    Provides a very fast & easy way to get light and dark shades of your primary colors, or to easily produce consistent color variations.

  • @Mr.RobotHead
    @Mr.RobotHead 10 месяцев назад +2

    I just used `color-mix()` for the first time this week, and I really didn't grok the color mode (but got things working nicely). I really appreciate the info you presented on those.

  • @UmzGames
    @UmzGames 10 месяцев назад

    Brilliance. Not just the CSS knowledge, but the use-case example.

  • @niner8275
    @niner8275 10 месяцев назад +13

    This "in [colormodel]" should also be an option for CSS color gradients.

    • @KevinPowell
      @KevinPowell  10 месяцев назад +15

      It is, I have a video coming on that next month sometime, but you can do `linear-gradient(45deg in lch, red, blue)` 😁

  • @kalechips22
    @kalechips22 10 месяцев назад +9

    CSS is literally just turning in to SASS now

  • @ssava_ema
    @ssava_ema 10 месяцев назад +1

    Another awesome content just got two concepts in one video. I didn't know that I can actually switch between themes/modes using the :has() pseudo class. Thanks Kevin for always producing quality content on CSS I believe am the next CSS monster 💪💪💪

  • @clevermissfox
    @clevermissfox 8 месяцев назад

    I had just watched the theme picker video! The color mix to acheive these different thrmes is perfect!!

  • @papayoulele
    @papayoulele 9 месяцев назад

    You are a true source of inspiration and development. Thx for all

  • @RobBulmahn
    @RobBulmahn 10 месяцев назад +15

    I think srgb mixing looks better; oklab was giving some weird shifts occasionally in your examples, but srgb was always pretty much what I'd have expected it to produce.

    • @JonHaa87
      @JonHaa87 10 месяцев назад +4

      Maybe you're used to srgb because that's what most simple graphics programs use, but I recommend reading some articles about the advantages of oklab. There are also a lot of issues when mixing srgb colours, for example when mixing blue with white, those light blues often look purplish and oklab corrects that.
      One minor issue with oklab is that darker colours are often very dark, but that's by design and not an error, but you might need to adjust for that.

  • @Evangelist45938
    @Evangelist45938 10 месяцев назад +2

    A new video from kevin
    lets GOOOOO!!

  • @suzubraz
    @suzubraz 3 месяца назад

    Thank you! Learned something new!

  • @ozanmuyes
    @ozanmuyes 10 месяцев назад +1

    Adam Argyle rocks, as you do 🤘🏻

  • @balogunmuhammadawwal1316
    @balogunmuhammadawwal1316 8 месяцев назад

    Oh
    Thanks amazing
    I can't wait to watch your video on gradient with color mix
    You really help me project to stand

  • @sanmeetsingh4538
    @sanmeetsingh4538 9 месяцев назад

    Wow its so awesome like creating a theme feels so easy now !

  • @Mikael97
    @Mikael97 10 месяцев назад

    It seems like advanced css function colours. I need to read your code and documentation and practice in order to get a better understanding, anyway, great tutorial. Thank you.

  • @kirillzlobin7135
    @kirillzlobin7135 5 месяцев назад

    This is amazing
    Can you make a video on what features are left in SCSS that are not supported by regular CSS
    It looks like regular CSS already has almost everything

  • @techyjc
    @techyjc 4 месяца назад

    LAB - L= Luminance A = Tint (magenta / green) B = Temperature (yellow / cyan) for reference. OKLab is similar and slightly better from what I understand.

  • @ahmadbayrakdar
    @ahmadbayrakdar 9 месяцев назад

    wow, thank you

  • @JosephCodette
    @JosephCodette 10 месяцев назад

    Since you asked yes please more videos about color tweaking . Especially color schemes that are usable (no offense!) , because that seems to be the hardest after deciding which colors you want a site to have . Also having shadows that work well with the scheme is a tedious task sometimes

  • @inonaraphael
    @inonaraphael 10 месяцев назад

    I loveeee CSS ❤

  • @aurelian3401
    @aurelian3401 10 месяцев назад +2

    Before 2000 was used "safe colors", a mix between 0, 3, 9, c, and f. Probably browsers didn't know how to display other combinations. 🙄

  • @user-tz5hn3td2b
    @user-tz5hn3td2b 9 месяцев назад

    As a web designer.... color is really a great advantage

  • @mivids100
    @mivids100 9 месяцев назад

    I just want to be half as good with css as you!

  • @mh_kohansal
    @mh_kohansal 3 месяца назад

    thank's

  • @dannycho2287
    @dannycho2287 9 месяцев назад

    Is there a way to know the values (hex, rgb, whatever) of the resulting colors? Or do I have to use color-mix to reproduce these colors?

  • @azuma12
    @azuma12 10 месяцев назад

    hey, Kevin been enjoying your channel so far :) could u tell me like from where to get updates about css and things just like you do..

    • @KevinPowell
      @KevinPowell  10 месяцев назад +1

      Follow Adam Argyle, Una Kravetz, and Bramus on socials, who are on the Chrome dev rel team and always share upcoming stuff. I also look at the release notes when a new browser version comes out to see what's included. Probably some other stuff I'm forgetting

  • @itsPenguinBoy
    @itsPenguinBoy 10 месяцев назад

    You can see how the default hue for white and black is red, even though the hue value is meaningless when saturation is zero. So in the hue based mixing, mixing anything with black or white has a redish tint.

  • @Atractiondj
    @Atractiondj 2 месяца назад

    Why we can't do - oklch(from currentColor calc(l - 20) c h) for hover color for example?

  • @akshaymali4732
    @akshaymali4732 10 месяцев назад

    Does using these css functions has any impact on performance
    I know it wont be that much, but still is it ok if i use them extensively in a actual project

  • @goodshiro10
    @goodshiro10 10 месяцев назад +1

    so whenever we create variables for shades of colors, we don't need to copy bunch of hex codes or rgb stuff, simply adjust the percentages😅

  • @khadarvali5782
    @khadarvali5782 10 месяцев назад

    Grear

  • @riaddjaid7428
    @riaddjaid7428 9 месяцев назад

    Hi sir please I'm working on a website that shows a lot of videos using html CSS and javascript and I want to stock the paths of videos on a JSON file, when I put the path directly to the html file without live server and open the page it works fine but when I use JSON method and open it with live server the video doesn't work and immediatly open download manager , all my videos are local. where can I find an answer for my problem ?

  • @feldinho
    @feldinho 10 месяцев назад

    A few weeks ago I made a palette generator in SASS for a client project and I think the results are very nice, and it overlaps with the theme of this video. Would you be interested in checking it out? Just let me know so I can put it on a codepen. :)

    • @KevinPowell
      @KevinPowell  10 месяцев назад +1

      Sure thing 🙂
      Might be best to share it in my Discord though, if you have an account, I miss replies to comments in YT a lot of the time

  • @shanappy7041
    @shanappy7041 10 месяцев назад +2

    Hi kewin. ❤

  • @thedacian123
    @thedacian123 9 месяцев назад

    I have two remarks please:
    1 .color-mix >:nth ,would not be much clear .colormix >div or colormix>*
    2 In order to have a good grasp how these color mixing modes work we should have knowledge of complicatted color theory.
    Thank you!

  • @SebastianZartner
    @SebastianZartner 10 месяцев назад +1

    Trying it again, because my comment somehow got eaten. `shorter` and `longer` refer to the smaller or larger angle around the color circle, while `increasing` and `decreasing` mean whether to strictly increase or decrease the hue angle, i.e. whether to go clockwise or anti-clockwise around the color circle.

    • @KevinPowell
      @KevinPowell  10 месяцев назад

      Thanks!

    • @thorerik
      @thorerik 3 месяца назад

      @@KevinPowell If you swapped color-1 and color-2 you'd see the difference really easily btw

  • @XCanG
    @XCanG 10 месяцев назад

    Why? Why does they accept bugged behavior as standard? Why don't they tell that it need to be fixed, so that browser may be have 1 or 2 versions with a bug, but the rest newer ones will be fixed? Now it will be branded forever...

  • @kosmar
    @kosmar 9 месяцев назад

    i prefer oklch. happy to fight

    • @KevinPowell
      @KevinPowell  9 месяцев назад

      I prefer it for declaring colors, since I sort of know what I'm going to get! For mixing, it depends 🤷

    • @kosmar
      @kosmar 9 месяцев назад

      @@KevinPowell from what i read LCH or HCL is corrected for equal perception of lightness, so that 50 red and 50 yellow look right next to each other.