Nothing is easy.
From Teach Yourself Programming in Ten Years:
Researchers (Bloom (1985), Bryan & Harter (1899), Hayes (1989), Simmon
& Chase (1973)) have shown it takes about ten years to develop
expertise in any of a wide variety of areas, including chess playing,
music composition, telegraph operation, painting, piano playing,
swimming, tennis, and research in neuropsychology and topology. The
key is deliberative practice: not just doing it again and again, but
challenging yourself with a task that is just beyond your current
ability, trying it, analyzing your performance while and after doing
it, and correcting any mistakes. Then repeat. And repeat again.
There is nothing special about html/css that makes it easier or harder than any other concept. While I consider Java 'easy', I've been working with it since a college class in 1998.
When asking around Programmers.SE you will find that we are programmers. We have had a decade of ruby, or python, or perl, or java, or C, or C++, or what have you. These are things that are easy for us. Front end work is the icing on the cake, but we have built the bulk of the cake in something else... but we are bakers, not cake decorators.
If you find someone who is a UI person who has been working with HTML since the early days and kept pace with CSS and HTML5 and such... html and css are as easy to them as our preferred programming languages are to us. They have a tool set to work with, they know what to do, what to look for and how to do it.
The biggest challenge for a programmer to pick up HTML and such is that it isn't programming. There is not a significant foundation for a programmer to build on (switching from C to java is less of a transition).