Je recommanderais spécifiquement pas en essayant de terminer tous vos balisages avant de commencer à ajouter en CSS et/ou Javascript.
La raison est assez simple: CSS et JS interagissent tous deux avec votre page en fonction des éléments et des sélecteurs que vous définissez dans votre balisage. Donc, si vous avez une vision dans la tête de la façon dont vous allez mettre en page, vous pouvez imaginer comment le balisage devrait être (et souvent vous serez assez proche), mais vous trouverez cela lorsque vous accrochez CSS ou JS, il y a des choses qui ne fonctionnent pas exactement comme vous le pensiez.
À ce stade, vous devez souvent affiner votre balisage pour que les éléments et les sélecteurs soient configurés de telle sorte que le CSS ou le JS se comportent comme vous le souhaitez.
Il est beaucoup plus facile de gérer ce problème lorsque votre code est plus léger. Si vous pensez que vous avez déjà terminé votre balisage à 100% et que vous avez cliqué sur CSS et que quelque chose a l'air amusant, vous devrez peut-être chercher plus longtemps la cause exacte du problème et réécrire de gros morceaux de balisage ont passé à le faire progressivement.
Donc, je recommande que votre flux de travail soit plus "grande image" -> "détails". Commencez avec une structure filaire de base de votre site et mettez juste assez de CSS dedans pour voir que toutes les sections principales de votre page sont classées et positionnées comme vous vous y attendez. Puis commencez à superposer le contenu et la présentation au niveau du bloc, puis déplacez et polissez les détails. La fonctionnalité de base devrait précéder les éléments de présentation, mais la mise en page de grande taille et l'interactivité (qui est plus qu'une simple balise) devraient précéder le contenu détaillé.
Espérons que cela a du sens. Bien sûr, la chose la plus importante est de trouver un flux de travail qui vous aide à être aussi efficace que possible, alors essayez différentes approches et trouvez le modèle qui vous convient le mieux.
+1 pour l'approche itérative. Pour le projet sur lequel je travaille actuellement, j'ajoute les champs et les fonctionnalités un par un et couvre toutes les bases de chaque fonctionnalité. – Fosco