685 967 885
antgarprats@gmail.com
Antonio García Prats

Centrado de elementos en un DIV

En el proceso de diseño de una página web, nos surge en muchas ocasiones la necesidad de centrar elementos horizontal y verticalmente en un div. Esto es posible realizarlo de una forma bastante sencilla con grid o flex. Pero, mi propósito en este artículo es mostraros el código necesario en CSS para hacerlo directamente.

Partimos del div en el que queremos centrar un texto. El código HTML se parecería bastante a esto:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Centrar Div</title>

    <link rel="stylesheet" href="style.css">

</head>
<body>
    
    <div class="container">
        <div class="centered-element">
            <p>Este es el texto que debo centrar en el DIV</p>
        </div>
    </div>

</body>
</html>

No tiene nada de particular estas líneas. DIVs anidados con dos clases que le darán formato y que se escribe en el fichero CSS inicialmente de la siguiente forma:

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  .container {
    position: relative;
    height: 400px;
    border: 2px solid #006100;
    margin: 100px 50px;
  }
  
  .centered-element {
    margin: 0;
    position: absolute;
    transform: translateY(-50%);
  }

Ahora nuestro objetivo será modificar el CSS para conseguir centrar horizontalmente y verticalmente el texto que tenemos incluido en el DIV.

Tan sólo tenemos que incluir las siguientes lineas en la clase centered-element:

.centered-element {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

Como podéis ver, es muy fácil conseguir el efecto que perseguimos con solo unas mínimas modificaciones. Decir que exactamente lo mismo se puede hacer con una imagen.

Como siempre, tenéis a vuestra disposición la sección de comentarios de este blog para realizar todas las sugerencias de código que deseéis.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.