EniunEniunEniunEniun
  • Inicio
  • Servicios
    • Desarrollo Web
    • Diseño Web
    • Marketing Digital
    • Social Media
    • Experiencia de usuario
  • Tutoriales
  • Blog
✕
            Sin resultados Ver todos los resultados

            Centrar horizontal y verticalmente en CSS un elemento

            centrar horizontal verticalmente CSS

            centrar horizontal verticalmente CSS

            Existen diversas formas de centrar horizontal y verticalmente un elemento en un contenedor mediante CSS. Cada método es adecuado para una situación concreta y, por ello, es necesario saber cómo funcionan todas las propiedades para reconocer fácilmente qué técnica utilizar en cada caso.

            Contenidos del artículo

            • 1. Centrar vertical y horizontalmente elementos con flexbox
            • 2. Centrar vertical y horizontalmente un texto con line-height y text-align
            • 3. Centrar vertical y horizontalmente una imagen o contenedor con propiedad transform y posición absoluta
            • 4. Centrar un elemento vertical y horizontalmente utilizando posición absoluta y margen negativo
            • 5. Centrar un elemento con grid
            • 6. Alinear un texto verticalmente con una imagen con vertical-align
            • 7. Alinear verticalmente un texto en un div con vertical-align
            • 8. Alinear horizontalmente una imagen con text-align
            • 9. Alinear verticalmente un checkbox con un label

            A continuación se describe cómo se puede realizar el centrado de algunos elementos mediante cajas flexibles, con la propiedad «transform«, con las propiedades «line-height» y «text-align» y con la propiedad vertical-align.

            1. Centrar vertical y horizontalmente elementos con flexbox

            Este es el método más útil porque funciona para todos los elementos que se posicionen dentro de un contenedor. Por tanto, es válido para imágenes, textos, vídeos, etc. Sin embargo, para comprender cómo funciona es necesario tener conocimientos sobre el modelo de caja flexible o flexbox.

            Para utilizar las propiedades de flexbox es necesario crear un contenedor y declararle la propiedad «display: flex«. Para centrar horizontal y verticalmente el contenido utilizaremos las propiedades «justify-content: center» y «align-items:center«.

            div{
                display:flex;
                justify-content: center;
                align-items: center;
            }

            Ejemplo

            0

            2. Centrar vertical y horizontalmente un texto con line-height y text-align

            Mediante las propiedades line-height y text-align podemos alinear únicamente textos. Así que este método sólo va a ser válido para el centrado de párrafos, encabezados, etc.

            div {
                text-align: center;
            }
            div h1 {
                line-height: 200px;
            }

            Ejemplo

            dark

            3. Centrar vertical y horizontalmente una imagen o contenedor con propiedad transform y posición absoluta

            Mediante este método se puede alinear tanto vertical como horizontalmente imágenes y contenedores. No es válido para la alineación de textos ya que no tiene en cuenta el tamaño de la letra. El centrado de elementos se realiza mediante posición absoluta y la propiedad transform.

            div {
                position: relative;
            }
            div img{
                position: absolute;
                left: 50%;
                top: 50%;
                transform: translate(-50%, -50%);
            }

            Ejemplo

            dark

            4. Centrar un elemento vertical y horizontalmente utilizando posición absoluta y margen negativo

            Centrado absoluto con posición absoluta y margen negativo:

            .container {
              position: relative;
            }
            
            .centered-element {
              position: absolute;
              top: 50%;
              left: 50%;
              margin-top: -50px; /* Ajusta el valor según la mitad de la altura del elemento */
              margin-left: -50px; /* Ajusta el valor según la mitad del ancho del elemento */
            }

            Ejemplo

            0

            5. Centrar un elemento con grid

            Para centrar un elemento con grid se debe utilizar display: grid y place-items: center en el contenedor. De esta forma, el elemento se centrará tanto vertical como horizontalmente dentro del contenedor.

            .container {
              display: grid;
              place-items: center;
            }

            En el siguiente ejemplo, el contenedor tiene una altura fija de 300px y un borde para que puedas visualizarlo. El elemento que deseas centrar está dentro del contenedor y tiene un fondo gris claro y un relleno de 20px.

            Ejemplo

            0

            6. Alinear un texto verticalmente con una imagen con vertical-align

            Con esta técnica podemos alinear un texto a una imagen de forma vertical. Esta propiedad admite los valores top, middle y bottom, entre otros valores.

            img{
                vertical-align: middle;
            }

            Ejemplo

            dark

            7. Alinear verticalmente un texto en un div con vertical-align

            Vamos a alinear un texto en un div con la propiedad vertical-align. Hay que tener en cuenta que esta propiedad no se comporta de la misma manera con todos los elementos. En este caso, haremos uso de las reglas de estilo «display: inline-table» y «display: table: cell».

            div{
               height: 200px; width: 200px;
               background-color: #EEE;
               display: inline-table;
             }
             p{ 
               display: table-cell; 
               vertical-align: middle;
             }

            Ejemplo

            dark

            8. Alinear horizontalmente una imagen con text-align

            Las imágenes se pueden alinear a la izquierda, derecha o centro insertándolas dentro de un div e indicando la propiedad text-align correspondiente.

            .a{text-align: left;}
            .b{text-align: center;}
            .c{text-align: right;}

            Ejemplo

            dark

            9. Alinear verticalmente un checkbox con un label

            Cuando el tamaño del texto no coincide con el tamaño del checkbox, estos dos elementos no quedan alineados verticalmente. Para conseguir esta alineación utilizaremos «vertical-align:middle» y definiremos el tamaño del texto a las dos etiquetas, tal y como se muestra a continuación.

            label, input{
                font-size: 28px;
                vertical-align: middle;
            }

            Ejemplo

            dark

            Mejores libros en español para aprender usabilidad

            Navegación de entradas

            ← CSS Grid para maquetar contenido con rejillas o cuadrículas
            Preprocesadores CSS: Less y Sass →

            Tutorial CSS Nivel Avanzado

            • 1. Tipos de diseño web
            • 2. Medios en CSS
            • 3. Media queries CSS
            • 4. Flexbox, modelo de caja flexible
            • 5. CSS Grid para maquetar contenido con rejillas
            • 6. Centrar horizontal y verticalmente un elemento
            • 7. Preprocesadores Less y Sass
            • 8. Prácticas CSS
            • 9. Chuleta CSS Nivel avanzado

            Tutoriales

            • Diseño de Interfaces
            • Usabilidad web
            • Accesibilidad web
            • HTML
            • XML
            • CSS Nivel Inicial
            • CSS Nivel Intermedio
            • CSS Nivel Avanzado
            • Bootstrap 5
            • Ver más tutoriales

            ENLACES

            • Nosotros
            • Contacto
            • Mapa del sitio
            • Blog

            TUTORIALES

            • Contenidos por bloques
            • Diseño de Interfaces Web
            • Lenguajes de Marcas y Sistemas de Gestión de Información

            SÍGUENOS

                 

            NUESTRA MISIÓN

            Queremos que consigas tus objetivos y que tu proyecto llegue a todo el mundo de la manera más óptima. Tu éxito es nuestro deseo y pondremos en práctica toda nuestra experiencia para que lo consigas.

            Únete y recibe gratis contenido exclusivo



              © 2023 Eniun Diseño Web y Marketing Digital
              Política de privacidad y cookies
                          Sin resultados Ver todos los resultados