Diseño de layout de CSS - Alineación horizontal y vertical
- Página anterior inline-block CSS
- Página siguiente Combinador CSS
elemento centrado
centrado de elementos
Para centrar un elemento de bloque (como <div>), utilice márgenes: auto;
.
Establecer el ancho del elemento evitará que se extienda hasta los bordes del contenedor.
Luego, el elemento ocupará el ancho especificado, y el espacio restante se distribuirá equitativamente entre los márgenes exteriores:
Ejemplo
.center { márgenes: auto; ancho: 50%; border: 3px sólido verde; padding: 20px; {}
Nota:Si no se ha configurado ancho
propiedad (o configurela en 100%), el alineamiento centrado no será válido.
alineación de texto centrado
Si solo desea centrar texto dentro de un elemento, utilice text-align: center;
:
Ejemplo
.center { text-align: center; border: 3px sólido verde; {}
Consejo:Para más ejemplos sobre cómo alinear texto, consulte Texto de CSS este capítulo.
centrado de imágenes
Si desea centrar una imagen, configure los márgenes laterales exteriores auto
y establecerlo como elemento de bloque:}

Ejemplo
img { display: block; margin-left: auto; margin-right: auto; width: 40%; {}
Alineación izquierda y derecha - usar position
Una manera de alinear elementos es usar position: absolute;
:
Ejemplo
.right { position: absolute; right: 0px; width: 300px; border: 3px solid #73AD21; padding: 20px; {}
Nota:Los elementos con posicionamiento absoluto se quitarán del flujo normal y pueden solaparse otros elementos.
Alineación izquierda y derecha - usar float
Otra manera de alinear elementos es usar float
Atributo:
Ejemplo
.right { float: right; width: 300px; border: 3px solid #73AD21; padding: 10px; {}
Nota:Si un elemento es más alto que el elemento que lo contiene y está flotando, se saldrá de su contenedor. Puede usar hack de clearfix para resolver este problema (vea el siguiente ejemplo).
Hack de clearfix
Luego podemos agregar a los elementos contenedores overflow: auto;
Para resolver este problema:
Ejemplo
.clearfix { overflow: auto; {}
Alineación vertical - usar padding
Hay muchos métodos para alinear verticalmente elementos en CSS. Una solución sencilla es usar los márgenes superior e inferior internos:
Ejemplo
.center { padding: 70px 0; border: 3px sólido verde; {}
Si necesita alinear vertical y horizontalmente al mismo tiempo, utilice padding
y text-align: center;
:
Ejemplo
.center { padding: 70px 0; border: 3px sólido verde; text-align: center; {}
Alineación vertical - usar line-height
Otra técnica es usarsu valorigual a height
El valor del atributo line-height
Atributo:
Ejemplo
.center { line-height: 200px; height: 200px; border: 3px sólido verde; text-align: center; {} /* Si hay texto en varias líneas, agregue el siguiente código: */ .center p { line-height: 1.5; display: inline-block; vertical-align: middle; {}
Alineación vertical - usar position y transform
Si su opción no es padding
y line-height
Entonces, otra solución sería usar position
y transform
Atributo:
Ejemplo
.center { height: 200px; position: relative; border: 3px sólido verde; {} .center p { margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); {}
Consejo:Usted encontrará en Transformaciones 2D En esta sección, aprenderá más sobre la propiedad transform.
Alineación vertical - Usando Flexbox
También puede usar flexbox para centrar contenido. Tenga en cuenta que IE10 y versiones anteriores no admiten flexbox:
Ejemplo
.center { display: flex; justify-content: center; align-items: center; height: 200px; border: 3px sólido verde; {}
Consejo:Usted encontrará en mi Flexbox CSS En esta sección, aprenderá más sobre Flexbox.
- Página anterior inline-block CSS
- Página siguiente Combinador CSS