Dimensionamiento de cajas
Parte de la sección Estilos con CSS del Journey de HTML de Coddy. Lección 39 de 76.
En CSS, box-sizing es una propiedad que determina cómo se calculan el ancho y la altura totales de un elemento. De forma predeterminada, las propiedades width y height solo incluyen el tamaño del contenido y no tienen en cuenta el relleno, los bordes ni los márgenes. Sin embargo, al usar la propiedad box-sizing, puedes cambiar este comportamiento y hacer que las propiedades width y height incluyan también los tamaños del relleno y del borde.
Esto puede simplificar los cálculos del diseño y evitar problemas de tamaño inesperados.
Esta es la sintaxis básica para usar la propiedad box-sizing:
selector {
box-sizing: value;
}value: El comportamiento de dimensionamiento de caja deseado, que puede ser uno de los siguientes:
content-box: Este es el valor predeterminado. Las propiedadeswidthyheightsolo incluyen el tamaño del contenido. El relleno, los bordes y los márgenes se añaden fuera del ancho y el alto especificados.
border-box: Las propiedadeswidthyheightincluyen los tamaños del contenido, el relleno y el borde. Los márgenes se siguen añadiendo fuera del elemento.
Por ejemplo:
div {
width: 300px;
height: 200px;
padding: 20px;
border: 5px solid black;
box-sizing: content-box; /* Default behavior */
}
.container {
width: 400px;
height: 300px;
padding: 30px;
border: 10px solid red;
box-sizing: border-box;
}En este ejemplo, el elemento <div> tiene un valor de box-sizing de content-box. Esto significa que el ancho renderizado real de <div> será de 300px (contenido) + 40px (relleno izquierdo y derecho) + 10px (borde izquierdo y derecho) = 350px. La altura se calculará de forma similar.
Por otro lado, el elemento con la clase container tiene un valor de box-sizing de border-box. En este caso, el width especificado de 400px incluirá el contenido, el relleno y el borde. El área de contenido real se reducirá para adaptarse al relleno y al borde, lo que dará como resultado un ancho de contenido de 400px - 60px (relleno izquierdo y derecho) - 20px (borde izquierdo y derecho) = 320px. La altura se calculará de forma similar.
Desafío
FácilSe te proporciona un documento HTML con dos divisiones (<div>), cada una con una clase diferente. Tu tarea es utilizar la propiedad box-sizing para controlar cómo se calculan el ancho y la altura de estos elementos. Sigue los pasos que se indican a continuación:
- Escribe una regla CSS que seleccione el elemento
<div>con la clase<strong>content-box-div</strong>. Establece elwidthen300px, elheighten200px, elpaddingen20px, elborderen5px solid bluey elbox-sizingencontent-box. - Escribe una regla CSS que seleccione el elemento
<div>con la clase<strong>border-box-div</strong>. Establece elwidthen300px, elheighten200px, elpaddingen20px, elborderen5px solid redy elbox-sizingenborder-box.
Pruébalo tú mismo
<html>
<head>
<title>Box Sizing</title>
<style>
/* Write CSS rules here */
</style>
</head>
<body>
<div class="content-box-div">This is a div with content-box.</div>
<div class="border-box-div">This is a div with border-box.</div>
</body>
</html>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Estilos con CSS
4Fundamentos del texto
Color del textoFamilia tipográficaTamaño de fuentePeso de la fuenteAlineación del textoDecoración del textoDesafío de repaso n.º 1Desafío de repaso n.º 27Modelo de caja, parte 1
¿Qué es el modelo de caja?RellenoMárgenesBordesAncho y altoDesafío de repaso8Modelo de caja, parte 2
Dimensionamiento de cajasRadio del bordeDesbordamientoSombra de cajaDesafío de repaso3Selectores básicos
Introducción a los selectoresSelector de tipoSelector de claseSelector de IDSelectores de grupoSelector universalDesafío de selección9Flex Box
¿Qué es un Flex Box?Dirección de FlexJustificar el contenidoAlinear elementosEl centro perfectoDesafío de Flex Box12Fundamentos del diseño responsive
¿Qué es el diseño responsive?Etiqueta meta viewportDiseños fluidosUnidades del viewportFundamentos de las media queriesImágenes flexiblesPractica por tu cuenta: Playground de Web