Embora essa seja uma pergunta muito antiga, sinto a necessidade e a responsabilidade de comentar.
Sim, o HTML deve ser escrito antes do CSS, no entanto ...
Você NÃO escreve todo o HTML na página e depois volta para escrever o CSS. Isso tornaria extremamente difícil lembrar claramente as seções conforme você as constrói, mesmo com espaçamento e comentários adequados.
Você cria um site em camadas, como se estivesse fazendo um bolo de várias camadas.
1ª Camada - Primeiro você constrói a base, a div do contêiner, com sua altura mínima e largura css.
2ª Camada - Em seguida, você cria a próxima camada, as grandes seções da página (divs e estilos para a estrutura), como linhas ou seções com aparência de colunas.
Terceira camada e além - Depois, você continua adicionando na segunda camada de seções.
Dessa forma, você escreve um pouco de HTML, adiciona e estiliza-o com CSS para a estrutura, enxaguar e repetir. Na minha experiência, essa é uma maneira muito mais eficaz de criar páginas da Web e, na minha opinião, muito mais rápido que a alternativa de todo o HTML primeiro.
Por fim, tente usar " * {outline: 1px dotted red} " para obter uma estrutura de tópicos de todos os seus elementos. Ao adicioná-los à sua página com estilo, você pode ver a estrutura de tópicos e não precisa se preocupar em adivinhar a aparência até você adiciona suas cores de plano de fundo. Evito bordas para este caso de uso específico, porque bordas adicionam pixels aos elementos, o contorno é uma sobreposição.
Experimente, obrigado!