Hola, si entiendo bien, lo que está tratando de lograr es el centrado vertical. Tengo dos soluciones que he estado usando durante bastante tiempo.
- Transformaciones CSS
.caja{
altura: 400 px;
ancho: 400 px;
borde: 1px negro sólido;
}
.box img {
posición: relativa;
ancho máximo: 100%;
transformar: traducirY (-50%);
arriba: 50%;
}
Aquí está el fidde actualizado: Editar violín – JSFiddle
- ¿Cuál es la mejor manera de realizar un seguimiento de los formatos de solicitud y respuesta JSON en un proyecto de aplicación web grande?
- ¿Por qué React se parece a PHP?
- ¿Cuál es la mejor empresa de diseño y desarrollo de sitios web en Hyderabad?
- Cómo usar el proyecto WebGoat de OWASP para probar las vulnerabilidades denetnet
- ¿Ruby on Rails está muerto?
La explicación proporcionada por Jeffrey Pia lo cubre más o menos y si desea leer más sobre esto, aquí es donde lo vi por primera vez:
Vertical alinee cualquier cosa con solo 3 líneas de CSS | zerosixthree
2. Flexbox
De acuerdo con esta tabla ¿Puedo usar … Tablas de soporte para HTML5, CSS3, etc. Flexbox es bastante seguro de usar con un poco de respaldo para navegadores antiguos. Debajo está el código
.caja{
altura: 400 px;
ancho: 400 px;
borde: 1px negro sólido;
pantalla: flex;
alinear elementos: centro;
justify-content: centro;
}
.box img {
posición: relativa;
ancho máximo: 100%;
}
y el enlace actualizado: Editar violín – JSFiddle
Philip Walton nos ha honrado con un conjunto de soluciones con flexbox. Véalas aquí:
CSS más limpio y sin pirateo
Espero que ayude 🙂