10 CSS Pro Tips - Code this, NOT that!

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 พ.ย. 2024

ความคิดเห็น • 2.2K

  • @Fireship
    @Fireship  3 ปีที่แล้ว +245

    Find out if you won a free T-shirt, plus 3 more free tips 👉 th-cam.com/video/JSURzPQnkl0/w-d-xo.html

    • @Asia_Bangladesh
      @Asia_Bangladesh 3 ปีที่แล้ว +1

      How to debug code give some tips

    • @sumitmaiti1405
      @sumitmaiti1405 3 ปีที่แล้ว +1

      Which type of code if you want to run html css in vscode install live server

    • @patrickluka8513
      @patrickluka8513 3 ปีที่แล้ว

      Dont know if anyone cares but if you are bored like me during the covid times you can watch pretty much all the latest movies and series on instaflixxer. Have been streaming with my brother for the last few months =)

    • @wesleyalvin3308
      @wesleyalvin3308 3 ปีที่แล้ว

      @Patrick Luka Yea, I've been using InstaFlixxer for since november myself :)

    • @emonymph6911
      @emonymph6911 3 ปีที่แล้ว +1

      Why do people bother with SASS over SCSS? Isn't it better that whatever you write in SCSS can be reused in small CSS snippets as well if you want to in the future?

  • @shreym03
    @shreym03 3 ปีที่แล้ว +474

    A CSS Tip I learnt a long time ago was to always design mobile first.
    If you look at your plain HTML in mobile mode, it usually is perfectly designed moulded for a mobile setting. As you grow bigger, it’s easier to adjust all the content using “min-width” media query.
    The mobile first is helpful in most cases when designing.

    • @elgatonegro1703
      @elgatonegro1703 2 ปีที่แล้ว +22

      Good tip- plus if you're doing a professional project usually you have some kind of analytics to see how many users access the site/use the app on mobile vs desktop, etc, so you can kind of decide what should be the 'main' look and what should be a screen-adjusted layout of that.
      Also fwiw for anyone this might help, and based on a thing that I definitely didn't recently have to deal with- don't procrastinate your media queries to doing them all at once after you style your pages/components; if you can, try to do all or as much of you can of them for each component as you develop its styles. Sometimes you get lucky and can just set a container width to like 50/60/70vw and good ol margin 0 auto, but sometimes you can have something like a thing that I definitely didn't recently have to deal with where you're like 'wtf subheader why do you keep escaping through the container's border on xl screens??' Plus if resize media queries are a thing your app needs, they're a lot easier to manage one page/component/feature at a time.
      ETA: I once did something I was really pleased with where I looped through list items to grab their ID then assign that value to the content property of a before pseudoelement as a way to number things and style the number, and now I feel like a tit after having seen that counter thing.

    • @antifa_communist
      @antifa_communist ปีที่แล้ว +7

      Phones tend to be slower too and the layout is simpler and more one dimensional. It's much easier to add things than trying to remove them.

    • @Linuxdirk
      @Linuxdirk ปีที่แล้ว +6

      Mobile first isn’t even a thing anymore, since mobile screens got so big.
      Design in a way that the style automatically adapts to the viewport.

    • @Optable
      @Optable ปีที่แล้ว +18

      @@Linuxdirk aka rEsPoNsIvE 🥴

    • @Linuxdirk
      @Linuxdirk ปีที่แล้ว

      @@Optable Not even that. Just don’t have breakpoints.

  • @robertszordykowski4919
    @robertszordykowski4919 ปีที่แล้ว +218

    You explained grid in 50 seconds more comprehensibly than other tuts do in an hour. Hats off.

  • @ezeeok
    @ezeeok 3 ปีที่แล้ว +2244

    I can't believe the amount of valuable information that you explain in less than 10 minutes, amazing job as always!!

  • @FlockofSmeagles
    @FlockofSmeagles 3 ปีที่แล้ว +239

    You made me appreciate the fact that I learned the box model in the beginning.
    I couldn't imagine designing a page without that freedom.

  • @BestNoobHello
    @BestNoobHello 2 ปีที่แล้ว +278

    A minor mistake at 2:45 that might get some beginners confused is that the CSS shown on the screen does not put the element (the poop icon in this case) at the bottom right of the container (i.e. the first absolutely or relatively positioned parent element, so not necessary its direct parent). It puts the top-left corner of the element at the center of the container, so now the element's position within the container is slightly off and not exactly at the center. That's why we need the specify the `transform: translate(-50%, -50%);` property which moves the element upwards by 50% of its height, along the Y-axis and leftwards by 50% of its width, along the X-axis, thus properly puts it right at the center of the container.

    • @randythoams
      @randythoams 2 ปีที่แล้ว +9

      U R a life saver

    • @shinycascade8862
      @shinycascade8862 2 ปีที่แล้ว +4

      I remember when I was first trying to play with positions, and always wondered "why does this put it in so weird place, and not in the center, if I described that it should have moved it 50% from left and 50% from top? wouldn't this mean it's equal so then center?" lmao

    • @Mel-mu8ox
      @Mel-mu8ox 2 ปีที่แล้ว +9

      I'm a noob XD
      this did confuse me. I'm so glad I read comments :D
      Thank you xx

    • @nayankumarbarwa4317
      @nayankumarbarwa4317 2 ปีที่แล้ว +2

      I had zero idea few seconds ago. Thanks buddy you explained it very well

    • @dgh25
      @dgh25 ปีที่แล้ว

      nice

  • @nsharma4981
    @nsharma4981 3 ปีที่แล้ว +482

    Greatt video as always! Here's my favourite CSS Pro Tip: There's this obscure CSS property called scroll-padding-top. When you have a sticky / fixed header, and you click an anchor link, it gets hidden under the sticky header. To avoid this annoying bug, just give your body element scroll-padding-top equal to the header height. Along with scroll-behaviour: smooth, this will make it so that when you click an anchor link, it'll scroll to it, such that it starts right beneath the header instead of hidden under it, which is the intended behaviour!

    • @Fireship
      @Fireship  3 ปีที่แล้ว +66

      TIL! Very cool :)

    • @meronogbai
      @meronogbai 3 ปีที่แล้ว +10

      I remember manually adjusting the padding of my anchor link destinations to fix this issue on one of my sites. This is an amazing solution that will serve me well. Thanks a lot!!

    • @jacoblockwood4034
      @jacoblockwood4034 3 ปีที่แล้ว +5

      Oh my god, I never new this! thank you so much!

    • @mattshnoop
      @mattshnoop 3 ปีที่แล้ว +6

      This saved my ass recently on a job. 10/10 One of the best newer properties!

    • @jacobstamm
      @jacobstamm 3 ปีที่แล้ว +2

      Great tip! Do you know if this plays nice with JavaScript methods like window.scrollIntoView(), or is this only for auto-scrolling using IDs?

  • @abcdefg-nu4xj
    @abcdefg-nu4xj 3 ปีที่แล้ว +1025

    i consider myself pretty good at CSS but i didn't know about the focus-within pseudo class and clamp(). this is amazing, my mind is blown

    • @doublemarvellous5525
      @doublemarvellous5525 3 ปีที่แล้ว +14

      Safari cries with clamp

    • @falconarea
      @falconarea 3 ปีที่แล้ว +1

      Same here

    • @jude_I
      @jude_I 3 ปีที่แล้ว +6

      I'd also like to be as good at CSS as you bro. I'd like to get helpful materials from you (materials that can help me get better at CSS), that's if you some and you if you don't mind..... what's your social media bro (Instagram or Twitter) so I can hit you up

    • @acme_gamers
      @acme_gamers 3 ปีที่แล้ว

      ikr :')

    • @badplayer4348
      @badplayer4348 3 ปีที่แล้ว

      Same.. also didn't know about these two specifically

  • @chamomilemasone5100
    @chamomilemasone5100 3 ปีที่แล้ว +3386

    I can’t believe this is the first time I’m hearing about clamp()

    • @Fireship
      @Fireship  3 ปีที่แล้ว +359

      You've been missing out, probably the best thing in this video.

    • @Sejiko
      @Sejiko 3 ปีที่แล้ว +8

      Me too!

    • @i.am.rossalex
      @i.am.rossalex 3 ปีที่แล้ว +14

      I use all of these... except clamp too :))))

    • @hamza_omari
      @hamza_omari 3 ปีที่แล้ว +51

      Note : Not supported in IE11

    • @martinn.6082
      @martinn.6082 3 ปีที่แล้ว +24

      @@hamza_omari eeeehh....

  • @abhaynath5833
    @abhaynath5833 3 ปีที่แล้ว +67

    Grid and flexbox were lifesaver for me. I used to do layouts with float and clear properties.
    When I learnt grid and flexbox, one fine evening I created new git branch of the project, removed all 'float' and 'clear' from entire source code. As expected, layouts were broken. Then I implemented grid and flexbox. It was time consuming task but it was fun.
    It was 2 years back and I haven't wrote 'float' in any css file ever since.

    • @ove4k1llgaming14
      @ove4k1llgaming14 11 หลายเดือนก่อน +1

      Idek what float is😂

    • @ogbuleo2048
      @ogbuleo2048 2 หลายเดือนก่อน

      Lol,I still use float 😆 🤣

  • @matteofalduto766
    @matteofalduto766 2 ปีที่แล้ว +7

    My approach with any programming language: study thoroughly the language to have a solid general understanding of how it works before writing the first line of code.
    My approach with css: throw in random keywords until the page seems to somehow look right and pray it won’t break later on

  • @mandjcraft
    @mandjcraft 3 ปีที่แล้ว +980

    From now on, I will use emoji class names on all my personal projects :D

    • @calimio6
      @calimio6 3 ปีที่แล้ว +115

      Nightmare in debug street.

    • @skylark.kraken
      @skylark.kraken 3 ปีที่แล้ว +41

      I use combinations of zero-width joiners and underscores for all of my class names.

    • @JeyPeyy
      @JeyPeyy 3 ปีที่แล้ว +32

      We need keyboards with emojis

    • @skylark.kraken
      @skylark.kraken 3 ปีที่แล้ว +25

      @@JeyPeyy You can get VS Code extensions which allow you to type ":muscle:" and get the flex emoji

    • @JeyPeyy
      @JeyPeyy 3 ปีที่แล้ว +31

      @@skylark.kraken I'm sure my coworkers will love that such an extension is required to work with my code 🙃

  • @fahada.979
    @fahada.979 3 ปีที่แล้ว +80

    Been a frontend developer for last three years, this video made my life 100 times easier which i didnt know i needed, appreciate it bro!!!!

  • @raghav.bhardwaj
    @raghav.bhardwaj 3 ปีที่แล้ว +643

    CSS pro tip: You should use css variable to create day/night theme, instead of writing different code for different theme.

    • @skynet1024
      @skynet1024 3 ปีที่แล้ว +47

      @@tomasvn09 thank you kind stranger

    • @classicguy7813
      @classicguy7813 2 ปีที่แล้ว +2

      @@skynet1024 LOL kind stranger

    • @nicetomeetugaming7024
      @nicetomeetugaming7024 2 ปีที่แล้ว +1

      Thanks!

    • @edwardelrics2138
      @edwardelrics2138 2 ปีที่แล้ว

      LOL =))))

    • @razzuqrazzuq6025
      @razzuqrazzuq6025 2 หลายเดือนก่อน

      Hey man I am a new learner and would love to get connected to you for any help in learning css

  • @jomy10-games
    @jomy10-games 3 ปีที่แล้ว +80

    “Is that a good idea? I don’t know”
    That line really got me

  • @Ikaros0998
    @Ikaros0998 2 ปีที่แล้ว +10

    Another nifty thing to do - in my opinion at least - is to set te font-size of everything to 62.5% (by use of the HTML selector). This way you'll have a much easier time calculating sizes with the rem-suffix.
    In a nutshell, setting font-size to 62.5% causes 1 rem to be equal to 10 px

  • @mattshnoop
    @mattshnoop 3 ปีที่แล้ว +147

    I think over all my favourite CSS protip is; although, maybe less of a CSS tip and more of an organizational tip in general; how important it is to keep your DOM clean. When I first started, I would put divs everywhere with tons of nesting. When in reality, you can usually get away with having one div to one box on your page. Very little wrappers are needed if you take a second to think about what each element in your HTML is doing

    • @SK-009
      @SK-009 3 ปีที่แล้ว +6

      Can you guide me to a video tutorial on this?

    • @An-li6er
      @An-li6er 2 ปีที่แล้ว +1

      Yeah I also need a video for this, sounds interesting 🤔

    • @konstantinpaul8301
      @konstantinpaul8301 2 ปีที่แล้ว +1

      @Anja and @SK: Have a look at the LayoutLand channel made by Jen Simmons. A good example, where she thinks about HTML first and then about styling is: th-cam.com/video/-hmOZU7Zk10/w-d-xo.html

    • @k_viir7466
      @k_viir7466 2 ปีที่แล้ว

      DOM sounds like a character of 2f2f for me, pitiful.

    • @hanchi3398
      @hanchi3398 ปีที่แล้ว

      Trueee

  • @weshuiz1325
    @weshuiz1325 3 ปีที่แล้ว +838

    .titanic {
    float: none:
    }

    • @dsi-films1264
      @dsi-films1264 3 ปีที่แล้ว +62

      *based on a true story*

    • @galo7486
      @galo7486 3 ปีที่แล้ว +4

      Xd

    • @AndiKod
      @AndiKod 3 ปีที่แล้ว +45

      margin-bottom: 0px;

    • @CharleyCheno
      @CharleyCheno 3 ปีที่แล้ว +1

      @@AndiKod pok

    • @kohelet910
      @kohelet910 3 ปีที่แล้ว +31

      display : flex;
      flex-direction : column;
      justify-content : flex-end;

  • @MichaelRichins
    @MichaelRichins 3 ปีที่แล้ว +24

    One of the largest struggles I had while learning CSS was precedence. Too many times have I come across "! important" on properties that shouldn't have needed them! Great video!

    • @Fireship
      @Fireship  3 ปีที่แล้ว +15

      If you see !important everywhere... !run

    • @CassiusZedaker-pr7kc
      @CassiusZedaker-pr7kc หลายเดือนก่อน

      This is one of the problems with w3schools' w3.css. I'm weaning myself off of it.

  • @blakel95
    @blakel95 3 ปีที่แล้ว +3

    Great Video. For anyone who develops on Chrome: The features from Firefox @ 2:00 are also available on Chrome. Under Computed, any value under box model is editable if you double click. Chrome has grid lines on screen available under Layout, but I suppose Firefox has nicer graphics for that. Just wanted to note.

  • @CristianKirk
    @CristianKirk ปีที่แล้ว +49

    CSS is super simple. The problem with programmers is that they are not designers. Most programmers are anti-anything that has to deal with art or creativity. That's also why they depend heavily on frameworks with pre-made components.

  • @rafadydkiemmacha7543
    @rafadydkiemmacha7543 3 ปีที่แล้ว +45

    2:42 Correction: position absolute 50% doesn't move the element to the far right and/or bottom. It moves the left and top corner of the element to the center of the parent. Then we apply translate to move it back by its own half, having the element perfectly centered in the parent.

    • @Sedeerah
      @Sedeerah 2 ปีที่แล้ว +2

      Thanks! I am new to all this and was wondering how that part made any sense. Now it (kinda) does.

  • @chawker67
    @chawker67 3 ปีที่แล้ว +615

    The protip: you can build awesome responsive layout with (almost) one line of CSS. Use
    {
    display: grid
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr))
    }
    and see how elements in your grid shrink and grow depending on the parent grid size.
    You can also add *grid-gap* to make it even better. It's great for something like i.e placing video thumbnails like TH-cam does.

    • @codelightsparkles2403
      @codelightsparkles2403 3 ปีที่แล้ว +9

      Indeed, the autofit property is pretty cool. Try out flex-wrap: wrap. It does almost the same thing 😀

    • @rodrigolustosa9090
      @rodrigolustosa9090 3 ปีที่แล้ว +5

      In case we have a display:flex , what do we could do instead?

    • @ogbillity
      @ogbillity 3 ปีที่แล้ว +30

      @@rodrigolustosa9090 grid is ideal for multiple column/row layout while flex is ideal for single column/row. I suggest you change it to grid

    • @GamingTSH
      @GamingTSH 3 ปีที่แล้ว

      ❤️👉 th-cam.com/video/lmIwYLFYZ9U/w-d-xo.html 👈❤️......

    • @shoumikkumbhakar338
      @shoumikkumbhakar338 2 ปีที่แล้ว +7

      @@rodrigolustosa9090 flexWrap : 'wrap'

  • @iA4R0N
    @iA4R0N 3 ปีที่แล้ว +20

    I feel like I'm pretty good with CSS, and then I watch this video and feel like you just opened up a new world for me. This is great, I love these kinds of videos!

  • @Trinks
    @Trinks 9 หลายเดือนก่อน +1

    horizontally and vertically allign items in a div
    display: flex;
    align-items: center;
    justify-content: center;

  • @deepeshkumarmishra2643
    @deepeshkumarmishra2643 3 ปีที่แล้ว +1

    This is one of the easiest CSS tutorial across tutorial. I've known the properties but I couldn't use em correctly. This made things way more understanding.

  • @skyracer-mk8hg
    @skyracer-mk8hg 3 ปีที่แล้ว +76

    5:10
    I now am not in charge of CSS anymore. This saved my life and I thank you sincerely

  • @DanielCardoso5
    @DanielCardoso5 3 ปีที่แล้ว +9

    Amazing content as always!
    The top: 50%; left: 50%; actually brings the element to the middle of the parent and then the transform just subtracts half of the width and the height of the actual element.

  • @_cmcg
    @_cmcg 3 ปีที่แล้ว +40

    Pro Tips:
    1. Stack box-shadows with varying parameters and opacity to get a more detailed and polished look.
    2. Create a master file that you can use between projects to give you simple classes like "img-border-radius", "btn-border-radius". "primary-color", "primary-light", "error-color" - these keep stylesheet calls from CSS frameworks from bloating your site.
    2A. Use SASS/SCSS and create variables to use inside the classes, so you only have to change 20 lines of code instead of 500, but you still get a custom look per site

  • @itsYovez
    @itsYovez 3 ปีที่แล้ว +116

    I've always sourced to using Bootstrap or Tailwind for designing my websites. I've always been interested in back-end primarily so I never dabbled in front-end. But the goal is to be a full-stack developer soon, so I'll be switching over to raw CSS. Thanks for the tips!

    • @MarcinKralka
      @MarcinKralka 2 ปีที่แล้ว +35

      I think the best unsaid tip is to focus and master the basics before going further and use frameworks, it's probably true for most stuff in software development.

    • @Mwtorres89
      @Mwtorres89 2 ปีที่แล้ว +12

      raw is always better ;)

    • @phunguyen858
      @phunguyen858 2 ปีที่แล้ว +28

      @@Mwtorres89 Tell Gordon Ramsey about it

    • @elle.3792
      @elle.3792 ปีที่แล้ว

      You can still use Bootstrap while using CSS. I frequently use css in my bootstrap code so that it does exactly what I want it to do, as opposed to the default bootstrap behaviour.

    • @goku546686
      @goku546686 ปีที่แล้ว +2

      Although raw is better most companies find it a time waster and will set you up woth tailwind or other frameworks. Buisness is about efficiency after all. I also say this because many a cocktail devs. Will claim css is easy and yet have come here to learn the 30 extra things they never heard about on css. What I'm saying Is css has ALOT and can become overwhelming. The basics aren't bad and mostly gone over in the video. Padding, margin, border and flex box along with grid are important.

  • @DerRobert28
    @DerRobert28 2 หลายเดือนก่อน +1

    Wow, I just discovered your video, and thank you for uploading this! It opened so many eyes to me. I recently struggled so hard with CSS in a profesisonal context, but now, with your knowledge in mind, I know how to use this new "super-power". Thanks a lot, man.

  • @NikhilYadav-ji8rm
    @NikhilYadav-ji8rm 3 ปีที่แล้ว +30

    This has inspired me to write css like never before, few people can achieve this level of viewer retention and content quality. Kudos fireship, you've won our hearts

  • @fiddle4759
    @fiddle4759 3 ปีที่แล้ว +12

    I thought I was pretty good at CSS, and after watching this video it turns out that apparently I am. However, I still learn from every single video you post, including this one. Best channel on TH-cam for web dev!

  • @MegaJohnThunder
    @MegaJohnThunder 3 ปีที่แล้ว +11

    This is amazing. I use all these techniques and they all took hours to days to learn and memorize, and here it is in one handy video. Good work!

  • @piotrbilski8966
    @piotrbilski8966 10 หลายเดือนก่อน +3

    8:00 you can just use HTML and property

  • @Darren-vh5lk
    @Darren-vh5lk ปีที่แล้ว

    I've done over 12 hrs of an Udemy Web Dev course regarding HTML and CSS.... This video smashed my mind wipe open.... I learnt more in less than 10 mins than I did on Udemy in 6+ hours on Udemy. Top Marks.

  • @sleepteam
    @sleepteam 3 ปีที่แล้ว +18

    The counter will be huge for me! I have a lot of dynamic lists in a current project. Awesome tip.

  • @Shubham-xh9nz
    @Shubham-xh9nz 3 ปีที่แล้ว +15

    I just love how much knowledge this guy puts in 10min video.

  • @detskysade2581
    @detskysade2581 3 ปีที่แล้ว +220

    CSS was so confusing that I learned back-end tools instead. This video came out too late 😂

    • @aavocadoToast
      @aavocadoToast 3 ปีที่แล้ว +12

      ayy backend gang all the way

    • @estoyboy
      @estoyboy 3 ปีที่แล้ว +3

      I always find back-end devs saying CSS is hard so baffling when back-end seems like the real big brain stuff

  • @greateagle8799
    @greateagle8799 10 หลายเดือนก่อน +1

    You sent me down so many rabbit holes, this 10 min video has led to 2+ hours of notes. Thank you for your teaching magic

  • @ABHAY-hu9kw
    @ABHAY-hu9kw 2 ปีที่แล้ว +2

    I am about to start CSS , no prior knowledge in it.
    But, your way of explaining is very awesome as I WAS ABLE TO UNDERSTAND CSS WITHOUT MUCH DIFFICULTIES

  • @hexafireworks
    @hexafireworks 3 ปีที่แล้ว +13

    The quality is top notch! Legit blew my mind on how effective it’s explained. Thanks and well done :)

  • @monkaSisLife
    @monkaSisLife ปีที่แล้ว +20

    i dont really have a problem with using the css, but more with making things look good. there is always something that makes me mad because it doesnt look like how i want it to look like

  • @_RafaelKr
    @_RafaelKr 3 ปีที่แล้ว +5

    These tips are so good! I learned some very cool new stuff 😎
    But I noticed a little mistake in the animation at 2:44. The 50% top and left will place the poops top-left edge in the center of the box. The poop is NOT placed in the bottom-right edge of the box.

  • @TheMostVanillaGorilla
    @TheMostVanillaGorilla 2 ปีที่แล้ว +2

    I'm currently learning CSS/JS and omg.. This video taught me more than my last 10 hrs of studying. Thank you so much!!

  • @siri8782
    @siri8782 หลายเดือนก่อน

    This is what we need!! 3 years ago, still so precious 💖

  • @thebtm
    @thebtm 3 ปีที่แล้ว +11

    I remember the days of old CSS... Love the CSS3 and how easy it is.

    • @blkemerone4099
      @blkemerone4099 2 ปีที่แล้ว

      l love ccs too but i lm new at dev

  • @1001-w5q
    @1001-w5q 3 ปีที่แล้ว +14

    Clamp and fancy calculations blew my mind 🤯

    • @undefinedvariable8085
      @undefinedvariable8085 3 ปีที่แล้ว

      Wait. . .
      Soon we'll have:
      1. container queries
      2. layers
      3. scopes

  • @siddharth-gandhi
    @siddharth-gandhi 3 ปีที่แล้ว +243

    Ahh the irony in "CSS is awesome" at 0:13 😂

    • @ludologian
      @ludologian 3 ปีที่แล้ว +2

      Omega|lul

    • @shashikanthp3145
      @shashikanthp3145 3 ปีที่แล้ว +1

      Nice catch 👌😂😂😂

    • @nickolasjoe
      @nickolasjoe 3 ปีที่แล้ว +9

      Of course! That’s what’s naturally happens cuz overflow is visible by default 😂

    • @j-vahalla-b5051
      @j-vahalla-b5051 3 ปีที่แล้ว +11

      just
      overflow:hidden
      😂

    • @gladiator7249
      @gladiator7249 3 ปีที่แล้ว +3

      lol it was funny tbh

  • @McWolke92
    @McWolke92 3 ปีที่แล้ว

    :focus and :focus-within is such a great tip, i can't believe i've written js to manage states for popups and dropdowns all those years.

  • @sxlg_32
    @sxlg_32 2 ปีที่แล้ว +1

    I agree with a fundamental understanding of CSS. That being said, tailwindcss, postcss, and autoprefixer have made my jump into Angular very smooth given my limited and dated experience with HTML/CSS.

  • @anzeblagus9513
    @anzeblagus9513 3 ปีที่แล้ว +7

    The amount of time this could've saved me in the past and will save me in the future is immeasurable

  • @valence707
    @valence707 2 ปีที่แล้ว +4

    This was absolutely amazing. I've been learning simple web development for a couple of months now, and I've had so many issues with CSS, of which this video solved them all. Thank you!

  • @fairytailnaruto7693
    @fairytailnaruto7693 3 ปีที่แล้ว +16

    Thanks god, this video finally arrived. CSS is such a pain but I try to be better everyday !

  • @shxdo3712
    @shxdo3712 ปีที่แล้ว +1

    You're the greatest content maker about code / tech... By FAR !!!! Far far far.

  • @johnglennan2153
    @johnglennan2153 3 ปีที่แล้ว

    You rock! This video has pulled me out of the bootstrap, tailwind, material-ui hole I've had my head buried deep in. Just wow.

  • @priestap
    @priestap ปีที่แล้ว +8

    Thank you for this. I've been writing CSS since 1999 and didn't know some of these things.

    • @NielsNL1
      @NielsNL1 ปีที่แล้ว +2

      24 years?

    • @reecebygrave7211
      @reecebygrave7211 ปีที่แล้ว

      @@NielsNL1 1999 is 24 years, yes you are correct

  • @thomasmelak
    @thomasmelak 3 ปีที่แล้ว +19

    Awesome content as always, I learn something new from your videos all the time! The most exciting property I learned about in css recently is object-fit for images and video, if you'd like to set a specific width and height to the element you can use object fit to prevent any type of distortion or stretching.

  • @ashishsharma9126
    @ashishsharma9126 3 ปีที่แล้ว +3

    I love this video particularly the use of GRID and animate elements using order var in-line style. Clamp() is super-cool.
    Thanks🙏

  • @paragjyotideka1246
    @paragjyotideka1246 2 ปีที่แล้ว

    This is by far the best TH-cam channel for programming. Period!

  • @omercak2746
    @omercak2746 3 ปีที่แล้ว +1

    Best 10 mins I ever spent on TH-cam. Thanks!

  • @pankajaw
    @pankajaw 3 ปีที่แล้ว +4

    I've never been this excited to work on CSS. This is great

  • @rickpereira8821
    @rickpereira8821 3 ปีที่แล้ว +3

    Love these tips, thank you! Combining this with your following video (3 more life changing tips), I'm loving the possibilities of variables with HSL for dark theme support:
    :root {
    --H1: xx;
    --S1: xx;
    --L1: xx;
    --text-color: hsl(var(--H1), var(--S1), var(--L1));
    }
    .light-theme {
    --L1: 25;
    }
    .dark-theme {
    --L1: 225;
    }
    I haven't tested this yet.

  • @MauriceCalis
    @MauriceCalis ปีที่แล้ว +17

    Wow, your videos are outstanding (judging by the 2 I've seem). This one provides so many useful upgrades to my CSS, and just the right time for me to "hear it". "When the student is ready, the teacher will appear". Thanks. Btw, I rarely subscribe to channels, but your presentation is just the way I like it. Reminds me of my favorite cuber channel (jperm).

  • @Magnum69
    @Magnum69 2 ปีที่แล้ว

    At first, grid is very confusing. But once you understand it, it's a blessing to have. Super easy grids with barely any code that just. WORKS.

  • @oshapermadi
    @oshapermadi 4 หลายเดือนก่อน

    I learned pure/raw CSS before discovering CSS frameworks like Tailwind or Bootstrap. While working on a personal project, I realized the CSS was repetitive and thought, "I can make just one class and use it in any other element." That's when I learned about concepts like DRY, OOCSS, BEM, and Atomic CSS. Discovering these principles was a crazy exciting- I realized how handy they are. Then, I found CSS frameworks and thought, "This is what I've been doing but easier and faster." The beauty of learning is that it leads to these kinds of insights.

  • @gabrielchristiannegre2715
    @gabrielchristiannegre2715 3 ปีที่แล้ว +222

    "The problem with this is that media queries will make you want to off yourself" that got me lmao

    • @addanametocontinue
      @addanametocontinue 3 ปีที่แล้ว +12

      The first time I was introduced to media queries, I was like, "Wow, this is incredibly cumbersome. WTF? Who the hell would want to write 3 versions of the same layout?"

    • @Diegps
      @Diegps 3 ปีที่แล้ว +4

      @@addanametocontinue I'm just beginning and I'm excited about media queries, your comment spoiled me

    • @tarangpatil6952
      @tarangpatil6952 3 ปีที่แล้ว +1

      @@addanametocontinue your profile picture background colour is same as mine 😀😃

    • @GamingTSH
      @GamingTSH 3 ปีที่แล้ว

      ❤️👉 th-cam.com/video/lmIwYLFYZ9U/w-d-xo.html 👈❤️..

  • @tanmay______
    @tanmay______ 3 ปีที่แล้ว +8

    I just binged your channel today, then you dropped this video, it is a lucky day :)

  • @MohilNZ
    @MohilNZ 3 ปีที่แล้ว +5

    You can edit box model properties in Chrome too in newer versions. For 02:11

  • @muhammadrashid7724
    @muhammadrashid7724 ปีที่แล้ว

    Watched this video when I was beginner, I learned something new. Now, it just showed randomly and I just clicked and learned something new. Great video!

  • @tommysmith5479
    @tommysmith5479 3 ปีที่แล้ว

    I've just watched a couple of your "code this, not that" videos (JS and CSS) and they are fantastic. The only problem now is that I feel utterly useless... I thought of myself as a pretty good front-end dev... but now I'm seriously trying to justify my salary - and I'm being serious. I'm going to dissect these videos as a starting point to bettering my dev abilities.... and there's a lot to learn. (a little bit of context: I've been a dev for over 20 years... and I'll be the first to admit that I haven't really kept up on the new facets of JS and CSS in the last few years. These videos have truly jolted me - I feel ashamed of myself)

  • @phongnguyentuan8219
    @phongnguyentuan8219 3 ปีที่แล้ว +14

    Great content as always. The part where you explain centering with absolute, I believe top: 50% is 50% of the parent, same with the left. Therefore, the child is at the center of its parent. However, the child is centered by its top left corner so we need to transform the child -50% (which is now 50% of the child width/height) to correctly center it by its center.

  • @bastje
    @bastje ปีที่แล้ว +6

    Difficult? Man I can dream CSS.

  • @ecs1611
    @ecs1611 3 ปีที่แล้ว +4

    This is one of the most helpful videos I've ever watched... Maybe CSS isn't too bad.

  • @NNNedlog
    @NNNedlog 3 ปีที่แล้ว

    The Firefox Developer edition browser is mental. And the grid and flex layouts are so helpful

  • @liorgonnen
    @liorgonnen ปีที่แล้ว +1

    Mind blown from the amount of useful information condensed into such a small footprint🤯

  • @rancho890
    @rancho890 3 ปีที่แล้ว +4

    I knew all of this and still enjoyed it 💯

  • @dev.hardik
    @dev.hardik 3 ปีที่แล้ว +233

    Web Dev:- CSS is fuck the mind 😵
    Fireship:- Hold my beer 🍻
    Thank you for the fire 🔥 content 💖

    • @jathur_
      @jathur_ 3 ปีที่แล้ว

      69 likes dude

    • @dev.hardik
      @dev.hardik 3 ปีที่แล้ว

      @@jathur_ yeh bruh 🤗

  • @RahulJain-ck5bt
    @RahulJain-ck5bt 3 ปีที่แล้ว

    Loved it 💯.
    I am working with CSS for about 2 years but didn't know about clamp and focus-within. You saved my life ❤️

  • @Jesse615
    @Jesse615 ปีที่แล้ว +1

    One tip (I learned the hard way!) for child element positioning -- the parent element must have it's default inherited position stated (position: relative;) in order for the child to have positioning. If position is only stated for the child, it won't work.

  • @unizfrhn2803
    @unizfrhn2803 3 ปีที่แล้ว +2

    In the modern times, where we have Kevin Powell, web dev simplified and fireship, CSS can be learnt much faster and not to mention, save you time and energy from a lot of complex or annoying situations. I advise everyone to learn it.

  • @theramenboy
    @theramenboy 3 ปีที่แล้ว +4

    Nice video as always!
    For the sake of learning how CSS works avoid framework or utility class is necessary but after you understand how it works using those tools is a lot of time saving for sure

  • @narutosubteam
    @narutosubteam 3 ปีที่แล้ว +5

    2 year experience coding in one video 9 minute 👏

  • @darrenforster99
    @darrenforster99 3 ปีที่แล้ว

    One of the best things I found to do with CSS is to use an idea found in Bootstrap - create small styles as building blocks and apply those small styles to the different elements - like for example I created a few styles called fs-x_x going from fs-0_5 incrimenting by 0_1 up to 3_0 - in each of those styles I had one line of CSS font-size : and then the number followed by em so fs-0_5 would be font-size:0.5em; fs-3_0 would be font-size 3.0em - that way if I wanted to make the font size bigger or smaller I could just add the class fs-x_x to the element. I based this idea on some of the things that bootstrap does like the my- or px- classes which change the padding/margin by a set amount.
    I also did the same with colour c- and bg-
    That way if I wanted a bit of text "brand red" with "brand yellow" background, a bit smaller than the other text with no X padding and a large Y margin I could always do

  • @emergencyDuck
    @emergencyDuck 2 ปีที่แล้ว

    A small note: top: 50%; left: 50% doesn't move the element to the bottom right. It moves the elements top left corner to the center, and translating it back 50%; moves it back half of its own width and height

  • @dimboump
    @dimboump 3 ปีที่แล้ว +89

    CSS pro tip: use hsl rather than hex colour codes. They make more sense once you get your heard around them!

    • @Fireship
      @Fireship  3 ปีที่แล้ว +17

      Good call! You win th-cam.com/video/JSURzPQnkl0/w-d-xo.html

    • @panteliselef239
      @panteliselef239 3 ปีที่แล้ว +3

      thanks, fellow greek coder

    • @aaronrothwell7615
      @aaronrothwell7615 3 ปีที่แล้ว +4

      I think there is talks in the works to have this replaced soon though, for everyone that keeps learning different colour models. LCH is similar to HSL but its big advantage is the lightness of colours is perceived equally between different hues.

    • @seanmccambridge
      @seanmccambridge 3 ปีที่แล้ว +4

      Everything makes sense when you get your head around it. 🙂

    • @GamingTSH
      @GamingTSH 3 ปีที่แล้ว

      ❤️👉 th-cam.com/video/lmIwYLFYZ9U/w-d-xo.html 👈❤️......

  • @nkbn2580
    @nkbn2580 3 ปีที่แล้ว +4

    literally every chapter my reaction was "whatt?! no way", honestly i didnt even know these existed until now. thank you for making my love towards programming ever grater :)

  • @SimplyFizz
    @SimplyFizz 3 ปีที่แล้ว +55

    I just clicked on your channel after watching the rpi server one, and you made this video minutes ago lolz

    • @Fireship
      @Fireship  3 ปีที่แล้ว +10

      Welcome to the channel :)

  • @TokyoXtreme
    @TokyoXtreme 3 ปีที่แล้ว

    This channel has 840K subscribers at the moment, and I still think it’s underrated. Absolutely the best presentation of any tech channel BY FAR. Love it.

  • @dongolius3131
    @dongolius3131 2 ปีที่แล้ว

    Currently taking a intro coding class and we are just starting on css, definitely gonna come back to this video for help.

  • @semmu93
    @semmu93 3 ปีที่แล้ว +7

    Cool video, learned a lot of new stuff during these 10 minutes!
    Though you have an error around 2:43. When centering divs the old way (by absolute positioning and translation), you don't move the item to the bottom right corner first, but instead you move it to the center actually. But it is going to be slightly off, because now the top left corner of the child element is in the center, not its actual center, so that is why you need the translate property.
    One takeaway here is that the first two 50% values are referring to the parent container's size, but the translate property uses the child element's size for the 50% calculations.
    But I guess you know this, just made a mistake in this video.

  • @mohammadbilal5745
    @mohammadbilal5745 3 ปีที่แล้ว +6

    My Favourite CSS Pro tip:If you want to use responsive font size instead of using different font sizes using media queries for different screen. You can use as below:
    font-size: calc(1em+1vw);

  • @HartleySan
    @HartleySan 2 ปีที่แล้ว +5

    Great video. I still prefer Sass though, merely for nested CSS and (in my opinion) easier variable definitions.

  • @diegovillafane6313
    @diegovillafane6313 ปีที่แล้ว

    Man, CSS IS AWESOME. I just use it, every time, and I like it a lot, didn't knew people felt that way, once a dude congrats me for doing some basic styling and I was like... really? I would like to help everyone to use it, like you are doing, great video!

  • @Muffi606
    @Muffi606 2 ปีที่แล้ว

    I haven't see any video that is so short, so simple and so amazing, THANKYOU VERY MUCH

  • @adityashrivastava6004
    @adityashrivastava6004 3 ปีที่แล้ว +35

    Two defining moments of the 21st century-
    1. The day I was born.
    2. The day I learned the box-modal.

    • @biniteshome1403
      @biniteshome1403 3 ปีที่แล้ว +1

      really man? I hate CSS if that helps I will jump on it right now. thanks.

  • @sahilrahman1494
    @sahilrahman1494 3 ปีที่แล้ว +24

    Sooo my boss changed every html emoji class to normal names but didn't change the CSS ones
    and its my weekend(Friday,Saturday)
    yeaaah anyone else hiring?

    • @saadh393
      @saadh393 3 ปีที่แล้ว +3

      😂

  • @milomoisson
    @milomoisson 3 ปีที่แล้ว +4

    Use SCSS or other CSS preprocessors is stonks and make the development experience faster.

    • @crylia8666
      @crylia8666 3 ปีที่แล้ว

      I searched for this comment, its way superior.

  • @monikapatel6464
    @monikapatel6464 3 ปีที่แล้ว +2

    Thank you for your video. Clamp(), counter for header number and passing css variable in style to order was totally new to me.

  • @rozuja
    @rozuja 2 หลายเดือนก่อน

    The title counter blew me!!! Perfect video. Learned 1 thing after a while!!!