Saltar al contenido principal
Codigo Heroe
Tarea anterior
Modelo de cajas13/20
A la lista de tareas
  1. 1. Cajas de bloque
  2. 2. Cajas en línea
  3. 3. Ancho y alto
  4. 4. Relleno: la propiedad padding
  5. 5. Márgenes: la propiedad margin
  6. 6. Bordes
  7. 7. El modelo de cajas estándar
  8. 8. Colapso de márgenes
  9. 9. Márgenes que salen del contenedor
  10. 10. Cómo centrar un elemento
  11. 11. El modelo de cajas y las cajas en línea
  12. 12. Ancho del 100% y ancho predeterminado
  13. 13. Limitaciones del modelo de cajas estándar
  14. 14. Cambiar el modelo de cajas: box-sizing
  15. 15. Cambiar el tipo de caja: display
  16. 16. La propiedad display: inline-block
  17. 17. La propiedad display: table
  18. 18. La propiedad display: table-row
  19. 19. La propiedad display: table-cell
  20. 20. La propiedad display: none
Siguiente tarea
  • Matriz de skills
  • Cursos
  • Registro
  • Iniciar sesión

Loading…
En unos segundos, estará listo.

  • Teoría
  • Teoría

Limitaciones del modelo de cajas estándar

En el ejercicio anterior vimos cómo funciona width: 100%. Ahora vamos a ver un caso frecuente al crear una interfaz.

Imagina un formulario cuyos campos deben ocupar todo el ancho del contenedor y tener un relleno fijo para que el texto no quede pegado a los bordes. El formulario puede tener distintos anchos. Para sus campos podríamos usar estos estilos:

input[type="text"] {
  width: 100%;
  padding: 0 10px;
}

El ancho del 100% hará que los campos tengan el mismo ancho que el bloque padre, y padding añadirá espacio interior. Pero, como ya habrás adivinado, ese relleno hará que el campo sea más ancho que su contenedor. Y ahí surge el problema.

Vamos a comprobarlo en la práctica.

  • index.html
  • style.css
HTML
<!DOCTYPE html> <html lang="es"> <head> <meta charset="utf-8"> <title>Limitaciones del modelo de cajas estándar</title> <link rel="stylesheet" href="setting.css"> <link rel="stylesheet" href="style.css"> </head> <body> <form action="https://codigoheroe.com/echo" method="post"> <div class="block" style="width: 200px;"> <input type="text" value="Apellido"> </div> <div class="block" style="width: 250px;"> <input type="text" value="Nombre"> </div> <div class="block" style="width: 300px;"> <input type="text" value="Segundo nombre"> </div> </form> </body> </html>
CSS
body { padding: 20px; } .block { margin-bottom: 20px; padding: 20px; } input[type="text"] { font-size: 16px; color: #666666; border: 2px solid black; }

El código ha cambiado, haz clic en "Actualizar" o activa la ejecución automática.

Ha ido a otra página

Haga clic dentro del mininavegador para poner el foco en esta ventana.

100%
ObjetivosRealizado
0
    1. Asigna un ancho del 100% a los campos del formulario.
    2. Asígnales un relleno vertical de 10px y horizontal de 20px.
    Codigo Heroe

    © 2023-2026, codigoheroe.com