Frecuentemente existe la necesidad de centrar cierta parte de nuestro contenido y en este tutorial te mostramos como hacerlo usando varios métodos CSS:
Método 1: Usando flex
.
El primer método para centrar contenido en CSS es utilizando la propiedad display: flex
. Esta propiedad permite crear un contenedor flexible que puede alinear y distribuir el espacio entre los elementos hijos. Para centrar tanto vertical como horizontalmente un elemento, podemos usar las propiedades justify-content: center
y align-items: center
.
Ejemplo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.contenedor {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.centrado {
background-color: lightblue;
padding: 20px;
}
</style>
<title>Centrar contenido con CSS</title>
</head>
<body>
<div class="contenedor">
<div class="centrado">
Contenido centrado
</div>
</div>
</body>
</html>
Método 2: Usando grid
.
Otro método para centrar contenido en CSS es usando la propiedad display: grid
. El sistema de grid nos permite crear diseños complejos dividiendo el contenedor en filas y columnas. Para centrar un elemento tanto vertical como horizontalmente, podemos usar las propiedades place-items: center
y place-content: center
.
Ejemplo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.contenedor {
display: grid;
place-items: center;
place-content: center;
height: 100vh;
}
.centrado {
background-color: lightblue;
padding: 20px;
}
</style>
<title>Centrar contenido con CSS</title>
</head>
<body>
<div class="contenedor">
<div class="centrado">
Contenido centrado
</div>
</div>
</body>
</html>
Método 3. Usando Bootstrap 5.
Bootstrap 5 es un popular framework CSS que nos permite crear diseños responsivos de forma sencilla. Para centrar contenido en Bootstrap 5, podemos utilizar las clases d-flex
, justify-content-center
, y align-items-center
.
Ejemplo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="bootstrap.min.css">
<title>Centrar contenido con Bootstrap 5</title>
</head>
<body>
<div class="contenedor d-flex justify-content-center align-items-center" style="height: 100vh;">
<div class="centrado" style="background-color: lightblue; padding: 20px;">
Contenido centrado
</div>
</div>
</body>
</html>
Método 4: Usando margin: auto
Vamos a nuestro código HTML y definimos lo que ira centrado de la siguiente forma:
<div id=“contenedor”>
<p>Aquí puede ir cualquier tipo de contenido, imágenes, texto y lo que deseemos</p>
</div>
Dentro de nuestro hoja de estilo o apartado CSS definimos la clase “contenedor” de la siguiente forma
<style type="text/css">
body{text-align:center;}
#contenedor{margin: 0px auto;}
</style>
La propiedad auto
en el contenedor es quien realiza la labor de centrar, pero en IE 6.0 y anteriores no reconoce esta propiedad por lo que hacemos un pequeño hack y en el body definimos un texto alineado al centro, que termina centrando todo el contenido de nuestro contenedor.
Ojala que les sirva 🙂
marco junio 20, 2009 a las 6:57 pm
quiero centrar contenidos y no pasa nada yo siempre centraba con este codigo:
texto o lo que fuese
mi blog es de wordpress.
gracias!
ResponderLorena junio 21, 2009 a las 5:24 am
Hola!, Porfavor me pongo en contacto con vosotros porque siempre uso vuestras plantillas pero ahora desde hacce unos meses no me deja descargar ninguna!, me sale un error que tengo que actualizar la pagina o no se que, nunca he tenido problemas y ahora no se que pasa. concretamente la que quiero descargarme ahora es Sweet-Girl. Porfavor poneros en contacto conmigo aver como la puedo conseguir. muchas gracias, y un saludo.
ResponderLorena agosto 5, 2009 a las 5:38 am
gracias por pasar de mi y no contestarme… ya lo he solucionado por otro lado!, soys muy amables.
ResponderFrancisco agosto 5, 2009 a las 5:47 pm
@Lorena, puede ser algo difícil estar pendientes en post con 2 o más años.
Respondermanuel diciembre 23, 2009 a las 11:28 am
Llevava mucho rato buscando una solución para poder centrar el contenido de los div’s de mi página a través de CSS y porfin lo he logrado! buenisimo el aporte, muchas gracias!! os lo habeis currado! Asi da gusto aprender del Web!+
ResponderUn saludo
Francisco diciembre 24, 2009 a las 5:20 am
Que bueno te sirviera Manuel 🙂
ResponderKnkmna marzo 21, 2011 a las 11:40 pm
Hola Francisco. Espero que todo ande bien. Te escribo para preguntarte si es posible que me ayudes a alinear un nuevo blog que estoy creando con base blogger.
Mi problema consiste en que tengo conocimientos muy básicos de html y hojas de estilo CSS (Me defiendo bastante bien);
No logro alinear el contenido completo de mi blog sin desproporcionar lo que he logrado hasta ahora hacia la izquierda. Sería como moverlo todo hacia la izquierda respetando el contenido.
¿Podrías ayudarme en eso?
ResponderGracias de antemano.
Rodolfo enero 11, 2014 a las 2:45 am
Muchas gracias
ResponderDr. Esnetu enero 28, 2014 a las 4:26 am
Muchas gracias señor!!
ResponderMiguel abril 17, 2014 a las 6:46 am
Perfecto!!
ResponderGracias….eres un Maquina!!
Alan junio 2, 2014 a las 6:36 pm
Gracias amigo
Responder