Dark mode with TailwindCSS in under 7 minutes

Поділитися
Вставка
  • Опубліковано 15 січ 2025

КОМЕНТАРІ • 106

  • @hawkdawg443
    @hawkdawg443 11 місяців тому +16

    Thanks man, that transition part is a cherry on top

  • @fulviavaz
    @fulviavaz 9 місяців тому +4

    Amazing! Your solution is much simpler that I was trying! Thanks!

  • @lestratege4
    @lestratege4 4 дні тому

    Thank You man , simple , easy, straight to the point, dont talk too much and give what the title of the video said... thx again man...

  • @ethan.creates
    @ethan.creates Рік тому +4

    Dope video man! Loved the transition tip and everything else was very clear!

  • @dr.insane9929
    @dr.insane9929 8 місяців тому +1

    Thanks brotha, The transition was a lifesaver.

  • @the.mackuha
    @the.mackuha Рік тому +3

    Straight to the point! Thanks man🔥

  • @razeku1332
    @razeku1332 2 місяці тому

    Best tutorial i saw been 4 times watching same tutorial still doenst understand,, but this amazing thanks man

  • @bryan_11016
    @bryan_11016 4 місяці тому

    Thanks a lot mate. I was struggling with Dark mode in Tailwind and you made it look simple. Appreciate it👍❤

  • @nisargjaiswal4264
    @nisargjaiswal4264 Рік тому +5

    Suggestion for video: Keep mobile users in mind, so zoom in the code for better readability.
    Nice video, keep it up buddy ✌️

    • @builtwithcode
      @builtwithcode  Рік тому +2

      Thanks for the callout, will try to zoom in more in the future.

  • @masoodacheampong5385
    @masoodacheampong5385 7 місяців тому

    Thank you very much, at the end, I knew you would use useState to handle the transition, so I did mine just like that.

  • @AndrewDBrown2020
    @AndrewDBrown2020 29 днів тому

    Perfect - thank you.

  • @chadvise3308
    @chadvise3308 5 місяців тому

    This was so helpful thanks for the content ❤

  • @felipepadovani6263
    @felipepadovani6263 10 місяців тому +1

    Excellent dude !! helped me a lot

  • @vladanisov1689
    @vladanisov1689 Рік тому

    This was incredibly helpful, thank you my man!

  • @DEBUGENTITY
    @DEBUGENTITY 11 місяців тому +1

    Loved this video.. Thanks for making this🎉

  • @iamabishekbaiju
    @iamabishekbaiju 7 місяців тому

    Excellent tutorial. thanks a lot

  • @AmanMarve-ge3md
    @AmanMarve-ge3md 16 днів тому

    Great Video 🔥

  • @francesco_gramazio
    @francesco_gramazio 8 місяців тому

    freaking awesome, thanks mate !

  • @davonne007
    @davonne007 11 місяців тому +1

    Definitely doing this .,.!!

  • @musicworld1717
    @musicworld1717 10 місяців тому

    it helped me immensly..thanks bro

  • @sybrespect3161
    @sybrespect3161 10 місяців тому +1

    you just got a new subscriber 👍🏾

  • @angeline9552
    @angeline9552 10 місяців тому

    This is so helpful, thank u :)

  • @killiankavanagh3854
    @killiankavanagh3854 10 місяців тому +1

    Thanks so much man

  • @aldrinwong6160
    @aldrinwong6160 2 місяці тому

    simple! this helps!

  • @akshaykumar-xu2be
    @akshaykumar-xu2be 10 місяців тому

    Thanks bro. 💯Worth watching . just SUBSCRIBED

  • @moistmangomilkshake347
    @moistmangomilkshake347 Місяць тому

    THANK YOU

  • @TOONSSTATION
    @TOONSSTATION 5 місяців тому

    Nice

  • @TusharVerma-i1k
    @TusharVerma-i1k 2 місяці тому

    i created this button in navbar , now i am using this navbar in every component but the color is changing only in navbar not everywhere, how to solve this?

  • @chan4est
    @chan4est 8 місяців тому

    Super helpful! I'm curious how you handle both use cases at once. Basically using the user's preferred theme during first site use but once the user chooses their preferred theme, it overrides their OS's preference upon every revisit. Also how do you handle images that need to be swapped out in dark mode?

    • @builtwithcode
      @builtwithcode  7 місяців тому

      You'll want to store the preferred theme in localStorage. If you see that the storage is empty, then default to the OS preference.
      For images, I imagine the best way is to have the theme stored in some sort of global state (e.g., with React Context), then dynamically set the img src based on which theme is active.

  • @deelaka-24
    @deelaka-24 4 місяці тому

    thank u ❤

  • @nested9301
    @nested9301 6 місяців тому

    oh tailwind is awesome !!

  • @ahrenwagner2993
    @ahrenwagner2993 6 місяців тому

    Great video :)
    Is there a way to do this without needing to prefix dark in your markup?

    • @builtwithcode
      @builtwithcode  6 місяців тому

      The prefix is how tailwind recognizes which styles to apply in light vs dark mode. You could leverage a "non-Tailwind" approach using CSS variables and the prefers-color-scheme CSS selector. At that point I just prefer the "dark" prefix :)

  • @K4NEKIIIIa
    @K4NEKIIIIa 4 місяці тому

    how we can make the navbar dark mode on all the pages??

  • @Jishanthegodev
    @Jishanthegodev 11 місяців тому

    Top notch content❤

  • @nonefvnfvnjnjnjevjenjvonej3384
    @nonefvnfvnjnjnjevjenjvonej3384 7 місяців тому

    so how does tailwind get the dark mode actually. does it set it to dark on the html element?

  • @alexdin1565
    @alexdin1565 6 місяців тому

    thanks bro please can you make your video about "Custom themes with TailwindCSS in under 9 minutes" with this ?
    i mean user can switch thems and change from dark and light in same time

  • @userre85
    @userre85 9 місяців тому

    Which VS code theme are you using?

    • @builtwithcode
      @builtwithcode  9 місяців тому

      "Dark Modern" that comes with vscode

  • @Kyruu28
    @Kyruu28 7 місяців тому

    So instead of using text, I chose to use icons for the toggle instead. I wonder how to add transition for the toggle icon so it can fade or spin etc. ? I've tried added transition class to the icon element but it doesn't work...

    • @builtwithcode
      @builtwithcode  7 місяців тому

      Framer Motion would help here to animate when one icon unmounts and another comes into view

  • @AhmedMohamed-hz9bs
    @AhmedMohamed-hz9bs 9 місяців тому

    ❤❤❤❤

  • @adityarajawat3185
    @adityarajawat3185 Рік тому

    Nice explanation

  • @maeel
    @maeel 10 місяців тому

    can i have a list of every vs code extension do you have for react?

    • @builtwithcode
      @builtwithcode  10 місяців тому

      The main ones I use in my workflow:
      - ES7+ React/Redux/React-Native snippets
      - Tailwind CSS IntelliSense
      - Prettier - Code formatter
      - Error Lens

    • @maeel
      @maeel 10 місяців тому

      thanks a lot @@builtwithcode

  • @saixcode
    @saixcode 4 місяці тому

    thanks

  • @kruthiks5400
    @kruthiks5400 3 місяці тому

    Thank you man

  • @tasfin660
    @tasfin660 7 місяців тому

    for some reason after writing
    * {
    @apply transition-colors duration-200;
    } this, all my other transition duration not working

  • @rayudubharani
    @rayudubharani 7 місяців тому

    sir what about system default

  • @angeline9552
    @angeline9552 10 місяців тому

    how would you implement a site-wide light/dark mode toggle?

    • @builtwithcode
      @builtwithcode  10 місяців тому

      Store the state in the main App component, then apply the "dark" class in the or at the top App level.

    • @martinfriday5481
      @martinfriday5481 8 місяців тому

      How??? I created a button component that I want to reuse across the site, how do I make it toggle the whole thing

  • @martinfriday5481
    @martinfriday5481 8 місяців тому

    I created a button component and applied this dark and light mode to it, but when I call the component in another component and write "dark" styles, it doesn't work, is there any way around this??

    • @builtwithcode
      @builtwithcode  8 місяців тому

      Did you setup dark mode in the tailwind config?

    • @martinfriday5481
      @martinfriday5481 8 місяців тому

      @@builtwithcode yea, I did everything there, but the dark mode only applied to that button component and when I exported it to a page, it didn't affect the rest of the page

    • @builtwithcode
      @builtwithcode  8 місяців тому

      Are you applying the “dark” class to the root body or html tag? Tailwind should then enable dark mode for all the children

    • @martinfriday5481
      @martinfriday5481 8 місяців тому

      @@builtwithcode I should add the dark class to the HTML?

    • @martinfriday5481
      @martinfriday5481 8 місяців тому

      @@builtwithcode Then how will my button component toggle the dark mode on and off on button click, that's the issue

  • @anonymoussloth6687
    @anonymoussloth6687 Рік тому

    Could u do a video with dark mode using css variables - which could be extended to multiple themes

    • @builtwithcode
      @builtwithcode  Рік тому

      Thanks for the suggestion, I'll consider it for a future video.

  • @abhishekchaudhary4058
    @abhishekchaudhary4058 9 місяців тому

    Thanks

  • @cabaucom376
    @cabaucom376 Рік тому

    What if you wanted a dropdown menu for “system”, “dark”, “light”? I would like system to be the default but if someone specifies then update accordingly.

    • @builtwithcode
      @builtwithcode  Рік тому +2

      The system value is stored in the `prefers-color-scheme` CSS property. In TS/JS you can check if it's dark using `window.matchMedia('(prefers-color-scheme: dark)').matches`

  • @lolhp._.
    @lolhp._. 7 місяців тому

    anyone know how to do the same thing but for the html tag?

  • @ahmedahmedx9600
    @ahmedahmedx9600 9 місяців тому

    What if i want also the darkmode got saved in browser when toggling the button so if its still darkmode even when page refreshed

    • @builtwithcode
      @builtwithcode  9 місяців тому

      You can store the active theme in local storage and read it on page load

    • @nested9301
      @nested9301 6 місяців тому

      cookies + server side rendering

  • @MyGeorge1964
    @MyGeorge1964 Рік тому

    Is there is way to abstract all of the dark mode css to the tailwind config and maybe the stylesheet so that you only need to specify one variable in the html or jsx that will change depending on whether it's dark or light?

    • @builtwithcode
      @builtwithcode  Рік тому

      Yes you can definitely do this. One way is to use reusable components so you add the light and dark mode classes once in the component definition and have multiple instances. The other is in the stylesheet you can use the @apply declaration and directly use the appropriate tailwind classes in CSS.

  • @lawalmuktair5617
    @lawalmuktair5617 22 дні тому

  • @AnkitKumar-dy5um
    @AnkitKumar-dy5um 8 місяців тому

    That's super easy :)

  • @tutopoints1920
    @tutopoints1920 7 місяців тому

    Nice One

  • @DrJake-dl7rg
    @DrJake-dl7rg 10 місяців тому

    what if we want to refresh the page?

    • @builtwithcode
      @builtwithcode  10 місяців тому +1

      You would need to persist the state in storage, e.g., using LocalStorage.

    • @DrJake-dl7rg
      @DrJake-dl7rg 10 місяців тому

      @@builtwithcode yeah thanks for replying! I'm having a rough time connecting the react state and Local Storage properly and couldn't find a good tutorial about that, yours was good tho.

  • @sad_man_no_talent
    @sad_man_no_talent 6 місяців тому

    thx

  • @mhalwasoffice6132
    @mhalwasoffice6132 4 місяці тому

    how can i share this useState betwen the componants

    • @builtwithcode
      @builtwithcode  4 місяці тому

      If you want to share across multiple components, consider using state management such as React Context and storing the theme information there

    • @mhalwasoffice6132
      @mhalwasoffice6132 4 місяці тому

      @@builtwithcode ty

  • @qotibamhamed6467
    @qotibamhamed6467 11 місяців тому

    I'm experiencing an issue where, when I switch to light mode in my system, dark mode functions perfectly. However, when I enable dark mode in my system, the toggle between dark mode and light mode doesn't work. Can someone please assist me with this problem?
    (I replicated your steps exactly for importing dark mode in Tailwind.)

    • @builtwithcode
      @builtwithcode  11 місяців тому

      Hmm that's odd. Did you update the Tailwind config file to use "class" for dark mode functionality?

  • @daniali4619
    @daniali4619 Рік тому

    Can its change multiple pages mood, i means if we set toggle btn in nav bar then how to change multiple pages dark mood i think then its not work, I'm right or not ?

    • @builtwithcode
      @builtwithcode  Рік тому +1

      For using across an entire website, you'll want to setup a React Context that stores the theme value, and then wrap the entire app in that context's provider. You then connect the toggle button to update the value in the context, which will propagate to other pages.

  • @deylerdeyler6401
    @deylerdeyler6401 10 місяців тому

    does this work on next 13?

    • @builtwithcode
      @builtwithcode  10 місяців тому

      Yes this should work on Next 13

  • @pastiille7467
    @pastiille7467 10 місяців тому

    merci

  • @reyu_
    @reyu_ 2 місяці тому

    the problem with this is when you set to darkmode then you refresh the page then it will back to light

    • @builtwithcode
      @builtwithcode  2 місяці тому

      One way around this is to store the active theme in local storage. Then every time you load the page read from there to initialize the theme.

  • @rishabhagrawal8938
    @rishabhagrawal8938 Рік тому

    How to add one condition inside an another condition like inside dark want to add another condition . Please help it is urgent or please share Where I can talk to yo

    • @builtwithcode
      @builtwithcode  Рік тому

      What type of other condition? If it's something stored in a component variable, then in the styling class names you can use a ternary operator with the variable and use the "dark" prefixing to limit the styling to dark mode.

  • @01dom
    @01dom 4 місяці тому

    Not good to be honest, would be better to define colors and change them with css so you wouldn't have to write dark everywhere

    • @danishnazirpeer3422
      @danishnazirpeer3422 4 місяці тому

      That's what i was thinking when i clicked the video. Instead we got the most basic approach.

  • @arupde6320
    @arupde6320 Рік тому

    be regular

  • @haha-eg8fj
    @haha-eg8fj 11 місяців тому +1

    In my case I don’t need to give my document a dark class name and it just works after I confige tailwind.config.ts. I don’t know why.

    • @SrEdgar
      @SrEdgar 6 місяців тому +1

      how?

  • @EswarRemoteEnginneer
    @EswarRemoteEnginneer 2 місяці тому

    thanks