En efecto, poner
rows y
cols es obligatorio según cualquier DTD; esto hace que no tenga sentido definir ancho y alto desde CSS. Es una excepción a las reglas de separación de funciones, pero así es. Una opción que tienes es definir rows y cols, y en CSS definir el tamaño de la fuente, pero tal vez traiga más problemas de los que resuelve.
Sobre lo del ID, ¿puedes mostrar tu código?
saludos