Which is the better practice?
Add CSS during web designing you can see the result (or close) as early as possible and make required changes. You also know how many divs or spans you might need (eg to make curved cross-browser hover background). But as you add more and more components to the page sometimes things get hack-ish as you need to patch here and there to get the exact design required.
Add CSS after finishing page design you can see the page overall structure as it is well, without styles. You get to see how accessible your site is, and modify it right away if it’s not good enough (unlike the former case where you may break multiple CSS rules). Plus after you finished it, you only need to spend most of the time to alter only the CSS file, which is good to get the momentum going.
Granted I have never tried the latter approach, but am seriously considering it for my next project if I can see convincing reasons — or if it’s no good at all.
Thanks.
I’ve always preferred the wireframe approach. You start your site by laying out the basic skeleton, you can use CSS here to get your columns or content sections roughly sketched out. After that you then move to populating the function/data/content of the site. You make sure you have the required markup to fit your content. Once you’ve got the content you need you can then begin applying your theme to it.
This sort of back and forth gives you a good canvas to work from. You can see some of the basic building blocks but aren’t stuck in a specific structure. Applying your CSS at the end should work with the markup and be less “hacky” as you put it.