BI1BIF If you're looking for effective tools, I recommend asking the vast online community. As I don't have a professional background, I've only learned some basic HTML and CSS through self-study out of interest.
Ideally, some basic aesthetic and layout awareness would be helpful first. Then, it's important to understand how to achieve these effects within a webpage, which might involve using various web design tools. However, I prefer to hand-code everything, so my knowledge in this area is limited.