I’m sure everyone has their own ways to learn new things. For me, it’s always kept me interested to somewhat switch around, learning bits and pieces in different areas, more slowly. I think even learning environments like Treehouse recognize this, as their learning paths have you switch around a bit as well.
Sure, there’s gotta be some level of grasping the material before moving to something else, although, I wouldn’t say one had to master a particular area first. (Seems like a somewhat tedious and dry way to learn.)
Here’s a tutorial series on Developing Your First WordPress Theme, at which in the end of part one, states (not a direct quote) “The prerequisites will be a grasp of basic HTML, some basic PHP knowledge, and – ideally – an understanding of CSS.