Sí, sí, sé que esta es otra pregunta sobre la alineación vertical con CSS y se ha realizado un millón de veces antes. Tenga la seguridad de que me he topado con este problema muchas veces y ya he leído varias formas de centrar verticalmente con CSS. Pregunto aquí porque ninguna de esas formas hace exactamente lo que quiero hacer, y solo quiero asegurarme de que mi sospecha (que la alineación vertical CSS está rota y no hará lo que quiero que haga) es definitivamente correcta.Alineación vertical con CSS
En primer lugar, aquí es mi caso de prueba: http://www.game-point.net/misc/testAlign/
Aquí está el criterio:
- quiero alinear el 'texto centrado' verticalmente, con respecto a la DIV que contiene el 'a TestTestTest ... 'texto.
- No quiero especificar CUALQUIER altura.
- Quiero que los DIV 'TestTestTest' y 'Centered text' obtengan sus alturas dinámicamente, de acuerdo con la cantidad de texto que tienen y el límite de ancho que tienen.
- No quiero usar Javascript.
Esto parece ser imposible incluso en CSS3, y mucho menos en CSS2. Lo molesto es que casi estoy allí; El DIV position:absolute; top:-50%;
funciona para establecer la parte superior de ese DIV a la mitad del contenedor DIV. El problema es que el DIV interior, con el estilo position:relative; top:-50%;
, no hace nada para mover el contenido a la mitad de su altura, centrarlo completamente, porque CSS dice que un DIV completamente posicionado no tiene altura y por lo tanto top:-50%
no tiene sentido . Por lo que puedo decir, este es solo un error fundamental en CSS sin ningún motivo en particular. Un elemento absolutamente posicionado tiene una altura, y no sé por qué CSS pretende que no. Solo quería preguntar si alguien tenía alguna idea sobre cómo podría lograr el efecto deseado, representado en la parte inferior, dado el criterio que describí anteriormente. Irónicamente, el modelo de caja "rota" de IE6/7/8, en modo peculiar, me da este efecto. Es una pena que lo "arreglen" en IE9, así que ya no lo hará.
Bueno, siempre se puede utilizar jQuery para hacer la magia. Pero tu sospecha es probablemente correcta, hasta donde yo sé. –
Cree que puede hacer esto con flexbox ahora http://css-tricks.com/snippets/css/a-guide-to-flexbox/ – Ruskin