Should You Use Tailwind CSS?
Вставка
- Опубліковано 14 чер 2024
- Tailwind CSS is the most popular utility CSS framework, but should you use it? In this video I talk about what Tailwind CSS is, when it is useful, and if you should use it instead of Bootstrap or normal CSS.
📚 Materials/References:
Learn CSS Today Course: courses.webdevsimplified.com/...
🌎 Find Me Here:
My Blog: blog.webdevsimplified.com
My Courses: courses.webdevsimplified.com
Patreon: / webdevsimplified
Twitter: / devsimplified
Discord: / discord
GitHub: github.com/WebDevSimplified
CodePen: codepen.io/WebDevSimplified
⏱️ Timestamps:
00:00 - Introduction
00:19 - What Is Tailwind?
01:31 - Tailwind Gives Flexibility
02:35 - Adhoc Styles
03:46 - Tailwind Imposes Design Limitations
04:41 - Tailwind Is Easy To Customize
05:43 - Tailwind Negatives
#TailwindCSS #WDS #Tailwind
First project I got autonomy over I both introduced React and Tailwind CSS to our tech stack. I had little to no experience with both, and after a few months I can say I’d gladly work with both again in a heartbeat. I was always fairly good with CSS, so that helped
Where did u learn react ?
@@rayanall7333 by building projects you don’t need to learn react you need to understand the vanilla javascript and es6 then you’re ready to go with the documentation of react.
I built Kyle's hair using only CSS ☝️😀
Can you share?
LMFAO 🤣🤣🤣
Kyle's was like:- concentrate on content not my Hair, lol😂
Damn. I was gonna say he truly got hit by the Tailwind.
impossible
Bro you're like Google. You just drop the thing I'm thinking about and always at the right time.
Unpopular opinion Kyle works for google in speach recognition depratment
I was literally just searching vue-tailwind when I got the notification
Maybe you both get the same recommendations
Ikr! He made this video right when I was thinking about using Tailwind
Same . I just got a job and they want me to learn tw
I really like your videos. I remember when I started programming in NodeJS. I was thinking of zoom/discord clone for school (by using WebRTC or smth) so they don't have to use bad optimalized microsoft teams. Recently I watched your video about login/register page in nodejs. That all helped me to learn nodejs a lot. Thanks for your great videos, i wish you more subscribers.
I built my last react project with tailwind and once I got used to it, I found it fantastic. So quick to get things styled.
ye
I would recommend :
1. master CSS and Flexbox
2. get used to a component-based framework (eg. React)
3. make your life easier with Tailwind to create your components
As for React, i pick ChakraUI in place of Tailwind
@@abdulazeezolanrewaju843 oh yeah I built my blog with that. It's sweet! But even that is a layer above tailwind. If I'm not mistaken.
@@abdulazeezolanrewaju843 is ChakraUI more powerful than Tailwind for React?
@@husler7424 For me Yes, in the React World. you can also give it a try :)
@@ZubairAhmed1024 Yep!!
The timing couldn't be better, I literally just started looking into Tailwind tonight!
Check out The Net Ninja's Tailwind playlist. It's a great jumping on point.
Hey Kyle, what do you think about Material UI? I think learning that and Tailwind CSS would be ideal. One gives you the possibility to customize as much as you want, the other gives the ability to design a UI on the fly.
Started using it couple days back (coming from vuetify and material UI) and I just love it. The speed I can build the UI is shockingly fast.
I like using the apply-directive to create my own button-classes using Tailwind. I tried using Vue-Components to achieve the same, but that just does not work well beyond buttons. This way I can still stick to the classes defined by Tailwind, but "combine" them into my own .button or .input classes to ensure uniformity across the app.
This was a great video, and it helped me understand exactly what Tailwind was really about. I rarely like videos or leave comments thanking people, but I did on this one.
Nice video! I’ve been using tailwind for a side project recently and I fell in love with it. I was looking for something NOT bootstrap and material UI is just not my thing.
Maybe I'll eventually take a look at Tailwind, but I'm more used to "component" libraries, so I kinda want to stick with Bootstrap for now. Its utility classes have also been sufficient for me so far. I want the project to compile with only the needed classes though, I think there's a tooling for that.
Bootstrap doesnt have css purging OR tree-shaking. And most tool that does it usually doesnt play well with bootstrap
I didn’t realize there was something like this! I didn’t enjoy Bootstrap, so I actually went and made my own presents css, in the same way Tailwind works. This helps a ton!
I hear so much about "not having to worry about design" and "keeping CSS small" and "composition over inheritance." Taken to their extreme, these concerns are adverse to design. I see why utility-first is great for full-stack devs on small projects or awkward rebels frustrated by less control, but it's a huge issue when devs try to introduce this to the tech stack of a years-old enterprise project that multiple hands touch.
Actually Tailwind CSS have jit and can be easily added to already existing projects. You can quickly find guides for that.
@@eugenereim456 But when it's just CSS properties as classes, what's the point?
@@Kayzewolf Design system components
@@Kayzewolf built in media queries, enforcing consistency in layout and spacing, and less actual code to write. You can see examples on their website where in raw css it would be 20 lines, whereas in tailwind its 4 lins of html and a few classes.
@@Kayzewolf you dont want to search for 50 css file to find out exactly what is applied to the one random div
Great and simple explanation. Exactly what I was looking for. Thanks!
The main point he mentioned "if you are not good at CSS" tailwind will look awkward to you
Great to the point video. Thanks man!
Very informative video! thanks Kyle!
Tailwind is for people who don't know what the C stands for in CSS.
feel jelous by the people who use tailwind
Tailwind 3.1 seems pretty legit. Being able to use the square brackets to modify your own custom css is really powerful. It was a feature in one of the older versions, but required you to put a special "jit" feature in your configuration file.
Now it's built in. If the default value of the padding defaults are exactly what you need you can just do p-[1.2rem] and it will work. You can also create custom classes for things that will be used more than once by using an '@layer components' import in the CSS file below the Tailwind imports and then @apply after you class delcaration.
@layer components {
.myClass {
@apply p-5 h-10 mx-[50px]
}
}
But why write that in a style sheet when you can just use regular styling. I think margin-inline: 50px is way more readable and does the same thing.
@@ronaldtorres3366 But what benefit does a long line of @apply statements have over regular CSS? Especially when using the [] syntax as it's not even consuming any design tokens. It's just using Tailwind for the sake of using Tailwind, which isn't a great way to work.
IMO, it ends up creating a codebase with a higher technical debt and with really gross git history. All of the git diff in commits will be on a single line, as apposed to having 1 CSS rule per line and seeing the commit changes much easier.
you are reading my mind thank you so much !!!!!🔥🔥
Mostly I prefer to write my own css as all these libraries have way more stuff in them than what I need.
But I do use both bootstrap and tailwind css from time to time.
Tailwind comes with integrated postcss plugin that allows you remove all unused classes and your css file can be less than 50kb
@@eugenereim456 there have been ways to do that way before tailwind. Using tailwind adds more CSS than it removes because you can't shorthand tailwind. (try margin:0 auto)
Very informative video. Thank you!
first time watching a video of you talking with emotions and am happy to see that i watch the whole things smiling...
i tried a css challenge and the hard part wasn't deciding which properties to use but how to name the divs and tailwind solves that problem and i loved it.
I'm always amazed that there are stratum of people who have such a limited imagination that they can't come up with random arbitrary names.
@@Maleficarum999 Seriously. Worst case scenario, just call it wrapper. Need two? Outer and inner wrapper. But honestly anyone who struggles with thinking of appropriate abstractions is probably not very good at software design. That's what software design IS.
Hi, thanks for clear explanation. I want to ask one question, if i already use one ui framework, let's say bootstrap or material ui, can i combine all of those ui framework with tailwind? what is your opinion?
Great video Kyle. I've been using Bootstrap, but it sounds like Tailwind is the way to go for my needs. Thanks!
Kyle, your content is fabulous!
You don't have to copy paste the styles. You can have a custom class suppose btn.
Good level headed and unbiased advice
Got one doubt. If Tailwind is a utility-based CSS framework which means one CSS class per property, how it is different from writing plain CSS inline styles?
if you look into it, it offers more, specifically its a design system which you define. Plus, its not inline styles, theyre actual CSS class declerations.
consistency, says you have new members in the team, if they already know Tailwindcss classes, it will be easier for them to get started
because Tailwindcss offers the same toolset for all users, easier for every one to understand what classes others are using mean without having to surf through the css files
@@Forien it's a lil faster
a dev mostly start avoiding design or architechture fatigue and also decision fatigue, for me vanilla css creates the former one, suppose you've two divs which share some common styling like border or flex, in css you get a choice to just include the common styling once, and that's where the design fatigue comes, now ive to look at the whole fking code to try to optimize the best minimal css which is fking pain, in tailwind you use flex property in both the divs seperately, more work but more clarity, also when you start styling a div, it gives you more perspective about the children elements and you basically starts imagining better how the site will look, you get better at css altogether
You make things start making sense.. 👏
I did my last 2 projects in Tailwind CSS and is very productive! I was able to finish the project very fast and also I now enjoy styling.
Here's hoping no one besides you ever needs to work on it.
How big is your 2 projects?
(tech stack- next.js, tailwind, react-query, prisma, postgres)
@@sreekumarmenon I mean how long these two took to complete, and how big the amount of users the app serves
@@genteka5106 I had posted this info, looks like youtube deleted it because i had linked to the app. it is a medium sized project that took couple of months . not sure how the number of users impact the choice of CSS framework.
Great video, thanks for your efforts. God bless you
When I started programming, I was told about the importance of "separation of concerns". Never use style inline in HTML, because it had to be clean and fully separated from CSS. Well, Tailwind is more or less like inline style on the tags. But wasn't that a bad thing?
Agreed, utility class frameworks are trash
@@___jd Ok sir
I think tailwind can be useful when you're using something like React, where emphasis is on reusability of components. I wouldn't really see myself using it with vanilla JS though since it can get messy.
EDIT: I realized that he talked about what I wrote towards the end. I should've finished watching the video before commenting...
@@giorgiotran4850 yes, I agree with that and I understand but still, remember that there are other ways to scope components style (i.e. Vue' scoped style). However, I didn't want to criticize Tailwind, it was a sincere doubt.
I have worked with and without tailwind for a some time, and oh man is it useful. If you know what you are doing, tailwind gives the ability to instantly know the structure and style of a component just by looking at it (the class naming is done great). It gives you an easy file (tailwind.config.js) to theme your whole web app. And gives you the ability to really customize your styling, "unlike bootstrap" with custom values. Going with the flexibility of having both (HTML, CSS) in one file (or component) makes your life easier. Instead of switching files between HTML and CSS or scrolling up and down the document like with (styled components), tailwind lets you focus on the element itself and once you get to know the framework, makes iteration incredibly fast. I recommend tailwind to almost anyone in frontend web dev, since I haven't seen any downsides to using it. Saying it looks messy is just not having the understanding to read what the classes are doing.
thank you for another enlightening video
Just In Time compiler coming in hot to add edge cases without bulding all directives, all pseudoclass utilities and maaaaad speed. People be complaining about the extra markup; yet, they do not realize the massive flexibility. Plus anything tailwind labs touches is gold. Headless UI and heroicons are great examples
👌
We can create component class like `.btn` in tailwind css also
Best thing I love about Tailwind is that it lets me do SFC in React. No more context-switching between a JS file and a CSS file.
Which is why i like svelte, its all in one file; html, js and css :D
I agree 👍
@@aaronrothwell7615 I'm react developer and sevelt looks so wired to me lol 😂
@@aaronrothwell7615 Fellow svelter! Svelte + Tailwindcss is such a powerhouse it should be industry standard at this point. Although.. with svelte, what with css being scoped to a siongle page and all, the problems of native css itself is mitigated, so much so that I actually could do away with Tailwind in some occasions.
I don't know. Maybe it's just Svelte that's the real MVP here.
What I don't understand is, if each Tailwind class is like using a CSS property then why not just write CSS?
it's shorter and faster to do? Don't know honestly, I'm quite new
The one advantage is, that you are able to easily change _everything_ with a certain property (like a 10px margin) in one go. Imagine, your designer tells you, that all 10px-margins should now be 12px. Or you want to create a responsive layout, where (controlled via media queries) for a certain screen size all 10px-margins should be 7px.
Tailwind (and similar) adds another layer of abstraction and allows you to think about the exact design later after building the structure of your website by adjusting the actual values of the tailwind classes.
But of course there are other ways to get the same result. You can use something like sass that offers various ways to accomplish the same (variables, mixins), or plain css variables.
Also there are downsides of using generic css-classes. Of course your HTML becomes more complex and less readable. Having 10 classes in each element instead of maybe 1-2 bloats your HTML. Otoh you immediately get an idea what an element might look like just from looking at the list of classes it uses.
In the end, tailwind (or the general idea of using generic css-classes) has advantages and disadvantages, like basically everything. It depends on the actual use case. If you want build a website with a very specific design, it might make more sense to write your own specialized set of classes, and/or use something like sass to combine those classes into the classes you will actually use in your elements.
If you want just a quick site where the exact look does not matter so much, you can use bootstrap. If you want a more generic approach, or the classes bootstrap provides are not sufficient enough (because bootstrap doesn't have all the elements you need) tailwind might be the perfect solution.
@@imagiro1 Thanks for taking the time to explain the above. It's made everything a lot clearer!
You had my curiosity. But now you have my attention.
Tailwind is good, i had the same skepticism before and after using i changed that, but tailwind has a thing that it does not work too great with dynamic props for instance, for that something like styled components is a better approach. I am between these 2. Tailwind is easier to prototype things quickly and very scalable, while css in js is more ergonomic
TailwindCSS is the best update on CSS libraries I have seen in the last years. This is just pure art and after using it for 2 projects now I am entirely in love with it. ♥
tailwindcss sucks! pure bullshit and dirty code.
Imagine the situation when you see lines and lines of crap mixed with logic when working with tsx or jsx. besides having to put classes to everything.
To this day nothing is better or faster to write than scss.
@@mmadictos5356 tailwind is soo clear
I love Tailwind CSS but sometimes it makes my component "heavy" to read since you have a long list of class though the div and then my eyes mixing" these big lines of CSS classes with the component logic. The way I found to separate the workflow of component with the styling is to implement and add a scss module to my component (with the @apply func) and then have styling and component logic in two separate ways. This way I can work on my function without having my eye reading the Tailwind classes inside the component
Then what's the point of using apply directive in CSS file when you can write css directly in CSS file.
@@FaizanAnwerAli then you did not really understand what Tailwind CSS is about. It’s not only writing utilities inside the html but it’s all about productivity and time saving by simplifying your life with CSS. I don’t remember be able to deal with responsiveness so easily that tailwind does with a simply md:class rather than writing classic CSS. Grid management is also another subject where tailwind will help you earn some time
@@flo_dev last month I wasted more time with tailwind than I actually do without it. It's useless
@@FaizanAnwerAli 😅
I think you can also define specific spacing with bootstrap
Bro I dig your whole channel, you helped me a lot of times. But what I want to see now is you playing that jackson! I've also got one. Cheers :)
nice content i watch all the ads to help simplify the web
I'm a beginner (but i have pretty good knowledge of css) - would you rather use tailwind or vanilla css which i currently use and would you recommend for me to start using tailwind over vanilla css?
great video. you told me everything I wanted to know + no bs
Just used Tailwind in my recent project and I admit it's really addictive and awesome
Bootstrap has utilities classes for doing this. I have been using them quite a bit. It may not be as in depth as tail wind but it goes quite alot.
Sir how does it fit with material design..
I read the bootstrap is not supported unless u use mdbbootstrap
Pure css is always the best. Sass makes it much easier.
Lol loops inside CSS thanks
@@eotikurac not really
I have a huge project made with scss, and it's totally a pain. sometimes a class is used in multiple components and if you delete one component you are not sure if you need to delete the scss because you might delete something important that will completely destroy other components, pretty difficult tho.
To the point. Thank you.
I love tailwind. Custom CSS plus tailwind is all I ever need.
I understand that Tailwind has some features that bootstrap doesn't. But I've been using bootstrap for several years and if you don't want, you don't need to use the built-in components because you can use only the classes just like Tailwind. The component library of bootstrap is a flexible library that's easily overridable. I totally prefer to write some CSS rules instead of having 5 lines of class names in each div.
Tailwind pretty ez to learn also there's tailwind config where you can literally define css rules.
For example you can set h1 to have certain classes engraved in it so you don't have to write everything. Literally righting just (no classes) will load your defined rules.
Also tailwind can be used with native css which means they have same flexibility level vs bootstrap. Also hover states focus and element states. Really simple in tailwind.
@@nikyabodigital You don't need tailwind to write css rules to tags. My point is that whoever made this video, never actually used bootstrap.
@@JackyPup People today are getting mad with consolidated tools that have more than 2 yrs old, and all I see are buggy apps everywhere 😂
Thanks a lot Kyle
Please compare tailwind vs custom CSS classes
Its very similar but a lot easier to use
Soto easier to work with and alot harder to look at 😂
It will take me time to change but am still stuck with MDB. Good content 👍
I just use tailwind for 3 months ago... it's amazing
Why don't you make tailwind CSS tutorial.. we are interested in it.
You don't know CSS
The docs are very good and they also have a good channel here: ua-cam.com/channels/Oe-8z68tgw9ioqVvYM4ddQ.html
No need for tutorials actually. If you know CSS, you can easily grasp Tailwind in a day.
Anyone that understands CSS will grasp Tailwind in 5 minutes... and then not use it :)
I wrote the same thing using jQuery back in maybe 2013. We used it on only one large project farmed out to a 3rd party. My Boss didn't like it but I thought it was a cool idea. Called it Stylizr as many plugins for jQ had that kind of name convention. Also a huge processing overhead looking at every element with the class of "stylizr" and then parsing out all the other shorthand to replace with longhand "style" information the browser could use. Also, completely non-reusable. Great if you don't want to open multiple files or scroll to your section but that's about it.
across frontend, backend and data engineering tailwind is probably the best framework I've ever used. highly and well opinionated while allowing full control and flexibility.
What can we use for dev tools extensions to save time? I used it all the time to change css properties quickly. Whats the workaround for this?
Great video! Can you make a video on how you customized the fonts?
That would be cool! There are some good details at tailwindcss.com/docs/font-family#font-families on replacing the 3 default font family values sans, serif, and mono with your own or defining new family names like display / body.
Thank you 👍
thanks very well explained
When I write reusable components with/without a js framework, I use semantic markup and rarely need more than 1 class on the parent element. It's called UI consistency.
Thanks for letting us know!
It wiil be awesome if you make a series on tailwind css from beginner to advance stuff
First Kyle I've seen without a hole in his wall.
you really helped me !!!! I'm going with Bootstrap " This Time" ...(I'm a noob at the moment)
Which component library can we use for tailwind css ? Or we need to create components using tailwind css plz help me
Over my time as a web developer, which is a decade now, I tried many flavors of CSS. Started vanilla, got into Bootstrap, both 2013/2014, then Foundation with BEM and SCSS around 2016. In early 2018, I stumbled upon Tailwind for the first time. And yeah, got the same prejudices as many: too many classes, looked hard to learn, bloated CSS file etc. Really thought it wouldn't get anywhere.
Later that year, around September, I watched some Laracasts and Jeffrey building some project with it. I rethought, and tried it out on some designs. What a game changer it was! As a WordPress custom theme dev, it still integrated neatly. Have been using it ever since, and never been looking back. No writing too much custom CSS, no time-consuming naming of classes. Happy Tailwind user, essentially. 🙂
Dude could you please make a tailwind tutorial series where you make components? I would love to see that!
learn css so you will be able to do that, kekw
For older developers, as in having been a developer since the mid 90s, I can say when CSS came out we became conditioned to avoid things like "names" and "functionality" as part of the name...like text-red is just a no-no because you can't then change the color to blue...So ok you can have text-blue as well, but at that point, I still fail to see the point. I'd rather just write the css myself (scss actually, which makes several of these issues easier). I'm starting a new project so I thought I'd at least see what tailwind is about, but I can't get past the very essence of what it does because it clashes with 20+ years of not doing that! Though to be honest, I'm quite ingrained in boostrap because it made sense to me when it came out. I understood what it was trying to do while adhering to those principals older developers had developed.
You can specify (and you should) your design system colors like "primary-button-color" or "main-color" and so on.
Couldn't agree more. Just ended a Node.js Express Mongo course, my first year at studying programming, all with JS. I can't imagine using a CSS framework that just turns css properties or a mix of them into predefined classes. Makes no sense for me, just master CSS and learn how to reuse classes or combine them and that's it.
"new" is tragically seen as better unfortunately...
Part of being a developer these days is frustratingly forgetting about the stuff ingrained that you weren't suppose to, that you are encouraged to do now smh.
It’s not the first time the IT industry was wrong about something for 20 years before learning from failures. I only say waterfall model and itanium (very long instruction sets architecture) and mainframes
boostrap: btn-primary bg-dark
To make the btn-primary a defined darker color?
I dont see the big difference :o
pl-7 m-0 etc also exists in bootstrap?
hey ...you told me you will and you did it...nice to have your opinion
Funny how times change. Not so long ago, web devs focused on clean markup with no uneccessary classes/ids. Set a class/id to the parent and style all sub elements using child selectors etc. There was even a term for developers which over-used divs and classes - they had "divitis" and "classitis" ! :-)
But. if I have to go into html and add a class to an element just to do a padding on that element, how's that different than doing inline css? wouldn't I still have to go back into html and change each occurrence of the class, just to change the padding?
Inline styling has higher specificity. With utility classes, you're even able to extract the classes to your own named class. There's no issue with specificity. With Tailwind, you don't think of how to 'change' the padding, but you think of how to set the initial padding. Tailwind comes with its own CSS reset. Plus, people who use Tailwind are usually working with a framework. All classes are scoped to a particular component. To change something, you just open your component file and change everything there. No need to go to and from from stylesheets and component files.
6:43 - Use can just create your own classes in your input css file and then @apply tailwind to it. for example a .btn class that has a line of tailwind classes.
I never use bootstrap and always make my own css because its just a template and its a pain to edit it. I never heard of tailwind before i watch this video, and now i really want to learn this. From what i heard from you in this video, tailwind is basically shorter + easier inline css, which is what i need.
Kinda in the same boat. I prefer doing it the traditional way since I could use the practice anyway.
I don't know what tailwind css have, but using bootstrap and coding with classes and creating my own css styles I realized that Bootstrap is very good for creating container and in columns content, it would take a lot of time to write it on my own so bootstrap have some good stuff, but if it comes to writing something that will be presented on the site more than once, it's better to write your own CSS code.
Because for example if you use 8 the same buttons and everywhere you added class="px-4 py-2 bg-blue bg-lightblue-hover d-inline-block mx-auto transition-0_3s border-around-5"
then client or you will want to change to a different style, then you have to edit it 8 times or copy paste and find all places where you used the same button.
But if you wrote your own code where you added only primary-button, you just edit styling of that class and it changes in all 8 places.
The only classes I like to use separatly is mx-auto, everywhere I put in buttons display: inline-block to they are automaticly moved to left, so mx-auto adds margin left and right auto so the button is in center and class ml-auto makes button going to right side of container.
Tailwind with React or vanilla JS = chef's kiss. I haven't had much luck getting the JIT features to work well with other libraries/frameworks, but the classes are almost worth it on their own.
I like the options it allows, but still, I've some concerns. There are some things that are repeated accross differents components(typically some primary/secondary colors). I've the impression that for each component I will have to specify that I want some orange color for the action button, for the header, some cards, ... and the day I need a different shade, I will have to change it everywhere. How is this adressed? This is typically an issue with color theme, especially since those day we have to make one dark and light version for every app.
Also, even if I've a Vue app behind, there are some UX concepts(like ONE primary Call to Action button, and other secondary buttons, which should be differentiated, and it feels like I should implement myself a button with 3-4 variation that change half of the styles. Seems to be a lot of pain even for a component as small as a button.
Also, it seems there are no extra components like datepicker, searchbox, ... Does this mean that everybody redo the same things over and over?
The reason I'm loving programming
I think it depends on use case, tailwind is good for component based js frameworks. If you change tailwind classes for one re-used component, it works well. But, if you are coding a landing page or some server side rendered template, where the html block u write isn't repeated. You are better of with boostrap Or foundation.
You know why jquery is used most? Theme developers of WordPress, shopify, magento, Drupal, etc use jquery. Jquery gives max backwards compatibility. They also use bootstrap in theme development.
shopify uses jquery for themes? I understand that its uses Remix ( react ) now.
Can you use Tailwind CSS with React Bootstrap? I have already a project with React Bootstrap, but its just looks awfull, so I want a littlebit better design w Tailwind.
What I like about tailwind or the windicss, is that it makes my css files optimized... especially that tailwind uses JIT mode that only grabs the css classes that you need which makes my css files smaller.
What's your views on material ui for react
For plain CSS, HTML & JS you can create a class for a reuses set of tailwind classes.
I've not used tailwind bare in mind but.. how can you apply different themes with tailwind, so I could have a lot of components and use them in a different projects, I want to apply a theme (different colours, sizes etc) depending on the site they're on. I would currently use sass with variables, and just change the variables to change primary button colour, site padding etc etc. In a small app or site changing them at component level would be ok, but on massive site this would be painful. Even if variables were used, and if I do that I might as well use normal CSS (sass), create classes with well defined mixins and variables which would give greater control.
I try tailwind and i love it 💪🏽 is so easy
is there anything like SASS to avoid repetition in CSS if I don't use in React
Tailwind is great until you need to do a massive change to your codebase.
We used tailwind in my last company and it caused a big headache when we wanted to use the same components with a different styling system whilst maintaining the old one.
I like tailwind but that was such a pain that I avoid it now
Comeon bro it must not be that hard . I know tailwind code looks massive sometimes but not that bad .
Maybe I didn't work at any company before and don't know what do u mean by that
Can u explain what was the hard part about tailwind ?
you could say the same with pure css
That sounds like a problem in your code not due to tailwind
in your component, you should place a prop that can modify the styling, if you are using React
hmm, ill use it in my next website development !!
not a webdev but now i know what the fuss is all about. thx. btw this compostional pattern is well established in other industries like games with ECS where your "object" is really just the sum of all your components. there is no real object anymore. just like a "button" that is just the compositional sum of all its classes in your example
first of all, great video.
At 6:42 tailwind actually have a solution for this, you can make one class combining several classes and use that one instead.
Yeah you can use that with Tailwind installed as a npm module with @apply -classes.
Yes but by that time I've already called a predefined Bootstrap class and it's done.
@@ToddDunning ...which looks like shit. That's fine in some cases though, but if you're making a public website you don't want it to look like every other bootstrap site.
@@precumfrank7597 you do realize that you can change all the value over the Sass file right? If you don't want/like the default theme of BS, you can customize it without having to re-writing the whole framework.
thats why I love MUI for type safety
I’m using styled-components cuz I’ve been heavily working with react for the past few months. Do you think I need to learn Tailwind?
No - styled-components is more powerful, and will allow you more flexibility without putting 500 classes on each node in your project because people essentially try to write each css property as a class...