Everything about CSS
Tags: css, webdev, beginners
Published: 2023-02-10 01:21:36

A few minutes ago I logged into the Slack of my community ([Academlo](https://academlo.com/)) and I came across a question that immediately caught my attention:

> _"Can you recommend me a CSS book, that has all the commands, to learn them"_.

The question is evidently asked by one of the new students. At the time it was also my concern and I am sure it was that of many who will read me. 

And it didn't only happen to me with CSS; it applies to any technology we learn when we take our first steps in this wonderful world of web development.

I wanted to know EVERYTHING, and to know it NOW, because I thought that way I would be a better developer.

A couple of years have passed since then. I have walked the path of web development at a professional level, and understood some details of our profession that allowed me to give an answer to this friend and that I will also share here with you.

&nbsp;
## My answer

I transcribe my response verbatim because I think it encompasses what any developer with some road walked would tell you when faced with a similar question:

> _"Hello XXXXXXXX!_

> _Bro, it is impossible (literally speaking) to learn ALL the "commands" of any technology, and there is no point in doing so either. Let me explain..._

> _CSS has a specific structure and syntax that you must know just because, and that is easy to understand and learn._

> _Within that structure, there is a group of PROPERTIES that are the ones you are going to use in 80% of the cases and another 20% that are going to be of occasional use (to make animations, transitions, etc.)._

> _The first group (80%) comprise, at most, 30-40% of the total CSS properties. Those are the ones you learn by practicing day by day and become a regular part of your lexicon as a developer (margin, padding, text-align, etc.)._

> _The second group (the other 20%) comprise the remaining 60-70%; obviously, the majority of CSS properties. Those are the ones we know exist, but we don't spend brain cells storing them in memory._

> _And how do I do when I need them? What all developers do in our daily work: when we don't know something, we google or go to specific sources where we know the information is. That is the greatest talent you will have to develop as a Web Developer: look for the right information and learn to read the official documentation of the different technologies._

> _In the case of CSS, the information is mainly found in 3 sources (although, of course, there are many others):_

> 1. _[CSS documentation on MDN](https://developer.mozilla.org/en-US/docs/Web/CSS)_
> 2. _[CSS documentation on W3School](https://www.w3schools.com/css/)_
> 3. _[CSS Tricks](https://css-tricks.com/)_

> _There you get EVERYTHING you need to know about CSS. However, there are specific things that you will want to do and you will have to google, because there is only the generality of CSS there._

> _Just as it happens with CSS, it will happen with the programming languages themselves: JavaScript, PHP, Node.js, Python, etc. There are general sites where the official documentation is condensed, but the details, tricks, examples of how to do something specific, you have to look for them._

> _Your best friends on this road will be Google, YouTube and Stack Overflow._

> _I hope I have helped you, I wish you success!_

&nbsp;
## I conclude

Being a developer is not just about writing code and memorizing commands; it is much more. 

Being a developer involves learning to generate mental processes that lead you to achieve an end: that "perfect" web site you designed in your mind.

Some things are written. The rest, most of it really, you will have to create it yourself. That's why we are DEVELOPERS and not just CODE TRANSCRIPTORS.

The developer imagines, thinks, analyzes and creates. Hence the motto I have on my wallpaper: "Think twice, Code once".

In that process, some things we do in "automatic", like writing some code segments that will be common to many things. 

But... the wonder of this world and of our profession is that THE DEFINITIVE IS NOT WRITTEN. It is written by each of us when we open our favorite IDE, and it is built anew day after day.

Being a web developer means being part of a **too dynamic** profession. 

For example, a couple of weeks ago I felt satisfied with my level of knowledge and command of Vue.js. I thought: _"I already know one of the most modern, powerful and revolutionary JavaScript frameworks"_. 

To my surprise, that same week I learned about the launch (and dizzying rise) of a new JavaScript framework: **Qwik**. So the road starts all over again - it never ends!

I think that's precisely the beauty of this profession. That the only constant thing is change.

Until the next publication. Blessings.