It’s like chess an hour tolerant a life time to master. As with anything else practice makes perfect. Also as with anything else you’ll find that as soon as you think you have it all down, you see you only have more to learn. It’s a lifetime learning thing; a more manageable goal might be to develop confidence and ‘grace’.
For this, after you have got the basics under control I would just play/experiment with code challenges. The goal being not necessarily to do a project , but to answer a question experimentally. This will help your CSS/HTML critical thinking skills.
Hiii … It depend upon the time you are giving on HTML/CSS . you should learn from w3schools.com website . It is very good website for beginners and as you said you are doing diploma in web development then you can use TemplateToaster tool for designing website templates/themes . this tool helps you in generating HTML/CSS , CMSs templates/themes .