No es la ausencia o presencia del doctype, que esa es una cuestión innegociable y una discusión sin sentido y ya superada.
Eso lo único que hace es poner de manifiesto errores que ya están en su código.
Veamos por partes.
Html:
No hay cabeza, o head. Debe abrir y cerrar el <head></head> y ahí colocar los estilos. Entre otras cosas.
Css:
Define para |.total| una altura del 100%. Pero no hay valor en sus ancestros para calcular dicho porcentaje. Así que el 100% de 0 es cero, y la altura de los elementos a los que aplica la clase |.total| es la que sus contenidos le obligan a crecer.
Solucción:
html:
Póngale cabeza (head) a su documento.
css:
Use un reset css (no preguntar, que tenemos google).
Añada a sus estilos algo como: