Dang, Kevin. I have to say that whenever I'm struggling to understand a layout concept, you're videos are always so refreshing. You're a gifted teacher. Simple, to the point, and practical.
@cchana2 жыл бұрын
The video on srcset I wish I watched at least 2 years ago! As ever, really well explained and great demo. In some sense, I feel like the solution is over complicated at the CSS level but this was more than enough to help get my head around it. Thanks, Kevin!
@JamesQQuick Жыл бұрын
Came back to this video for the second time a few years after the first time. Always great stuff :)
@KevinPowell Жыл бұрын
Nice! I've come back to it myself a couple of times to remember parts of it 😅
@yuliethemstedt8619 Жыл бұрын
Hey Kevin, this was sooooo helpful. I'm currently building an image-heavy website ... and I never fully took the time to understand all the parameters available in srcset ... this was an excellent workshop and just took half an hour. Thank you so much!
@williamzhou34385 жыл бұрын
Thank you. I was reading and practicing about this topic but still not understanding it clearly until I watched your video. Now I'm confident enough to apply it on my own project. I really appreciate your explanation, and look forward to seeing more of your videos.
@ivanpavlovnorth5 жыл бұрын
Super! I found that this tutorial is only one with an explanation of "CSS Pixels" among huge numbers of CSS tutorials!
@KevinPowell5 жыл бұрын
It's something most people don't realize. I need to do a video only on that subject I think.
@greenworld70854 жыл бұрын
I was stuck for hours to figure out "clearing the cache " before I came 2 this video. But I found it in your video. U saved the day. thanks a lot...
@PaulMcCannWebBuilder3 жыл бұрын
Also, when dev tools are open in Chrome, you can long click (click and hold) on the reload icon in the browser's toolbar and you get the option to 'empty cache and hard reload'.
@RachnaChavan-n7w Жыл бұрын
What an explanatory video, loved the math formula tip you showed based on device widths. Thanks a lot for this amazing takeaway about srcset
@juliocodes6 жыл бұрын
Great job as usual, Kevin. The way you explain things is very clear which makes it easier to understand!
@sciencehub51976 жыл бұрын
You're amazing. I just finished my website project last week by following your advice. I wish this video was out two weeks ago haha
@lisap5615 Жыл бұрын
Thank you once again for amazingly helpful information! I think this is a very important thing to know to allow your images to be responsive and flexible for various devices.
@krtecek-who-tries2 жыл бұрын
Thank you! I was struggling to understand why one and the same image is loaded no matter which screen size I set in Chrome Dev Tools responsive emulator, and your video was really helpful :)
@RussDnB4 жыл бұрын
Every time I think I've learned what I need to know, I find something new, lol Been working on a site for just over a month now, and stumbled across this today. Thanks for this video Kevin!
@jimdart82196 жыл бұрын
Awesome. You have no idea how badly I need this on a project right now. Thanks a million Kevin.
@jivanmainali17424 жыл бұрын
But how do you put those width into img srcset when imgae is being loaded from backend
@jamesauble80913 жыл бұрын
At 9:56 you suggest to use the lowest quality image, but devs may bear in mind that this isn't always the best option. In many situations you might actually want to provide the best quality image at the sacrifice of bandwidth to the end user. The reason for this would be that just because the end-user is using an old browser, this doesn't necessarily mean they're on a poor connection. Granted, there may be a correlation, but this should be taken case-by-case.
@jibkas6 жыл бұрын
There should be another option in polls " Doesn't matter". Because for me it doesn't matter Code pen or VS Code. I'm more interested in topic. Great tutorial BTW.
@KevinPowell6 жыл бұрын
I thought about it, but I figured I'd force people to make a decision :P - Glad you enjoyed the video!
@leonardmbibi80132 жыл бұрын
First,Thanks for the video. Secondly, I did not get good results: without the media query, my browser never changed img as I resized. Thirdly, with the media query in place, transitions occurred way earlier than expected. Finally, I ended up using the element for my project.
@joeldcanfield_spinhead5 жыл бұрын
Excellent and thorough explanation. Now that I'm working toward fully responsive sites, I'll be using srcset to serve different images for phone, tablet, and desktop (more or less.) I'd never heard of srcset before a week ago and as I'm refreshing my web knowhow this is high on my radar.
@ryanamberger6 жыл бұрын
Notepad++ is cool too. That's how I learned Web Dev. Really helpful how it gives popups when typing to give examples of what you can use, especially on the CSS page. Still learning every day and that certainly helps. Just so many declarations to remember. Sadly, after all the learning on my own and taking an extra web dev class last semester, I'm still struggling to get hamburger buttons working. Ive been struggling with responsive design and adaptive content.
@KevinPowell6 жыл бұрын
Takes a long time to start putting everything together, and making things responsive just adds a deeper layer on top of that. Just keep practicing and it starts to get easier :)
@cerealrakist73604 жыл бұрын
I had to learn on notepad++ and type everything out Before I could use an editor with all those bells and whistles. Then I realized a little to late, that ++ offered Bells and whistles too ! Lol .. I look back and see the importance of knowing how to make everything happen with no extensions or expansions or suggestions, etc ... I like notepad ++, I’m no hater by any means but VS has my heart.
@alimfuzzy6 жыл бұрын
This is a good coincidence. I just started the Udacity nano degree and this is in the first module and did not understand sizes. You explain it much better than they do.
@KevinPowell6 жыл бұрын
I'm glad I could help out Andrew! I hope the rest of the course meets your expectations, I've heard good things about Udacity and have thought about doing a few of their courses in the past.
@kostiantynkarzhanov9216 Жыл бұрын
Awesome and very well explained tutorial! Kevin, thank you so much! 💛
@TheDexter896 жыл бұрын
I see this source set in wordpress but I don't know the concept behind it. Today I understand it and use it for my HTML website Thanx Kevin
@gaborszekely83876 жыл бұрын
YES!!! You came through on kitten, as promised. I now have no choice but to Patreon this channel.
@KevinPowell6 жыл бұрын
Haha, I'll make sure to keep them up :)
@hiwayshoes6 жыл бұрын
Thank you so much for your help with images, Kevin! Your tutorials are always the best!
@squirrelwise6 жыл бұрын
Thanks Kevin. You have produced some quality videos this last month or so. I really appreciate it.
@denisdeleon22712 жыл бұрын
Thank you. Good explanation of srcset and what the browser is doing.
@KyleMerl6 жыл бұрын
wow... This is the video that I didn't know I needed. I used media queries and, if I remember correctly, the visibility property to achieve that same effect. using srcset seems so much easier!
@JBuchmann6 жыл бұрын
I think doing it with media queries and css visibility isn't really helping with lowering bandwith. You're still downloading all the image versions. With srcset you literally are downloading only the single best sized image depending on the browser width, resolution, etc.
@KyleMerl6 жыл бұрын
I agree. I'm going to have to use this going forward.
@KevinPowell6 жыл бұрын
Yup, as John mentioned, this will load in all the images. You'd be better off just loading in one big image in that case I believe. You'll probably really like the picture element once I get there next week :)
@xiiEJRAM4 жыл бұрын
I have learned a lot of things from you , I really appreciate what you do for us bingers in stuff like this 🖤
@zanekase80993 жыл бұрын
sorry to be so offtopic but does anyone know a way to log back into an instagram account? I somehow forgot the login password. I love any assistance you can offer me!
@ameerjack13293 жыл бұрын
@Zane Kase instablaster =)
@zanekase80993 жыл бұрын
@Ameer Jack i really appreciate your reply. I got to the site through google and I'm trying it out now. Seems to take quite some time so I will get back to you later when my account password hopefully is recovered.
@zanekase80993 жыл бұрын
@Ameer Jack it did the trick and I now got access to my account again. Im so happy! Thanks so much you really help me out !
@ameerjack13293 жыл бұрын
@Zane Kase Happy to help :)
@TokyoNerd9 ай бұрын
Another very helpful video. These videos always help me to learn a new way to improve my website!
@level9teamplayer Жыл бұрын
Ty. This was confusing at first buy you made it pretty simple and easier to understand.
@ViktoriaLukyanchuk2 жыл бұрын
I finally understood this concept of size!
@shrookwageh59765 жыл бұрын
you always surprise me with your content. it's concise and informative. Great work.
@danaifessahaie2032 жыл бұрын
Great video, thank you for the info! I have one question regarding 2x-3x retina screens. If a mobile device has a 3x screen should it download the highest quality image? Aren't mobile devices the ones with the most questional connections and where you want to your website to run the smoothest? If a mobile device downloads all the highresolution images and slows the website down then whats the point? Fundamentally I guess my question is should you strictly adhear to the screens pixeldensity or is it acceptable to stray away from it and follow your own preference if you feel thats best? What is best practice here? (new to this :D )
@KET0NES Жыл бұрын
thanks, love this! trying to get into more detail of loading and optimisation and it's hard to find good content on fundamentals like this. fun seeing an old video compared to your new stuff too.
@andrejmarffy33683 жыл бұрын
Thanks Kevin! Very well explained. Great help for me.
@kyleklaiber22252 жыл бұрын
@kevin powell thanks for this! Did you ever do a part 2 for this? 28:00 I am looking to include something like this in the theme I'm building and not finding any solutions that I like so far!
@babayaga58486 жыл бұрын
we don't need dislikes for this guy plz, this will be helpful Kev thank you, keep it up ♥
@KevinPowell6 жыл бұрын
Haha, always gonna be haters, it's all good
@Marceloamado19988 ай бұрын
Very clear explanation. Thank you man
@magoxxii7 ай бұрын
Great video! i loved the use of cats. not anymore in new videos =P thanks as always kevin! you make it so clear, today i saw 4 more videos about it, all of them bring some to the table but yours always is the most educative and descriptive. thanks again from 2024!
@rafa6536 Жыл бұрын
Maybe it is a great solution. I didn't know about it. I am learning and on my blog, which I am making to learn while doing it, I have sometimes a post with a lot of pictures. Load time was crazy slow, but the column is not wide, so I wrote myself JavaScript code and server side code which is returning to the user the smallest possible picture depending on column width. Now I think I have to rewrite it using srcset + sizes :) Thanks!
@FreeHindiAdvice3 жыл бұрын
100000 times clap clap clap....you saved my tons of time, Thank you for everything :) :) :)
@YvonneVibe6 жыл бұрын
so enjoyable when watching your every video! thoughtful and clear
@alexraventos95615 жыл бұрын
Thank you very much from a teacher in Barcelona, Catalunya
@KevinPowell5 жыл бұрын
No problem at all :D
@beyondcatastrophe_6 жыл бұрын
19:15 I don't think the browser divides the served width by the actual width and then decide whether that's above the threshold, rather it would make more sense to multiply the actual width by the DPX and choose the next bigger image... Much easier on the CPU
@KevinPowell6 жыл бұрын
That makes sense. I'm not exactly sure how it works (as you can tell), but I'm glad it works in this case :)
@beyondcatastrophe_6 жыл бұрын
@@KevinPowellthat was just my thought, I haven't researched anything... :D
@igorradovic0376 жыл бұрын
This is very good and useful tutorial and it explains advanced techniques. Thank you Kevin keep on going.
@KevinPowell6 жыл бұрын
Thanks Igor, glad you liked it :D
@salhakim23224 жыл бұрын
Great video, I’m wondering what people’s thoughts are on automating sizing picture sizes? Ideally, I’d like to output sizes in webp for most viewports and jpegs for mobile since support still isn’t there.
@ArneM75 жыл бұрын
At 16:35, you say something like "as my window size is bigger as this (pointing at 1500), it will use this image (pointing at img/cat-1500.jpg). This is incorrect, it will start using img/cat-1500.jpg when the window size is bigger as 1000px.
@eip4083 жыл бұрын
Awesome, I believe that this are indeed needed. Thanks🙌🏼
@threeone601210 ай бұрын
Kevin lost weight since this. Good job!
@andersonhall086 жыл бұрын
Great video, as usual. Seems like I did a free course on Udacity that dealt with this, but your explanation has helped it stick better for me. Thanks!
@KevinPowell6 жыл бұрын
Glad I could help :)
@The1stKing4 жыл бұрын
Oh man, i loved the video! Thank you so much for making it. God bless you sir.
@Lilliebeth0014 жыл бұрын
Hi Kevin, thank you. This is really interesting, as always. How would i apply this when I am using an img as a background in css though?
@stephenbrown1567 Жыл бұрын
Thank you, I have read loads of tutorials and they dont explain it as clearly as this. Just one question how do you do the same for background images?
@req7775 жыл бұрын
I have resisted using SRCSET for long time, partly due to limited browser support partly as it seemed strange mixing layout information into the html... After wrestling with complex CSS media queries in my recent project I've realised that it's the best, most elegant and easiest to implement solution for the photos and illustrations in the content (not for the layout backgrounds, textures, and UI that are parts of CSS). Have the feeling that it should be a separate, 3rd layer of abstraction, tho (beside HTML and CSS) do deal exclusively with the viewport/output.
@beausherman97095 жыл бұрын
Great video! I've been trying to use this but haven't been able to get it to work right. After watching your video I know for certain that it isn't my code. I think there must be something wrong with my browser or my computer. I'm using the latest version of Chrome and it doesn't seem to be reading the viewport width correctly. I tried checking the disable cache option but it's still loading the wrong image sizes at the wrong viewport widths. Have you heard anything like this before? I've been getting around it by using and but I would rather use this method if I can get it to work right.
@KevinPowell5 жыл бұрын
The viewport width? I don't see why it wouldn't calculate it correctly. Try a simple media query with a changing background color to test how it responds to that. If it's for your images, could it be you have a higher resolution screen?
@beausherman97095 жыл бұрын
@@KevinPowell Yes I believe I do have a high resolution screen. It's a 13'' 2015 Macbook Pro. Everything except the images seem to respond to the right breakpoints.
@AlessandroManente Жыл бұрын
thanks a lot for the channel, awesome video, and i'm definitely going to use srcset for my personal page!
@marinoschrysanthou21754 жыл бұрын
Perfectly explained!
@briangibson38036 жыл бұрын
Pole?.. IDE/Text Editor over Code Pen any day... as a newbie just nice to see all the code, not just the CodePen content code (it that made sense?).. and then write it myself in the same editor as VSC and Atom seem to be everyone's flavour at the mo.. Just a lot easier for a newbie to feel out and understand.. Keep up the awesome work dude! : )
@KevinPowell6 жыл бұрын
Thanks for the feedback!
@Alessandro__3 жыл бұрын
Does the algorithm also evaluate the network speed? So based on this it can choose if load an low quality image as compromise
@sakarsr6 жыл бұрын
Nice to know about (scrset). VSCode explanation is good. Use VSCode in all your code examples. Good health.
@kaine26946 жыл бұрын
Thank you soooo much for doing this awesome videos! I do lern more from you than from enywere else on the internet. Great quality, great mic, nice you. Greetings from Austria and Thanks alot! keep going!
@KevinPowell6 жыл бұрын
Thanks so much for the kind words Julian, and I'm so glad that you like and learn from my videos :D
@Tom-ow6gw4 жыл бұрын
Excellent video! One thing about the beginning of your CSS pixel explanation: "...a pixel on one device is not equal to a pixel on another device. That's because we're using CSS pixels..." I might be misunderstanding what you're saying here, but if you're saying CSS pixels are different across devices, I don't believe that's the case. Hardware pixels are different sizes, but CSS pixels are about the same size across different devices.
@KevinPowell4 жыл бұрын
Been awhile since I recorded this, but I think what I wanted to say was "that's why we use CSS pixels"...
@Tom-ow6gw4 жыл бұрын
@@KevinPowell Ah, gotcha. By the way, awesome series, you are one of my favorite front end content creators on KZbin!
@Alessandro__3 жыл бұрын
Just a question. If in src you specificy the 500px, but than the browser understand that it's better the 1000px, how the loading process works? Is it first loaded the 500px and than substituted with the 1000px or it is directly loaded the 1000px?
@etiena4 жыл бұрын
I do not know if it is possible but it would good to set srcset to none as replacement of display:none whenever you do not want to show an image under a certain width. For example on mobile devices I tend to hide some images, but with display:none the image will be loaded anyway.. Do you have any suggestion? Thanks in advance and thanks for sharing all your knowledge to us
@gmoneybags015 жыл бұрын
Hey Kevin, do you have any videos on how to use grunt to make images responsive?
@aram56425 жыл бұрын
What a fantastic tutorial! Like a missing manual!
@SiddharthSharma15 Жыл бұрын
Thank you so much, extremely clear.
@CarlitoProductions3 жыл бұрын
this explains well what i had trouble with. thank! question though: for the media queries for the size property, can we somehow access srcset inside of css and implement the properties there? Or something similar?
@libbeytds2 жыл бұрын
What's your recommendation when using a grid of images that scales with the viewport? In that case, would I have to write countless media queries to pass the width of each image at any given screen size? Or is there a better way of doing this?
@ahsanhabibasha6906 Жыл бұрын
It was really helpful to me and thanks a lot for this.
@CodingBandit10 ай бұрын
where do you get pictures with different widths
@davidpicarazzi4 жыл бұрын
What an amazing video, explained so clearly. I have hopefully a small question, before I code websites I design them in XD, say I got a picture in XD, is there anyway to see what its size is instead of having to export it to see it? Also, when making smaller versions of a picture should I manually resize them in XD or try out the export @1x 2x 3x options etc?
@KevinPowell4 жыл бұрын
I'd use the scaling options in XD for exporting! I think if you click on an element you can see it's dimensions on the right sidebar somewhere.
@davidpicarazzi4 жыл бұрын
@Kevin Powell Thanks kevin, so is it best practice to put your lowest quality first? As in : img src="low quality" srcset="low quality good quality best quality" I’m a little confused how you go about it for mobile. Say I make a desktop mockup of a product page that has shoes. And I also design a mobile mobile mock up. Would I export the desktop pics at greater sizes and do the same for mobile?
@RichardShire4 жыл бұрын
Great video Kevin, really helpful info, thank you!
@ldlouis6 жыл бұрын
Very good topic. Thank's for sharing. Like this better than Codepen
@mattclarke21424 жыл бұрын
Cool series, great explanation! How do you decrease the size of jpeg images without them losing picture clarity at a smaller size? I've tried using gulp-image-resize with image sharpening but I am sure there is a better solution.
@cerealrakist73604 жыл бұрын
Have you tried doing it by making a copy and taking it to a picture editing software and playing around? Did you find the answer to this question yet?
@ajayji10094 жыл бұрын
Nicely explained Kevin as always. As you mentioned 500w, 1000w in srcset and in media query example you mentioned vw...so, 500vw and 500w are the same?
@tanikobas69913 жыл бұрын
Great explanation! Thank you so much for spending your time. Nice guy! :)
@PerfectSwingDance4 жыл бұрын
Any good ways to automate such process today?
@Natalie-gw8jt2 жыл бұрын
Great video!! Quick question, how do you get different sizes of the same image?
@1337ghomri Жыл бұрын
Nice video! Finally understand it
@hashaama6 жыл бұрын
your every video is amazing keep it coming sir!!
@KevinPowell6 жыл бұрын
Thanks Hashaam!
@onur-91582 жыл бұрын
I'm a beginner. How can I rotate img when I extend the page size ?
@DamianDemasi3 жыл бұрын
Thank you! I finally understood this!
@abhijitbarman44013 жыл бұрын
very informative video🧡🧡
@PotatoLeagueStudios6 жыл бұрын
Kevin, you are awesome! I love your videos!
@KevinPowell6 жыл бұрын
Thanks Ethan :)
@stephenaitken15603 жыл бұрын
What an excellent tutorial.
@OctavianContis Жыл бұрын
Nice but how to make this work with "width" and "height" img attrigutes while also not triggering errors in Lighthouse reports?
@Faruk-zt5iw2 жыл бұрын
Thanks, I feel like I'm ready to implement this on the real project :)
@yabuking842 жыл бұрын
Im still confused. How was sizes attribute able to select which image to use in srcset?
@slammerton3 жыл бұрын
Awsome vide! How would i apply this when I am using an img as a background in css though?
@esraaabdelaziz4855 жыл бұрын
thank you so much for that video this really made it easy for me to use srcset attribute and understand it very well
@franktielemans66246 жыл бұрын
What happens when you create a wrapper around the img, make it 50% width and the img inside 100% width? Do you still need the sizes attribute?
@KevinPowell6 жыл бұрын
Yup, because it's based on the viewport, not the parent element, so it's not 100%, it's 100vw as default. This is all loading in *before* the CSS, so it doesn't know the size of the parent when the image loads, which means it can't base anything on that.
@jmcharro99475 жыл бұрын
Thanks for the tutorial. What about device pixel ratio. Is it possible to conbinate it with w property in the same line?
@rvoitiv Жыл бұрын
This is great content, thank you
@michaeljanik14893 жыл бұрын
Thank you very much. How can I structure the code when I want have webp and jpg in different sizes?
@gaziev__97973 жыл бұрын
I love you! In the ru community, little is said about it
@erock37373 жыл бұрын
Great video - thank you.
@tarcisiomateus15062 жыл бұрын
thanks so much, I gonna use it today😊
@GoogleUser-es9vs2 жыл бұрын
Thank you so much!!!
@erykkryszewski58036 жыл бұрын
ok i have a question. dont know if its logical question, but let's try to understand my point of view :D we all try to reduce weight of website as much as possible. we count every kb of file, of course. but isn't it a bit pointless to put 3 versions of every image to our img folder? isn't it better to try to find the best quality for all the devices and put only one version of image? if we have 50 images on our site it would be like 150 in img folder. Isn't it wasting of our server space? Does it impact the website speed if there are so many files? Just asking, cause I have no idea about that. Just seems a bit illogical. Or maybe the website doesnt care about how many files we have, but only cares about the one that must be loaded at this moment?
@KevinPowell6 жыл бұрын
The point is to reduce the load for the user, not how much space we are using on the server. In this case, it speeds up the user performance because they are getting only the best image for their situation.
@erykkryszewski58036 жыл бұрын
@@KevinPowell ok thats what i was thinking about. But wanted to ask. TY for the answer :)