Тёмный

Container Queries are going to change how we make layouts 

Kevin Powell
Подписаться 913 тыс.
Просмотров 169 тыс.
50% 1

While media queries that look at the viewport size can be useful, today’s web is very component-based, and having to rely on the size of the viewport is pretty limiting. Luckily, container queries are now a thing!
🔗 Links
✅ Browser support for container queries: caniuse.com/?search=container...
✅ New media query syntax support (look for range syntax in the chart): developer.mozilla.org/en-US/d...
⌚ Timestamps
00:00 - Introduction
00:43 - The very basics
05:53 - A more real-world example
10:08 - The range syntax
11:13 - Named containers
14:37 - Container-type: size
17:46 - Container queries with flexbox and grid
#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 RU-vid 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!

Опубликовано:

 

2 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 234   
@zachjensz
@zachjensz Год назад
I cannot contain my excitement!!! Only thing I dislike is creating markup for flex/grid, we should have container-type: flex; and container-type: grid;
@MixbOOsted
@MixbOOsted Год назад
Whyy RU-vid 👊👊👊
@KevinPowell
@KevinPowell Год назад
Patron's get my videos 2 days early :)
@Defini3
@Defini3 Год назад
What every website UI/UX designer saves: *Kevins videos* I swear every videos of this dude is a gem! These are the videos newbies look for and people with experience will search for when they forgot how to do something.
@clevermissfox
@clevermissfox 4 месяца назад
When I scroll down KPs channel and list of videos, pretty much all of them for the past 2years have been watched all the way through. So grateful!
@user-gl6hc1xs3i
@user-gl6hc1xs3i 9 месяцев назад
🎯 Key Takeaways for quick navigation: 01:10 📏 Container queries focus on component-based layout adaptation within containers, overcoming limitations of viewport-based media queries. 03:46 🔄 Container queries directly target the nearest container's size, providing more precise responsiveness within components. 07:46 🔄 Named containers enable applying container queries to specific components, allowing for fine-grained styling based on container context. 11:15 📐 Using `size` for container type affects both width and height, requiring careful consideration; prefer `inline size` for most cases. 18:42 📐 Applying container queries within Flexbox or Grid layouts might need additional adjustments due to container behavior; consider the layout structure carefully. 19:50 🛠️ Container queries can be limited by parent grid dimensions; to target individual grid items, use intermediate div containers as parents. 21:10 🧩 When working with flex layouts, applying container queries might require adjusting flex properties to prevent children from collapsing to zero width. 23:18 🧐 Understanding container implications is crucial; they establish new formatting contexts, affect layout behaviors, and eliminate margin collapsing. Made with HARPA AI
@EricMuranoAU
@EricMuranoAU Год назад
I've been waiting for this for like 5 years!
@BlojaCastro
@BlojaCastro Год назад
DAYUMN, next step, editing videos and 3D in minutes
@igordasunddas3377
@igordasunddas3377 Год назад
I honestly enjoy your videos a lot. I love discovering new stuff with someone as bespoken as you.
@cedrictheveneau9141
@cedrictheveneau9141 Год назад
I swear Kevin’s channel is a goldmine, it’s just so nice to know I have just one channel to follow to keep up with CSS evolution; thank you for your hard work Kevin !
@archer201977
@archer201977 Год назад
The ".super-simple-example" class made me laugh in a good funny way, don't get me wrong i learn many new things from you, even at 16 years in my career there are many things i still don't know yet and some i have forgotten. Thanks to you!
@LePhenixGD
@LePhenixGD Год назад
Hey Kevin, I have a suggestion for your next video, a video about all the important CSS media queries (screen, print, orientation, prefers-color-scheme…)! For the time being, awesome video mate!
@KevinPowell
@KevinPowell Год назад
been planning a media query deep dive for awhile, I should probably get around to actually making it!
@love.ly.
@love.ly. Год назад
Yesss
@tworsfeline2302
@tworsfeline2302 Год назад
@@love.ly. Why did my RU-vid app translate your comment to have one more "s" when I clicked "Translate to English"? (I am not actually asking you, it's just strange that it happened)
@robertwattner
@robertwattner Год назад
I feel like I'm going to be using this A LOT! You're awesome Kevin!
@mandokir
@mandokir Год назад
In 5 years.
@MegaClockworkDoc
@MegaClockworkDoc Год назад
Container queries are amazing, but wait, there's more!🎉🎉🎉 Wonderful content, thank you Kevin!
@davidkonevky7372
@davidkonevky7372 10 месяцев назад
I love your videos because css is so overlooked in the web developer landscape and honestly I think it can become the most fun part of the process if you know how to have fun with it
@k1mpman
@k1mpman Год назад
Been learning react for a week or two now and I just couldn't find mentions of how people use a component multiple times with different stylings. This solves so much of that for me and it's such a relief that you even mention this in the video because I was going crazy. I ended up thinking most people just use tailwind or something and use the medium, small and large media query for everything. What an amazing video, Kevin.
@helw7
@helw7 Год назад
🧡🧡 I love container queries 😊🧡 .. have been waiting for it for years! .. I already implemented it in my free wp plugin (Block Designer) .. actually a polyfill because of browser support 😏 .. I’m so happy this is finally coming! 🥳
@slava_trushkin
@slava_trushkin Год назад
Brilliant! This was needed for many years, but better late than never. I've hit this wall with media queries almost a decade ago when I was designing themes for forums, where posts can have sidebars, user profile block and so on, so content could be wrapped in multiple layers of stuff, making it impossible to use media queries. My solution was similar to containers, but with JavaScript that toggled classes on container elements. It was a nightmare to maintain. I don't work with forum themes anymore, but PTSD from attempting to design proper responsive themes still remains.
@metalstarver642
@metalstarver642 Год назад
I had similar problems, and currently use ResizeObserver in JS to set CSS variables to a container to be used in CSS.
@summerWTFE
@summerWTFE Год назад
Yeah. I guess humanity has finally reached a state of technology to make it happen.
@georgesaitdev
@georgesaitdev 10 месяцев назад
Absolute gamechanger feature! You, mr Powell, are a true legend! Especially these days where every job opportunity screams for React, Vue or Angular, a true frontend spec named CSS is becoming more and more overlooked whilst there is so many development in there. To me personally you really succeeded in your mission keeping CSS fun. Thanks, much much appreciated. 🙌
@steveportas7961
@steveportas7961 Год назад
Amazing!! Can not wait to back this into my daily builds!
@glenn_myridia
@glenn_myridia Год назад
Kevin, thanks for the great work and keeping us up to date with the latest CSS features. As a front end developer there is always so much new stuff to keep track of, and having a single reliable place like this to keep up to date with CSS is extremely valuable!
@hotkatgotama
@hotkatgotama Год назад
a
@Furki4_4
@Furki4_4 Год назад
The container query and especially range syntax is awesome. I don't think container queries undermine media queries, however they let us to add more complexity which helps websites to be more flexible and responsive ! Thank you Kevin, I can't leave watching your videos everyday for a week ! I... I guess I fell in love with css as a backend developer 🤭
@D7460N
@D7460N Год назад
Straight forward and very helpful. Thank you!
@SownJevan
@SownJevan 6 месяцев назад
I just sometimes get back to these videos to get the full picture again. Thanks Kevin.
@rodbrowning
@rodbrowning Год назад
I would like to say sorry for tell you that your videos wasn't good because was too long. I was passing through some problems at the time and I still do but now I know that I was the problem not you. Your content are great. Please keep helping people.
@mohammedalhashamy6276
@mohammedalhashamy6276 Год назад
Hi Kevin! Thanks FOR THIS SERIOUSLY!
@zxamy01
@zxamy01 Год назад
thank you for the detailed guide, it helped me install this soft
@noskillzdad5504
@noskillzdad5504 Год назад
Awesome content! Thanks for sharing.
@Pilosofia
@Pilosofia Год назад
I never heard about container query before but now I will start using it heavily.
@nro337
@nro337 Год назад
The hero we always need. Thank you!
@evamotto9276
@evamotto9276 10 месяцев назад
This is sorely needed, I'm about to research browser support 🤞
@leangengaleadsit7299
@leangengaleadsit7299 Год назад
Thank you Mike! I'm just starting out and tNice tutorials video really helped get the basics down!
@TheZyruks
@TheZyruks Год назад
This is super cool, hope this get supported by every browser really fast.
@GauravKumar-ue7nz
@GauravKumar-ue7nz Год назад
Quality of Content and Quality of Production is Top-Notch
@anth0ni33
@anth0ni33 Год назад
When this was showcase for the first time I literally danced for joy
@obelisk.5890
@obelisk.5890 11 месяцев назад
I’m deeply and madly in love with css thanks to Kevin.
@peteremad5228
@peteremad5228 Год назад
amazing explanation simple and easy ..cover all used cases ...thank you
@vivekkumar-pc1xy
@vivekkumar-pc1xy 10 месяцев назад
Awesome lecture. Thank you so much 🤯
@msalam4248
@msalam4248 Год назад
you are a very good instructor kevin....
@haousixridei5137
@haousixridei5137 Год назад
cam on ad da co nhung bai giang huu ich cho moi nguoi chuc ad luon thanh cong trong moi viec
@jeffkinley3698
@jeffkinley3698 Год назад
Hi Kevin. Great demo. I was trying to create a demo of container queries to explain this concept to my colleagues. I used this as a basis for my demo. Also, just curious why you chose to use data attributes for the sizes and not just a classes. Any particular reason?
@MixbOOsted
@MixbOOsted Год назад
Here is a Unique content Css 💫 kevin Nice 👍👍👍
@dopetag
@dopetag Год назад
@container is the future for responsive typography
@chrisevans5787
@chrisevans5787 Год назад
i love your videos, thanks for showing a newb like me awesome stuff!
@luispato9335
@luispato9335 Год назад
Really excited for the container queries, but i am quite sad the the element itself (the container) cannot be styles in the container query, which will make us write unnecessary markup. Such a turn down...
@felixenghofer4616
@felixenghofer4616 Год назад
Thank you so much for that video, Kevin - so well explained as always! I really needed exactly this behavior in the past and was wondering why container queries don't exist. Finally! 🙂
@henriqueaguiar9737
@henriqueaguiar9737 Год назад
Hey, Kevin! Do you plan on doing some content on image optimization and how to get your images ready to be used on websites? Thanks in advance and keep up the great work!
@estherjonathan_
@estherjonathan_ Год назад
Really Help.. Kevin pls can you help on this
@eggkookoo
@eggkookoo Год назад
This strikes me as vaguely scam-ish.
@Brechtvdh
@Brechtvdh Год назад
@@eggkookoo One can only try... 😂
@eggkookoo
@eggkookoo Год назад
@@Brechtvdh I mean the "helpline" message stuff.
@chazy123
@chazy123 Год назад
Those extra classless divs near the end, I really felt that.
@charliecoplestone9694
@charliecoplestone9694 Год назад
Genuinely game-changing.
@kevbonett
@kevbonett Год назад
Great explanation! However, I'm a little disappointed that we have to add a bit of div-itis when using flex/grid. Having said that, it's a small price to pay for all this extra goodness. 😁
@josephajibodu2377
@josephajibodu2377 Год назад
This is amazing
@dArKoMeGa89
@dArKoMeGa89 Год назад
We've gone from: Use more divs than you need to style. To: Use div just for markup, use CSS to style the page. To: now we need more divs again, forgot what we said about using HTML for semantic.
@bibianomauro
@bibianomauro Год назад
this is amazing
@QwDragon
@QwDragon Год назад
Actually { container-type: size; height: 100%; overflow: auto; } seems very usefull. And it's a bit strange there's no container-type: block-size yet.
@KevinPowell
@KevinPowell Год назад
block-size and some others should come eventually :) The issue with `height: 100%` is we don't always want that either though. But yes, it could be pretty useful in the right situation. In my video where I look at container units coming later this week, I found a few better use cases for dealing with heights :)
@bobmarteal
@bobmarteal Год назад
at 9:44 i shed a nerd-tear.
@r-i-ch
@r-i-ch Год назад
This is great! Do you have a codepen for it? (I can see a lot, but not the base styles)
@sajjadkazemi
@sajjadkazemi Год назад
thabk you for this video I really neded it♥️
@macx
@macx Год назад
Thanks for sharing this! You become my number one resource for new features, I don't care about the sites you are looking for. ;-) Anyway, working as a front-end for more than 23 years and also being a lecturer for students, this video was hard to follow. It's not because of the new stuff, it's because of your preparations upfront. Without knowing your code, I can't judge what the outcome will be. My suggestions: Build simple markup in the video as well. Using Sass and it's grouping could also help. I have to try it myself this time to understand it completely. And this is different for your other videos.
@codebycarlos
@codebycarlos Год назад
Hi Kevin, awesome video as always thank you! I was curious as to why you used the data-type attribute to set the container stylings in the beginning. Would it not be more appropriate to have these as classes?
@KevinPowell
@KevinPowell Год назад
More common, yes, but no reason it's more or less appropriate. I've taken that idea from CUBE CSS, and personally I find I like it a lot, using data-attributes as modifiers instead of classes. As long as you have a consistent system, either approach is fine :)
@fcfc
@fcfc Год назад
all those years of frustration... i wish i had this back then!
@27sosite73
@27sosite73 5 месяцев назад
this guy loves css
@nerds6205
@nerds6205 Год назад
My inspiration 🤩
@octothorpe12
@octothorpe12 Год назад
this is gonna take me awhile to wrap my head around.
@pXnEmerica
@pXnEmerica Год назад
I dunno how you can smile and look at CSS at the same time, lol.
@Max-dd3eb
@Max-dd3eb Год назад
Amazing feature, I’ve been waiting for this for so long, but now we still have to wait another 50 years for all browser support 😤
@KevinPowell
@KevinPowell Год назад
Shouldn't be that long at all, considering it's landed in Chrome and Safari. Hopefully FF manages to implement it soon, and we could probably have ~80% support by early next year (which isn't *amazing*, but still pretty great for a new feature)
@funkdefied1
@funkdefied1 6 месяцев назад
Beautiful
@sovereignlivingsoul
@sovereignlivingsoul Год назад
excellent video, a problem solver i hope.
@thangluong2365
@thangluong2365 Год назад
I am coming from soft one 4.6 and I am so torn with soft soft. It seems great as it is so in-depth in its' capabilities but, so fiddly to get
@joshmeurer4956
@joshmeurer4956 Год назад
I noticed recently that adding container-type to the class of an element seems to be making it z-order on top of an element that is positioned absolute via javascript. I wonder if you have any observations of whether this is expected and if you have any suggestions for how to plan for or manage this?
@The-Dev-Ninja
@The-Dev-Ninja Год назад
mind-blowing
@Morrile1
@Morrile1 Год назад
Improved control is certainly on it's way, and about time too!
@developer_hadi
@developer_hadi Год назад
wtf
@developer_hadi
@developer_hadi Год назад
how did you comment yesterday
@developer_hadi
@developer_hadi Год назад
RU-vid BUG🌝
@MixbOOsted
@MixbOOsted Год назад
Againnnnnnnn
@KevinPowell
@KevinPowell Год назад
He's a Patron, so he gets them 48 hours in advance :)
@mlookmero1004
@mlookmero1004 Год назад
concepts finally line up in my brain and...well, who knows? Maybe I'll be able to make sotNice tutorialng now.
@muck2000
@muck2000 Год назад
WORKING thx bro
@JaderRubini
@JaderRubini 9 месяцев назад
GAME CHANGER feature right there, and I’m so glad browser support is very good for this one right now. One thing that came to my mind, specially to avoid dealing with the grid/flexbox issue you pointed out: if you’re breaking your UI up into components, doesn’t it make more sense to make the component’s container itself into a container (that would be .call-to-action in your example)?
@DannyH77
@DannyH77 8 месяцев назад
just wondering did you figure out the answer to this question? I want to know as well
@wfl-junior
@wfl-junior Год назад
next gen css is going to be bonkers
@mohibuddinahmedumer4738
@mohibuddinahmedumer4738 Год назад
it work on my pc thx bro vеry much
@SoulStitch1111
@SoulStitch1111 Год назад
sadly, this only made me more confused. A little all over the place. Will have to watch it a third time and slow it down. Thank you for all you do.
@drizzbot2994
@drizzbot2994 Год назад
Best of the best
@olisaemekaaghabuilo8688
@olisaemekaaghabuilo8688 Год назад
Kelvin this is Awesome...............
@mrrolandlawrence
@mrrolandlawrence Год назад
this could be awesome for items in a gallery... set the background to display an image depending on the container size, not the viewport width. esp if the number of photos in the gallery changes on the width of the grid say.
@StephenRayner
@StephenRayner Год назад
Very cool
@larmiekeys7338
@larmiekeys7338 Год назад
Really work
@27sosite73
@27sosite73 5 месяцев назад
ty mate
@simon.tomtom.design
@simon.tomtom.design Год назад
Super pertinent video, as always! I was wondering if the container shouldn't be the call to action itself. That way, wherever it's used, it's relying on it's own width to adapt it's style, even if it's not under .content-sidebar.
@simon.tomtom.design
@simon.tomtom.design Год назад
It would also manage the flexbox no?
@KevinPowell
@KevinPowell Год назад
An item can't be its own container. You could have the call to action, as the container and then a div inside it that looks at it, and then all the content in there? Seems like an awkward pattern though
@simon.tomtom.design
@simon.tomtom.design Год назад
@@KevinPowell Ok, I'll dive deeper (it's my first look at Container Queries) but for me, the idea was to make single components responsive wherever they're used and not have to declare rules for every spot you could use the component. Thanks!
@simon.tomtom.design
@simon.tomtom.design Год назад
Ok, I wrote too quickly, it makes more sense the more I look at it!
@jeffb694
@jeffb694 Год назад
Thanks for the video Kevin. It worked on Chrome. This didn't work on Firefox. MDN says: "Last updated on 15 September 2021 to add details of the new properties container-type, container-name, and container."
@amirarashi2388
@amirarashi2388 Год назад
hi kevin, video was awesome. i have a question about custom property you used in paragraphs (--color-primary), why you didn't change the variable value in diffrent break points?
@artistry7919
@artistry7919 Год назад
I'd say it can cause confusion in maintanance, so it's bad practice. Global custom properties like --color-primary shouldn't be changed in a non global scope, unless you have a really good reason
@amirarashi2388
@amirarashi2388 Год назад
@@artistry7919 yes you are right. i forget about it and i think an local scope variable somthing like --color-paragraph: color; could solve that
@zxuiji
@zxuiji Год назад
4:38, while not as convenient as containers you can achieve the same with media queries, if you can do it with old css then you should, then you won't have stubborn mules who use the old **** complaining at you.
@timseguine2
@timseguine2 Год назад
Is there some kind of preprocessor or polyfill for this feature to make it more accessible? Kind of neat, but I don't really find it that useful as is as long as it is not supported in firefox.
@mohitkamal8124
@mohitkamal8124 Год назад
Good video
@agborjosophine527
@agborjosophine527 10 месяцев назад
Just watched the video but it's the writing isn't clear enough but love the video though i just think you should increase the font size of the letters
@AndreGreeff
@AndreGreeff Год назад
Hey Kevin... completely random one: I'm watching your video fullscreen on my right-hand monitor, so it's kinda trippy the way your DevTools window "disappears" off the left of my screen.. I keep half expecting it to magically appear on my left monitor for some reason. (: With that said, it definitely was not distracting though, so don't stress. Very cool video though, thanks for the nice clear presentation.. Container Queries really are incredible, I need to go play in my sandbox now... :D
@theseangle
@theseangle Год назад
42% support on caniuse :( Why don't browsers use dynamic engines which can Fetch features from a server whenever a spec update happens. That way a soft/mini/cloud update happens on all browser versions, meaning even browsers from 5 years ago can have most of 1 month old features
@GHOST8799
@GHOST8799 Год назад
Do container queries have an influence on the formatting context? Ie/ do they get rid of collapsing margins?
@malignate4sd
@malignate4sd Год назад
I have used this principle a lot with resizeobservers, but builtin in css is oviously better and more flexible.
@filippotinnirello
@filippotinnirello Год назад
8:35 couldn't you assign the container-type directly to aside and article? since container doesn't change anything per se, you could let it be the default behavior for these tags, isn't it?
@eccenux
@eccenux Год назад
Good video... But what is with this attribute selectors. Attribute selectors are longer and slower. Why not use: `.container.medium`?
@superalexturbo
@superalexturbo Год назад
The real problem for now is Firefox. They have to solve a bug and when they will release the fix we could finally develop with container queries
@TufanCalisir
@TufanCalisir Год назад
Hello, is it possible to get the .html and .css code to dive more in depth with the container queries? Like in codepen or so?
@friesnsoda1916
@friesnsoda1916 Год назад
Yossshaaaa let's go!!
@AmodeusR
@AmodeusR 6 месяцев назад
14:05 I wonder how hard would it be to make the inline-size the first property instead of the second, hence allowing us to use it as a shorthand property without needing to declare both values...
@louroboros
@louroboros Год назад
Regarding the 3-card grid layout: Why not set .even-columns > .call-to-action { container-type: inline-size; } ?
@krateskim4169
@krateskim4169 Год назад
awesome
@eggkookoo
@eggkookoo Год назад
If I have an absolutely-positioned div with no width/height set, it will fit itself to any relative content inside it (like a stack of divs or images or something). So if the widest child element is 200px, the parent div will have a width of 200px as well. As soon as I give the absolutely-positioned parent div a container-type (of any value), it "loses" its children elements and collapses down to the smallest possible size, typically 0px. Is this a bug or am I missing something?
Далее
A new approach to container and wrapper classes
25:27
Просмотров 242 тыс.
ОВР Шоу: Русская баня @TNT_television
12:06
UZmir & Mira - Qani qani (Snippet)
00:26
Просмотров 733 тыс.
НЕБЛАГОДАРНЫЙ ВНУК #shorts
00:22
Просмотров 637 тыс.
Avoid these 5 beginner CSS mistakes
21:38
Просмотров 51 тыс.
Learn how to use Media queries & Container queries
34:33
Native JSON in OTP 27! (Elixir, Erlang, Gleam)
2:03
Getting started with CSS nesting
27:14
Просмотров 66 тыс.
How to take control of Flexbox
16:01
Просмотров 98 тыс.
How to create a theme switcher with HTML & CSS
28:21
Просмотров 108 тыс.
A flexbox trick to improve text wrapping
5:02
Просмотров 149 тыс.
Subtle, yet Beautiful Scroll Animations
5:04
Просмотров 1,6 млн
ОВР Шоу: Русская баня @TNT_television
12:06