Autor Tema: HTML y CSS. vertical-align, alineacion vertical en cajas. Ejercicio CU01043D  (Leído 2229 veces)

Chompy129

  • Intermedio
  • ***
  • Mensajes: 130
  • Programar es divertido. :)
    • Ver Perfil
CSS vertical-align middle ¿no funciona? Centrar verticalmente una imagen, texto, div, etc. Ejemplos (CU01043D)

Aquí esta el código y después estarán las preguntas y respuestas:

Código a analizar
Código: [Seleccionar]
<html>
<head>
<title>Portal web - aprenderaprogramar.com</title> <meta charset="utf-8">
<style type="text/css">
*{font-family: arial; }
div { width: 360px; height: 210px; margin: 10px; padding:5px 20px;
border-style: solid; border-color: red; border-width: thin;
background-color: yellow; text-align: center; float: left;}
#vcent { display: table;  }
#vcent span { display: table-cell; vertical-align:middle;}
</style>
</head>
<body>
<div><span>Línea de texto contenedor 1</span></div>
<div id="vcent"><span>Línea de texto contenedor 2</span></div>
</body>
</html>

Preguntas y respuestas

1) ¿Cuántas cajas contenedoras hay? ¿Están identificadas por id o por class o por ninguno de ellos?
   R= dos cajas contenedoras. La primera no tiene identificación pero la segunda lleva una id.

2) Visualiza el resultado en al menos dos navegadores distintos. ¿Qué diferencias observas entre ambos? ¿A qué crees que se deben?
   R= (Visualizado con Google Chrome e Internet Explorer) No hay diferencias. La razón es  que ambos aceptan los atributos mostrados en el código. (No tengo mas navegadores  :P).

3) ¿Por qué el texto <<Línea de texto contenedor 2>> se muestra centrado verticalmente?
   R= Porque es interpretado como si fuese una celda de caja haciendo uso de display y se le asigno una alineación vertical centrada.

4) Modifica el código para que el texto <<Línea de texto contenedor 1>> se muestre centrado verticalmente.
   R= Aquí tratare de hacerlo de otra forma. El código quedaría así:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Portal web - aprenderaprogramar.com</title> <meta charset="utf-8">
<style type="text/css">
*{font-family: arial; }
div { width: 360px; height: 210px; margin: 10px; padding:5px 20px;
border-style: solid; border-color: red; border-width: thin;
background-color: yellow; text-align: center; float: left; }
#vcent { display: table;  }
#vcent span { display: table-cell; vertical-align:middle;}
</style>
</head>
<body>
<div style="padding-top: 105px; height: 110px"><span>Línea de texto contenedor 1</span></div>
<div id="vcent"><span>Línea de texto contenedor 2</span></div>
</body>
</html>

La diferencia esta en que le he aplicado estilos de linea al primer div. aumentando el relleno y alterando su altura.

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:HTML y CSS. vertical-align, alineacion vertical en cajas. Ejercicio CU01043D
« Respuesta #1 en: 21 de Septiembre 2016, 01:18 »
Hola Chompy129.

1) bien.

2) bien.

3) bien, porque la caja que contiene el texto tiene establecida la propiedad "display:table-cell" y a su vez el elemento padre de esta tiene establecida la propiedad "display:table".

4) bien, como bien especifica el tema, hay muchas formas de centrar verticalmente, y esta es una de ellas.

Saludos. ;D

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".