I have been developing for 4 years and recently got the degree and a job. I have done some projects in different fields and most of them I learned through doing and watching tutorials and all. So never learned anything in a streamlined manner.
Right now I am going through the responsive design course and I have to ask how important is to be an expert in pure HTML and CSS. I find it easy to use Bootstrap, tailwind etc but find it hard when it comes to vanilla CSS. And it is too much to write too.
Any advice on this? Should I change the way I look at pure CSS? I am aiming to be a full stack developer.
CSS libraries are great, and you’ll probably always be using at least one. They won’t include all of the styling that you/your client/your UX designer want though, so you’ll have to add your own styling. And it will only be a matter of time before someone says something like “I hate that links change color when you hover over them. I want them to look like a button when you hover over them.” and you have to not only write CSS but also be able to track down the library rules that are causing the current behavior.
Libraries will also give you some prebuilt widgets, and that’s great. (For the love of all that is sacred, don’t try to write your won date-picker. Trust me.) But again they won’t give you everything and you’re going to end up needing to understand how their working.
I spent the last two days working on trying to integrate the behavior of one form handling library with a fancy form control widget from a different library. We use TypeScript, Sass, React, and UI libraries but at the end of the day it’s all HTML, CSS, and JavaScript.
This makes a lot of sense Ariel. I will try to focus more into vanilla css and html. I will at least try to look into what all available. So that in case the scenarios you mentioned comes up I’ll be knowing what to search.
Thanks for the reply. I am still a beginner for work so haven’t faced any issues but it’s good to hear from a experience person.
Thank you Jwilkins. I will try to focus more on learning vanilla css and html. Sometimes it feels never ending so it is taking me a lot of time just to go through all the available options.
HTML and CSS are not that complicated at all, its mostly raw syntax, styling rules and all you need is know the basics in order to be able to tell the code behavior and how to manipulate it. You have great documentations on your disposal and solutions to all kinds of issues are available on the internet, so you dont have to remember all sort of rules, keywords, just the general practices. Its innevitable not to encoutner HTML and CSS in web design and i find it super useful and even a must to have a general knowledge of them. Contrary to you, ive little knowledge of modern platforms to build sites and my skills are product of what FCC taught me, as well as additional online sources, so i went from HTML/CSS, to JS and then React, Node etc. Right now, as i follow example projects and how they are completed, there is little HTML and CSS involved. In fact most of the CSS is already wrote by the author, but its there, part of the root folder files and id be super lost if i couldnt read the CSS file, or the HTML file and tell what does what and why something functions the way it does, thanks to some particular CSS rule, or a HTML tag.
PS: the FCC HTML/CSS curriculum is enough on its own to give you a good ground on the topic and it doesnt take that much to complete it and the time spent will surely be worth it a thousandfold. Once you know how those languages function, you can always decipher wheenver you encounter their more complex use.
Well this is my opinion, I don’t saying that it’s better to use vanilla css against frameworks like bootstrap, but I prefer to focus on pure CSS (unless is requested to use bootstrap).
I used a lot bootstrap in my first designs and some resets, but with the time I made my own “starter files” in sass, and only use those things that are required for the specific design, I find the css and html result more readable and easy to update. With bootstrap I had these pure div designs full of classes and very large CSS files, it was painfull to update some things, now I have more semantic html and lightweight css files.
Css frameworks are great but I believe they’re made thinking for every user, when you design with pure CSS you will have only what you need, more control and write less code. I feel more comfortable with this approach.