Avoid These 5 Awful CSS Mistakes

Поделиться
HTML-код
  • Опубликовано: 2 июн 2024
  • I often see beginners making the same mistakes over and over again, so in this video I take a look at some common issues and give some advice on how I think things could be improved.
    🔗 Links
    ✅ Live Server VS Code extension: marketplace.visualstudio.com/...
    ✅ Flexbox or Grid - How to decide? • Flexbox or grid - How ...
    ⌚ Timestamps
    00:00 - Introduction
    00:35 - Useless declarations (that can cause problems)
    04:04 - Over-reliance of Flexbox
    06:37 - Using very specific values
    10:44 - Terrible class names and numbering elements for no reason
    14:00 - Over-reliance on position absolute
    #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!

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

  • @projectsanketdelhi9758
    @projectsanketdelhi9758 Год назад +111

    Feels good to know that I did all these mistakes 2-3 years ago but no more, I do other mistakes now :)

  • @buzzcodez
    @buzzcodez Год назад +215

    I've only been learning web development for a month and Kevin Powell is my go-to resource for learning CSS. His content is pure gold. Thank youuuu :))

    • @MarkvanderMade_Official
      @MarkvanderMade_Official Год назад +7

      Totally agree. Amazing content! Thanks Kevin

    • @MrSkinkarde
      @MrSkinkarde Год назад

      Pretty crap stuff

    • @swilderspin
      @swilderspin Год назад +6

      @@MrSkinkardecan you point me to a better resource? Maybe something you have produced?

    • @irandis
      @irandis Год назад

      SAME!!!

    • @the-nomad-show
      @the-nomad-show Год назад +6

      I've been working as a full stack developer for 16 years, and I find Kevin a great resource to update my oftentimes outdated css skills. I mean, when I started working, layouts using tables were still a thing, so I've got at least a decade's worth of absolutely useless knowledge which I need to be reminded not to use😛

  • @perritoDeSatanas
    @perritoDeSatanas Год назад +13

    Ive been working with css for about 10 years and every time i watch one of your videos i learn something new

  • @Aliena92
    @Aliena92 11 месяцев назад +12

    There is so much empathy in the way you address beginners' mistakes, thank you!

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

      That's web dev for ya. We understand now that we don't make these mistakes we have graduated to make other mistakes =)
      Love Kev

  • @UrbanJackJr
    @UrbanJackJr Год назад +21

    Display flex actually fixes a very annoying issue, which is collapsing margins. Collapsing margins can be a good feature sometimes, but they bring more issues than solutions for me.

    • @KevinPowell
      @KevinPowell  Год назад +8

      collapsing margins are annoying, for sure!

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

      I think they are annoying, because we don't use HTML for what it was originally intended, which is rendering text-heavy content. With a stack of multiple headings, sub-headings, and paragraphs, collapsing margins totally make sense. And they still do. Problem is, that nowadays we heavily use HTML/CSS for the most sophisticated graphical layouts, where collapsing margins are not the most logical thing to expect.
      A rather simple solution to this is to only use margins for flow/text content, where they still make sense, or, like mentioned in the video, more sparsely for advanced layout techniques where they could come in handy. We have better options for gaps in layouts now, so margins are not the best tool for gaps anymore.

  • @JamesSmith-di4mc
    @JamesSmith-di4mc Год назад +20

    Excellent video, Kevin. I have learned 99% of the CSS I know following your courses and videos. Cheers.

  • @MixbOOsted
    @MixbOOsted Год назад +36

    My biggest mistake was to stack things using Position instead of grid or flexbox and using tons of media queries!😶😶

  • @JulianColeman03
    @JulianColeman03 Год назад +49

    Just recently gave the same advice to a junior dev to not declare things unless they're absolutely needed. I actually give this advice to entry and junior devs a lot. Hard to believe that this isn't a topic that's taught regularly in bootcamps or on-the-job learning

    • @David_Liu93
      @David_Liu93 Год назад +2

      As an aspiring junior web developer, I just wanted to thank you for giving advice to my fellow juniors out there. This is why I already like this career - more experienced colleagues are willing to mentor and support 🤝

    • @nagyzoli
      @nagyzoli Год назад +2

      Comes from people trying to emulate bootstrap and writing a lot of initializers

    • @gerhardadler3418
      @gerhardadler3418 Год назад +1

      I think many people are just self taught, like me. When i started, flexbox didn't even exist and css was the newest thing to do the layout. But even today i still see websites where the layout is done with tables.

  • @BasicMike
    @BasicMike Год назад

    Best video you've produced in a while. Great timing too, cuz I'm going through this problem with my front-end course now.

  • @QwDragon
    @QwDragon Год назад +10

    In the last example I would've use .card > img { margin: -2rem 2rem 0 -2rem }.
    And even with your version I would've set margin-bottom: -2rem on img instead on margin-top: -1rem on h2.

  • @TomasMisura
    @TomasMisura Год назад +8

    I have to admit I was declaring width:100% as well as redeclaring of display:flex. The issue with (non)declare display:flex, is.... sometimes may child element of the element with display:flex breaks styling and another child element (grandson) behaves as not expected. Then I have to redeclare and everything get back into normal.

    • @twothreeoneoneseventwoonefour5
      @twothreeoneoneseventwoonefour5 Год назад

      Display flex declaration only creates flex container for the parent element.
      Child elements are not automatically made flex, why? Of course grandsons are not flex.

  • @javieru5871
    @javieru5871 Год назад +2

    hahaha, and my backend friends always say frontend is easy peasy, that is just like to handle a json or yaml file, that there's no complexity at all, but then they start asking for help when they need to center a div. I do both backend and frontend, and damn, frontend is hard, really hard. Top notch content, thanks.

  • @PiotrChwirot
    @PiotrChwirot Год назад +2

    Couldn't agree more ;). In my 15+ war on frontend, other people always asks me how can I love CSS, and how I know how to fix those stupied scrollbars, unnecessary margins/paddings, wrong width/height. In 90% of the time I'm dealing with styilng bugs, the solution is to remove most of the CSS :P
    Most important rule in styling is: the fewer CSS the better
    Happy styling ;)

  • @Martina-cr9io
    @Martina-cr9io 10 месяцев назад +2

    Kevin, your videos are great. It is really joy to learn CSS with them.

  • @picturit
    @picturit Год назад +25

    Another common mistake is using background shorthand to only declare a background color, forcing the browser to fill in the other 9 values. It impacts performance, and can cause bugs that are really hard to find. Use background-color for this. Otherwise, great video 😀

    • @ahmadmuraish1144
      @ahmadmuraish1144 Год назад

      what other 9 values? can you elaborate more? I tried googling this and found nothing...

    • @career963
      @career963 Год назад +4

      @@ahmadmuraish1144 There are many values in that property like size, image, position, repeat, origin, clip and attachment of the background.

    • @ahmadmuraish1144
      @ahmadmuraish1144 Год назад

      @@career963ah okie, got it. Thanks for the reply.

    • @derDooFi
      @derDooFi Год назад +5

      I can’t imagine this to be true and even if it were, your page would have to be insanely complex for it to make any difference. Do you have a source for this claim?!

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

      Please elaborate more on that?

  • @rick.d
    @rick.d Год назад +3

    VS Code extension Live Server - that's what I needed here more than anything, thanks for mentioning that!

  • @kingbebop8323
    @kingbebop8323 Год назад +2

    Felt called out with all these common mistakes 😩 Thank you Kevin!

  • @americanhoes1652
    @americanhoes1652 Год назад

    Your videos are so helpful! Thank you so much for helping me fall deeply, madly in love with CSS!

  • @justincooper2241
    @justincooper2241 Год назад +4

    I've just finished blundering my way through my first web app and I have never even thought of using class names as a sort of tag for properties! I will definitely be doing that from now on!

  • @wanpengqian
    @wanpengqian Год назад

    I love this kind of video, it not only tech you useful things, but also tell you how to think difference, think right! thank you very much, keep going😊

  • @tonybrown7847
    @tonybrown7847 Год назад +1

    Excellent advice. I learned css a long time ago and got really good at making pixel perfect sites. I was using floats and that’s how I think, so thank you for these tips, they totally make sense. Time to really learn flexbox and grid. Also, I would never use the important class. My thoughts are if you have to use !important, then something is wrong with your css

  • @damianroiz128
    @damianroiz128 Год назад

    Thank you Kevin! The best source of CSS as always!

  • @enricoroselino7557
    @enricoroselino7557 Год назад +1

    that card flex basis is answering my trust issue / over-thinking "why my cards slightly un even?" thank u coz its tiny tiny bit un even, the fact its a technical issue not "me" problem

  • @rickardelimaa
    @rickardelimaa Год назад +4

    Using _float_ and _position: absolute_ in layout is probably the most common beginner mistake I've noticed on Stack Overflow.
    That, and not using em/rem as a base for spacing (which is a knowledge I brought from designing books). 0.25rem, 0.5rem, 1rem, 2rem and 3-4rem is all that you need on a homepage for spacing, unless in really specific situations.

  • @sinki19841984
    @sinki19841984 Год назад +32

    I used to hate CSS, it never did anything that seemed logical to me. But once it clicked on how elements behave, I actually enjoy the hell out of it.

    • @mrcrhn4019
      @mrcrhn4019 Год назад +8

      Cool progression, I’m still at the hating stage and cussing at css xD

    • @harleyspeedthrust4013
      @harleyspeedthrust4013 11 месяцев назад +3

      I had that click moment after watching enough kevin powell videos. I used to hate frontend work because of CSS, but one day I suddenly just "got" it

  • @jorgelujanm
    @jorgelujanm Год назад

    This is the kind of videos that help the most. You should make a section "Common mistakes".

  • @godnyx117
    @godnyx117 Год назад +1

    I cannot believe how powerful CSS is! Frameworks like Tauri are the future!!!

  • @j-janz
    @j-janz Год назад

    17:48 One thing I'd do instead to keep it contained in the image definition (and perhaps have done in projects, for such use of transform: translate() ) is to add the negative margins to the image itself, being its margin-block-end (/margin-bottom). So I'd never need to hunt for elements next to that kind of image or, worse, have the design broken for an unforseen following element added in a later change.
    And, as those numbers are the same (the margin only exists only to fill the exact gap left by the translate), I'd possibily even add the translate value to a variable (/custom property) and use that in translate and margin, so that I'd never mistakenly skip one of those in case of a change.
    Other than that detail for margin placement, great tips, as always! =)

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

    Beginner(me) reason for doing it: it works. After watching this video, reason for using it: there is a good reason and good purpose for using it. What an awesome video! Thanks Kevin!!

  • @DrunkenUFOPilot
    @DrunkenUFOPilot 6 месяцев назад

    Excellent tutorial! I had that problem with flexbox just recently. Ended up deleting all mention of flexbox, and then things looked fine. Makes me wonder when I should use flexbox? Using CSS, HTML since the 1990s, so I for me learning something new involves just as much unlearning, and sometimes just using the old ways turns out fine. So don't do too much unlearning!

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

    Your height trick helped me in a recent project. Thanks

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

    I've learned many tricks and "best approachs" with this video about 'flex' usage. Many thanks and Good Jobs.

  • @DragonHunter926
    @DragonHunter926 Год назад +7

    Love your content. I am starting to like css more and more now.

  • @M.GV09
    @M.GV09 Год назад

    Thanks for the video brother!

  • @aaronmichaelseckman
    @aaronmichaelseckman Год назад

    I’m subbing because of your lighting.

  • @_mzkr_
    @_mzkr_ Год назад +2

    Finally an oasis. A channel dedicated to CSS and the magic that it is.

  • @larbesabdellah7079
    @larbesabdellah7079 Месяц назад

    Amazing simple and clear explanation 🎉

  • @Ukrainer2022
    @Ukrainer2022 Год назад

    It's a great tutorial. Thank you!

  • @williamsa51
    @williamsa51 Год назад

    Thank you very much. All of this is useful for me.

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

    Tanks for your video. 😊 Usefull tips 👍

  • @clevermissfox
    @clevermissfox 6 месяцев назад +1

    I was doing exactly that, using flex column when I didn’t need it. Broke that habit only a few months ago! But you’re right it’s bc flex was the first thing I learned and felt comfortable with.

  • @programmingplaybook
    @programmingplaybook Год назад

    your content is pure gold

  • @asappi3110
    @asappi3110 Год назад +2

    Fall madly, deeply in love with CSS. 😎

  • @drawdownwind6636
    @drawdownwind6636 Год назад

    Loving your work, brother! Thanks a million!!

  • @pradhumnsharma4253
    @pradhumnsharma4253 Год назад +1

    @09:48 instead of flex-basis we can use flex-grow: 1 in card class. That way it will adjust width according to available items and space.

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

      Yes that's what he did when he did flex: 1; which is a shorthand for flex-grow: 1; among a couple of others

  • @joshuaheathcote2116
    @joshuaheathcote2116 Год назад

    I think this has to be the number one channel when it comes to CSS.

  • @hearttouchinglyrics2028
    @hearttouchinglyrics2028 11 месяцев назад

    My big mistake was not looking at the larger picture, great advices again

  • @GeronimOCZECH
    @GeronimOCZECH Год назад +2

    It always triggers me so much when I open source of any website and see flex-box everywhere... 😅

  • @baldie7266
    @baldie7266 Год назад +1

    Bro, flex basis 100% is insane. Thank you.

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

    wow flex-basis or fle:1 were great, thanks❤

  • @FzsHotDogInDonut
    @FzsHotDogInDonut Год назад

    Your tips just solved my problems. Thanl youuuu 🤟🤟🤟💌💌💌

  • @slipoch6635
    @slipoch6635 Год назад

    Great vid.
    bandaid solutions are a problem in every language. I used to support software written in VB (ew!) and it was a shocker.
    I think also using px for widths and for responsivness as it messes up on zoomed browsers.
    % widths at the browser window layer is dangerous to use as Safari will return the width of the screen, not the window.
    Re: the multi-flex layout, I use flex-max and flex-min for each sub-element as a lot of the times I use these there are client-defined amounts and allow it to adjust itself, should all be defined in minimum number of classes.
    in the transform example, I would put the adjustment to margin on the image itself, that way it's self-contained with the shift of the image.

  • @yashmmee
    @yashmmee Год назад +1

    This is so useful to send to team members who are not good with CSS. It's interesting that all of them are layout mistakes.
    BTW , I see you have your VS Code zoomed in for better readability. Add these to you VS Code settings JSON to free the unused area on the left side:
    "editor.glyphMargin": false,
    "editor.lineNumbers": false,

    • @goodshiro10
      @goodshiro10 Год назад +2

      line numbers may be helpful in some cases but idk exactly

    • @yashmmee
      @yashmmee Год назад

      @@goodshiro10 yeah I personally keep them. Only hide the glyph area. Some people have a keyboard shortcut to hide/unhide line numbers

  • @Furki4_4
    @Furki4_4 Год назад

    love you Kevin !

  • @Bandstand
    @Bandstand Год назад +6

    I’m a beginner in the programming world. Being a creative person I was most excited about CSS because I thought it was going to be a breeze coming to grips with it. As of now I hate it 😅 I’m really really trying to flip the script so I can enjoy my time writing CSS

    • @rewaj56
      @rewaj56 Год назад +1

      Rare post-2022 Bandstand W

    • @jj-big-slay-yo
      @jj-big-slay-yo Год назад

      @@rewaj56 what does it even mean that you wrote? probably nil or null or undefined?

  • @Cobinja
    @Cobinja Год назад +1

    That reminds me of what my dev trainer said in the mid 2000s: "I dcon't care how you do it, as long as you have a plausible explanation why you did it that way."

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

    Though I'm dealing with CSS for more than 15 years I found myself guilty of all charges. It's been a pleasure being awaken by you overthinking my widely narrow minded workflows. It hurts listening to your advices, but that's what sometimes makes me better. Thanks a lot for your work. It just fantastic stuff. 👋👋👍👍 Probably the most important advices that I heard from you so far.

  • @emmanuelkwesimortey9831
    @emmanuelkwesimortey9831 Год назад

    Great content as usual ... I think you can press "Alt + Z" to word wrap so you don't have to scroll horizontally

  • @hrafa8887
    @hrafa8887 Год назад +1

    there is also a setting that applies the saved changes automatically through live server without having to click on any button. just by saving the changes

  • @jadhajali2804
    @jadhajali2804 Год назад

    I recommend using inline css for variations that you know will only be used once...
    It's much faster and better in terms of performance, compared to having it in a class in the css, specially on pages that you won't navigate to frequently.
    I'm surprised you haven't mentioned it at all.

  • @ego-lay_atman-bay
    @ego-lay_atman-bay Год назад +2

    Part of the problem is teachers teaching beginners bad practices. I am taking web development, and my teacher taught us float layouts. Many people were struggling with them, because it was float based layouts. I already knew css, and I knew that float based layouts were terrible, so I tried my best to not use it. My teacher also tells us that we need to put a width and a height on divs and sections, which is obviously not true. He also recently taught us position absolute, and he told us how to center stuff with it, and I'm just here thinking, there's much better ways to center things. Heck, whenever we replicate a website for an assignment, I ignore everything he taught us, and just use flex, grid, and a ton of techniques that are a bit more advanced. I have helped my neighbor many times with things, and I've looked at his css, and it's just full with pretty much useless stuff.
    Oh, and by the way, we had to recreate the navbar from the cafe rio website, and I think I did so much better than cafe rio. Cafe rio put lots of duplicate elements everywhere for different screen sizes. I did so much better because I made all the elements, then just moved them around with grid in order to create the same effect.
    (Recreating the under armour website was a pain, because it changes ever day)

  • @robcataus
    @robcataus Год назад

    Great video! But instead of applying transform: translate(-2rem, -2rem) to the image and giving negative margin-top to the h2, couldn't you just give negative margin-top and margin-left to the image?
    Edit: You mentioned this a few seconds later in the video, but I'm curious what the negative side-effect would be?

  • @akramilyas6030
    @akramilyas6030 Год назад

    thaks that really helping

  • @nikolaypanayotov6941
    @nikolaypanayotov6941 Год назад

    Totally agree on all of these except the one for the layout (I'm from the float era). Some times you want (or the client wants) when columns drop on multiple rows to keep the same column size. Sometimes they don't :) I would say it would be based on the situation and the design requirements. :beers:

  • @chairlovawitabat
    @chairlovawitabat Год назад +1

    I am an egregious offender of all of these. Thank you so much for this video. For me, it is a matter of preemptively/defensively writing CSS to lower my mental overhead (in the moment) but it quickly accumulates into painful maintenance/code debt in the long term. Advice noted!

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

    The picture of the man shaving is just straight 👌😂

  • @AH-BDUL
    @AH-BDUL Год назад +1

    Dude I love you 💟

  • @TomRadic
    @TomRadic Год назад

    I do every mistake from this video :DDDD. Thanks for sharing it with us!

  • @kylevandeusen
    @kylevandeusen Год назад

    Another banger!

  • @SquareballoonCoUk
    @SquareballoonCoUk Год назад

    I used to do this stuff a LOT when I started. Doing too many rules which makes maintenance impossible. I used to throw things in there until I found the thing that worked. Now-a-days I go back and comment them out and if it still works I delete them. It's really important to do this at the time when you're faffing about because in the future say a year down the line the rules may be effecting something on a different page and I'm not sure which page, where or why. If I come back in a year I will comment it just in case something breaks.

  • @homevids
    @homevids Год назад

    Thanks for your video. What keyboard do you use?
    I'm curious. ^^

  • @EnzoAuditore
    @EnzoAuditore Год назад

    Thanks mate

  • @mdibrahimkhalil2847
    @mdibrahimkhalil2847 Год назад

    You are my best teacher

  • @knuseski
    @knuseski Год назад

    I've always hated CSS, but you as CSS Evangelist have changed my mind and perspective, so now I love CSS more than JS. Thank you, Kevin

  • @fabianramirez3222
    @fabianramirez3222 Год назад

    Most common error I've seen so far is the use of "magic numbers" for applying dimensions, which seems to be a bit related to item 3 from your video.

  • @AxxionMarketPlace-iu6ri
    @AxxionMarketPlace-iu6ri 9 месяцев назад

    Thank you

  • @trioindiano1298
    @trioindiano1298 Год назад

    Hi Kevin,
    Can we use or call WebP or avif images in structure data (image schema microdata) ?
    Is acceptable under Google standards?

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

    One thing I always take out of code with bootstrap is:
    ...
    I think, so you just want to have a div. This is quite literally the behavior of just a div.

  • @arshad1781
    @arshad1781 Год назад +1

    Thanks

  • @Lord_zeel
    @Lord_zeel Год назад +4

    Negative margins are actually pretty awesome. For instance, you could get the image to extend out over that corner with negative margins on the image, and not need to rely on other elements accommodating it. I think this would have far fewer "gotchas" than the other options.

    • @Showmatic
      @Showmatic Год назад +1

      I won't lie, I use negative margins quite often. They've come in clutch many times.

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

    thanks for such a great video, again

  • @ego-lay_atman-bay
    @ego-lay_atman-bay Год назад +1

    I will admit it, I tend to put flex on everything. Ok, not everything. I put it on whenever I need to, which tends to be quite a lot of stuff.

  • @ledgentai1227
    @ledgentai1227 Год назад +1

    Thanks!

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

    This was posted a year ago, but in regars to the width: 100%; you'd only have to do this is you used a css reset defaulting everything to 0 right? Otherwise there is no need for it? As a beginner though I'd assume that most people use a css reset for reactive purposes to make sure they can set all values to whatever they need correct?
    Is that also a bad practice? Would that just be creating bloat code as you then have to redefine all values after a reset?

  • @michaeljohnson1576
    @michaeljohnson1576 Год назад

    Lol constantly displaying flex was something that I had to get out of very early. Many people on FrontEnd Mentor would tell me over and over that I was using it too frequently, and eventually, I broke the habit :).

  • @ameermoavia2546
    @ameermoavia2546 Год назад

    Kevin i just love you after watching this video...❤

  • @petrmotejlek1427
    @petrmotejlek1427 Месяц назад

    I can really tell I'm getting old when somebody says float layouts used to be how we did layouts :D.
    I still remember my early sites that used tables for layouts. Then floats and clears came. Now I'm getting back to vanilla css and am just so surprised what we can do now :)

  • @youcefg9760
    @youcefg9760 Год назад

    This is one of the videos where I like before watching.

  • @donny_bahama
    @donny_bahama Год назад

    I’m still learning CSS and sometimes I get stuck and no matter what I try, I can’t make it work without something kludgey like margin-left:-12vw; By the time I finally get it working, I have all these declarations that didn’t work so I’ve gotten in the habit of going through all the CSS for that particular section line by line and temporarily commenting out each line to see if anything changes. If not, once I’m done going through all the lines and testing to make sure nothing broke, I delete all those commented lines.

  • @outpost31737
    @outpost31737 Год назад +1

    Naming conventions are a pain in the backside which is why I'm veering towards Tailwind.

  • @EvazzionTM
    @EvazzionTM Год назад

    i only use display: flex, flex-direction: column on the body and flex: 1 on content container if i need for footer to stay at the bottom of the page, but im sure there are more easier and efficient ways to approach it

    • @victorlongon
      @victorlongon Год назад

      Css grid: display grid; grid-columns: 200px, 1fr, 200px; given that the footer and header are 200px, change that according to what you need

  • @lucasdluengo
    @lucasdluengo Год назад +2

    Question: I usually don't add many classes in my html. In this example I would have added the "cards" class to the parent but not the "card" to the children, and I would have used ".cards > div" selector. For what I see in Kevin's videos that doesn't seem to be a good practice, but I'm not sure why. Anyone have opinions about it?

    • @CottidaeSEA
      @CottidaeSEA Год назад +6

      The issue with such selectors is that they are heavily reliant on the actual HTML structure. If you need to add something later on, stuff might break just because someone decided to add an extra div or move the current div into a different one which might have a class that overwrites stuff.
      It is therefore better to give classes and select them.
      .card-section .card {...}
      That will say that all cards in the card section should look a certain way. This implies the cards can be used elsewhere though due to the relationship. If it isn't, then just have a standalone .card selector and be happy.
      You can also look up BEM, it's a naming convention. Classes tend to become a bit bloated though, so I prefer having modifier classes in the cases where I don't have any major changes, such as the .bg-accent that was showcased in the video. Other times things do deserve their own names, usually a matter of code clarity more than anything though. My colleagues need to glance at the HTML and get a rough idea of what's going on and when they look up the classes they should be able to find relevant styles nearby.

    • @albinasalkayeva9052
      @albinasalkayeva9052 Год назад

      When I used such compound selectors, it turned out to be a huge issue, as it was so hard to fight CSS specificity. Then I googled about specificity, about how to name CSS classes - and found a great advice: "Always use the class name directly on the HTML element you want to style, even if seems to cost an extra effort." I followed this advice in my next projects, and CSS specificity does not cause any issue anymore.

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

    I must admit that I'm still a beginner in programming. But I can say that in lots of cases I use flex with column direction just because of how simple it is to center or distribute the content both vertically and horizontally inside of its' container.

  • @dinosaursnack
    @dinosaursnack 6 месяцев назад

    I'm wondering why you would use rem units for a border radius rather than px. Would you really want your border radius to change if the user has a default font size different than 16px? Seems like border-radius would be one of the last places that using px units would still be best practice. Would love to know if I am missing something and rem is the better choice for a border radius.

  • @ofeenee
    @ofeenee Год назад

    I’m interested to learn your opinion on tailwind.

  • @user-nt5ds5ld4n
    @user-nt5ds5ld4n Год назад +1

    hello! what you do if you need 2 rows and 10 elements? if you need to wrap flex row

    • @asappi3110
      @asappi3110 Год назад

      In this scenario, I'd recommend using display grid and the grid-template-columns property.
      Check out Kevin's display grid tutorials for more info, if needed.

  • @AntonioBenderas
    @AntonioBenderas Год назад

    @Kevin Powell please make a video what is the difference between % vs. em font-size

  • @ratstrat1984
    @ratstrat1984 Год назад

    I've just recently started learning html/ css and have already caught myself using properties that do nothing. So, I'm trying my best not to do it. However, when an element refuses to go where I want to, then I usually just start throwing properties at it, haha. I have a lot to learn.
    There is a project I'm working on that is stumping me. The navbar will not go all the way to the top/ left of the browser. It is positioned perfectly on the left, but it thinks it is at the top, when it is actually at the bottom of the main content of the page. And it looks like that without any css properties applied, or not applied. The navbar is below the section element in the code. Functionally, it works perfect. It just looks like garbage.
    Anyone have any suggestions on where to start? I would greatly appreciate any help.

  • @gillesfrancois2278
    @gillesfrancois2278 Год назад +1

    This is not a video for beginners. Been doing CSS for 20+ years and I learned some stuff !

  • @AminalCreacher
    @AminalCreacher Год назад +4

    Odd suggestion, but perhaps you could do a video about shortcuts and shorthand in VS code. Or, more broadly, the various things you do to speed up your coding process. There are a few neat things I know how to do, like how you can type .[class name] + enter to quickly create a div in an html document, but sometimes I see folks laying out code with all sorts of tricks and I feel like I've hardly scraped the surface.

    • @KevinPowell
      @KevinPowell  Год назад +2

      I do have a few that look at Emmet for HTML and CSS that are more than just using classes :)
      ruclips.net/video/vncch9-1kPE/видео.html and ruclips.net/video/EhRPdUv1ZrA/видео.html
      I have this one that looks at shortcuts as well - ruclips.net/video/9M58urr1CVQ/видео.html