markdown guide
 

No. CSS could be considered hard because the topic is rarely taught in a way that allows people to understand how it behaves. Code academies focus on JavaScript.

Ditch the CSS libraries and start writing CSS from scratch. It’s the only way you will learn.

Topics to focus on to become brilliant at CSS

  • variables
  • selectors
  • specificity
  • cascading
  • box model
  • position
  • float
  • flow
  • flexbox
  • grid

That seems like a lot of topics, but it’s really not that bad considering how much there is to learn about a programming language. CSS is not programming (however some post processors like SASS introduce more programming like syntax). CSS is a style sheet language more focused on formatting which is why some people find it difficult. It’s hard to switch contexts like that.

It helps to have some knowledge of design or computer graphics, but you don’t have to.

 

No, its different from every other language you will use. Most people wont bother learning the intricacies and how it works etc, then get frustrated when things go wrong.

Here is a brilliant resource currently being built. It aims to teach best practices for common layouts.

 

people wont bother learning the intricacies and how it works etc, then get frustrated when things go wrong

It me.

 

It's a tough question to answer.
CSS is easy for me. It well structured, has well established patterns and a manageable number of oddities. With it's descriptive nature and instant visual feedback, it's even easy to learn. Then again, I've been working with CSS for about 15 years.

Is CSS hard for someone who hasn't seen it grow? Possibly.

 

No it isn't hard but it can have a steep learning curve and finding the right resources to learn with can prove troublesome. CSS can be as simple or as complex as you want to make it. As others have said ditch the fancy frameworks and go back to the basics.

At it's heart CSS is a language that sets a style to something. Once you understand that and play with it a bit than you can really start to see how simple CSS can be.

This from Mozilla covers some of the basics CSS basics

Also this from CSS Tricks

 

Yes and no.

Everyone finds different things hard. I find CSS not too bad and find more general programming concepts take me a long time to learn and get my head around, however, people I have spoken to are the other way round.

I think it's important not to ask questions like this and just dive in and find out for yourself.

You can learn the fundamentals of the language, or dive deep into the features. It's entirely up to you. I speak to so many people who get so fixated on learning the entire CSS language off the top of their head before working on Javascript and that's just not realistic. I have to constantly Google how to do even the simplest things in CSS, but having a good understanding of the fundamentals and how things work is more than enough.

 

CSS is just like any other language, I think. It's just as hard as any other programming language. Just as other languages have standard libraries, complicated concepts, CSS also have similar concepts like writing modes, formatting contexts, and all these other things that are much more important than syntax.

tl;dr: CSS is hard, but so are other languages.

 

CSS is easy. The concept of design and how to use CSS to get what you want can be difficult.

CSS.gif

 
 

No. It’s incredibly rule based and predictable. It does help to have basic understanding of angles and ratios.

 
 

Don't listen to weird people. Try it and answer that question yourself.

Classic DEV Post from Jan 8

Smart Time Management and Productivity Guide via Weekly Reviews.

As we all know being a competent software developer or engineer means continuously learning throughout your career. It’s great! That makes this profession exciting and allows to escape everyday routine at work. In fact, it’s not a job anymore - it’s a lifestyle 👩‍💻👨‍💻

Oyetoke Toby profile image
Just a software engineer trying to make ends meet. My passion for Python and JavaScript is nothing to compare.
Join dev.to

Better understand your code.