Generally speaking, CSS is very easy. But when browser vendors started implementing CSS3 features, things became little complicated. Not difficult but complicated. This is mainly due to two reasons: first of all many new CSS3 properties (e.g., transition, gradient, transform, etc) are not that simple and secondly we have to use vendor specific extensions.