Box Model ejercicio

Border: sub-propiedades y shorthand

El border es la línea que rodea el padding. Para que sea visible, las tres sub-propiedades deben estar activas: grosor (border-width), estilo (border-style) y color (border-color).


El dato crítico: border-style por defecto es none

Sin declarar un estilo, el border no aparece aunque declares grosor y color:

/* ❌ El borde NO aparece: border-style sigue siendo none */
.box {
  border-width: 2px;
  border-color: teal;
}

/* ✅ El borde SÍ aparece: los tres atributos declarados */
.box {
  border-width: 2px;
  border-style: solid;
  border-color: teal;
}

El shorthand border

La forma más común y concisa declara los tres valores en un solo shorthand:

/* width | style | color */
.box {
  border: 2px solid teal;
}
/* equivale a border-width: 2px; border-style: solid; border-color: teal; */
/* y aplica a los CUATRO lados */

El orden width | style | color es el más legible, aunque el shorthand los acepta en cualquier orden.


Bordes por lado

Podés controlar cada lado por separado con border-top, border-right, border-bottom, border-left — o sus sub-propiedades individuales:

.box {
  border: 3px solid teal;          /* los 4 lados */
  border-bottom: 2px dashed gray;  /* sobreescribe solo el bottom */
}

/* o las sub-sub-propiedades */
.box {
  border-top-width: 2px;
  border-top-style: solid;
  border-top-color: teal;
}

Estilos comunes de border-style

ValorEfecto
solidLínea sólida continua — la más usada
dashedLínea de guiones
dottedLínea de puntos
noneSin borde (valor por defecto)

Lo que no podés leer: el shorthand border via getComputedStyle

El validador del sandbox usa getComputedStyle para verificar tu CSS. El shorthand border no tiene valor computado como propiedad compuesta — el motor debe leer las sub-propiedades por separado (border-top-style, border-top-color, etc.). Por eso los checks de esta lección validan las sub-propiedades, no el shorthand. Cuando escribís border: 3px solid teal, el check lee border-top-style"solid" y border-top-color → canonizado a rgb(0, 128, 128).

Un detalle del motor: el grosor (border-top-width) no se puede validar de forma fiable, porque el navegador computa el ancho de un borde como 0px cuando no hay border-style activo. Por eso los checks de esta lección comprueban estilo y color (que ya prueban que el borde existe y es el correcto), no el grosor en px.

Nota sobre colores: el motor del sandbox canoniza los nombres de color a su valor rgb() internamente, así que usar equals: "teal" funciona igual que usar el rgb explícito.


Tu turno: agregá el borde sólido completo y el border-bottom diferente. Si el borde no aparece, revisá que hayas declarado border-style (o el shorthand border que lo incluye).

Bordes sólido y punteado en .box

El borde rodea el padding de la caja. Para que sea visible necesitás tres cosas: grosor (`border-width`), estilo (`border-style`) y color (`border-color`). Sin `border-style`, el borde es invisible aunque declares las otras dos. 1. Dale a `.box` un borde sólido de 3px en color `teal` usando el shorthand `border`. 2. Después, agregá un borde inferior diferente: `2px dashed #64748b` usando `border-bottom`. Fijate: `border` aplica a los cuatro lados; `border-bottom` sobreescribe solo el de abajo.

Preview

En la referencia