Valor predeterminado de vertical-align para celdas de tabla

De acuerdo con la especificación , el valor predeterminado de vertical-align es baseline .

baseline

Alinee la línea de base del cuadro con la línea de base del cuadro principal. Si el cuadro no tiene una línea de base, alinee el borde inferior del margen con la línea base del padre.

Sin embargo, cuando se trata de celdas de tabla ( td ), parece que el valor predeterminado siempre es middle .

middle

Alinee el punto medio vertical de la caja con la línea base del cuadro principal más la mitad de la altura x del elemento primario.

Me gustaría la confirmación oficial de este comportamiento, pero no puedo encontrar nada en la documentación del W3C. Todo lo que he encontrado dice que el valor predeterminado es baseline .

¿Dónde dice que el valor predeterminado de vertical-align es el middle para las celdas de la tabla?

Como dice la especificación, el valor inicial de vertical-align siempre es la baseline :

vertical-alinear

  • Inicial : línea de base

Sin embargo, como se explica en The cascade ,

Los agentes de usuario conformes deben aplicar una hoja de estilo predeterminada (o comportarse como si lo hicieran).

La hoja de estilo predeterminada de un agente de usuario debe presentar los elementos del idioma del documento de manera que satisfaga las expectativas generales de presentación para el idioma del documento.

Consulte una hoja de estilo de muestra para HTML para una hoja de estilo predeterminada recomendada para documentos HTML.

Y esa hoja de estilo recomendada contiene

 thead, tbody, tfoot { vertical-align: middle } td, th, tr { vertical-align: inherit } 

Por lo tanto, si usted (origen del autor) no proporciona ningún valor para tbody ‘s ni td ‘ s vertical-align , la cascada recuperará el valor middle del origen del agente de usuario.

Tenga en cuenta que la hoja de estilos predeterminada depende de la implementación, por lo que algunos navegadores pueden establecer diferentes valores de vertical-align para diferentes elementos.