diferencia entre html 4.0// y xhtml 1.0//

Mi pregunta es saber q diferencia hay entre esteas dos formas de html.

pues me dicuenta q para q los menus desplegables se vieran con html kit y con algunos navegadores con cambiar los codigos de abajo el 1º x el 2º me iva todo de maravilla. yo solo conozco html 4.0//. ahora estoy haciendo una pagina nueva y kisiera saber si puedo desarrollarla como si fuera html 4.0// y poner el encabezado xhtml 1.0//, hice pruebas y no vi diferencias en los navegadores, pero estoy mezclando cosas de xhtml 1.0 y html 4.0, alguien me puede ayudar. gracias x todo
----------------------------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
----------------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
----------------------------------------------------------------------
Justo el otro día tuve un problema que resolví con esto, es mágico, jaja.

La diferencia entre html y xhtml es básicamente que xhtml es codigo html que debe respetar las reglas de xml. Por ejemplo, en html puedes escribir la etiqueta

y no cerrarla, en xml debes cerrar todas las etiquetas. O las de imagen en html pondrías [contenido no disponible], en xml tienes que poner [contenido no disponible]

Igualmente la diferencia entre una definicion de doctype y otra es otro tema, que es lo que digo que es mágico.

Los navegadores tienen 2 modos, el standar mode y el quirks mode. Supuestamente, en el standar se respetan los estándares de la w3c, en el quirks cada navegador hace lo que quiere.

Dependiendo del navegador, algunos funcionan por defecto en uno u otro modo, pero si pones el doctype de xhtml hace que el navegador funcione en modo standar, por eso cuando lo cambiaste anduvo mejor el sitio.

Perfectamente puedes poner el doctype de xhtml y luego escribir en html 4.0, o 4.01. Eso sí, si el doctype es xhtml y no esta escrito correctamente en xhtml no lo podrás validar (si es que te interesa hacerlo)

Espero te sea útil la info, Saludos!