CSS can be quite intimidating as a technology due to the fact that it lacks an official implementation and only has official specifications. Without a standard interpreter, developers must rely on documentation to guide them in interpreting the language, leading to many different interpreters with their own unique quirks and glitches.
...
And then there's IE
...
Microsoft has always had a strong stance on doing things their way when it comes to web technologies. They often implement features not yet supported by WC3 CSS standards, such as an early version of the opacity
command. Sometimes their motives may lean towards forcing compliance with their proprietary standards in order to gain niche appeal for their browser.
Regardless, if you're heading into web development, dealing with IE will likely become a major challenge. If you think CSS poses difficulties, just wait until you start working with JS.