Good question... might of been answered before... there is an EDIT at the end... dunno what it means.
Personally i have been coding HTML and CSS for the past 2 years. That's probably 250 days out of 365. So i code a lot. When i started i use to copy a lot... i liked this hover system... i just look up the source and try to integrate it... and i believe that is how most learners do... i modify the variables... pixels, colors, sizes... and all bunch of shits to make it fit like i want it to fit.
After couple months of doing this i learned... how to use the basics... tables, fonts, b, a, h1, hr... the list goes on and on... but that's just for HTML... only a little bit later i tried CSS which makes your page look a LOT more nicer.
___________________________________
I don't think there is a need of 3 hours a day, just little practice.
If you do 3 hours a day (which i don't think you will always have time for / or / you wont like to code for 3 hours) i guess in 3 months your up !
Me its been 2 years, a little more... when i create a website... i start from a blank page.
- take my doctype (html 4.1 strict)
- insert html head body tags
- insert content type, title, link for CSS style sheet
____ these 3 i copy / paste .. there are always the same.
Than i look at my template and see what i am about to add on my site and i create all the DIVS.
CODE
<div id="container">
<div id="header"></div>
<div id="contentbox">
<div id="leftside">
Content
</div>
<div id="rightside">
Content
</div>
<div id="footer">
Content
</div>
</div>
</div>
That's just a stupid example on how i will start. Than i will go on my style sheet and give all the values i want to all my divs, body, html tags.
And no i do not know everything with HTML and CSS but i know everything i need to make a perfectly valid working website.