W3docs

Propiedades de CSS3

Referencia agrupada de las principales propiedades CSS3, organizada por módulo (Animación, Flexbox, Grid, Transforms y más) con enlaces a los capítulos completos.

CSS3 es la evolución más reciente del lenguaje de Hojas de Estilo en Cascada. En lugar de ser una versión monolítica única, CSS3 está dividido en módulos independientes — Animaciones, Flexbox, CSS Grid, Fondos y Bordes, Transforms, Filtros y más — que los navegadores pueden implementar e incorporar por separado. Cada módulo añadió nuevas propiedades sobre el conjunto original de CSS2, permitiendo esquinas redondeadas, degradados, sombras, animaciones, diseños flexibles y basados en cuadrícula, y filtros visuales sin necesidad de imágenes ni JavaScript.

Esta página es un índice de referencia rápida de las propiedades introducidas o extendidas significativamente en CSS3, organizadas por el módulo al que pertenecen. Cada fila enlaza a un capítulo completo con sintaxis, valores y ejemplos en vivo.

Si eres nuevo en el lenguaje, comienza con los capítulos de Introducción a CSS y Sintaxis CSS antes de profundizar en propiedades individuales.

Cómo Usar Esta Referencia

  • Busca una propiedad por grupo. Los encabezados a continuación reflejan los módulos de CSS3, así que si necesitas una propiedad de diseño busca en Diseño de Caja Flexible o CSS Grid; para movimiento busca en Animación o Transiciones; para efectos visuales busca en Efectos de Filtro o Propiedades Transform.
  • Haz clic para obtener más detalles. Cada propiedad enlaza a su propio capítulo con la lista completa de valores, valores predeterminados y demos interactivos.
  • Ten en cuenta la compatibilidad con navegadores. Los módulos de CSS3 alcanzaron soporte estable sin prefijos en momentos diferentes. La mayoría de las propiedades a continuación son seguras en todos los navegadores modernos, pero verifica siempre el soporte para adiciones más recientes (por ejemplo, ciertas propiedades column-*) antes de depender de ellas en producción.

Nota sobre los Prefijos de Proveedor

Mientras los módulos de CSS3 eran aún experimentales, los navegadores incorporaban propiedades con prefijos de proveedor como -webkit-, -moz-, -ms- y -o-. Es posible que aún los encuentres en bases de código antiguas:

/* Older code — prefixes were needed during the experimental phase */
.box {
  -webkit-transform: rotate(15deg);
  -moz-transform:    rotate(15deg);
  transform:         rotate(15deg); /* Always list the unprefixed property last */
}

Para las propiedades listadas a continuación casi nunca necesitas prefijos hoy en día — escribe el nombre estándar sin prefijo. Usa prefijos solo cuando debas dar soporte a un navegador antiguo, y siempre lista la propiedad estándar al final para que prevalezca.

CSS3 vs. CSS2 — ¿Qué Cambió?

CSS2 cubría el modelo de caja fundamental, colores, fuentes y posicionamiento. CSS3 construyó sobre esa base con las siguientes capacidades que antes estaban ausentes o muy limitadas:

  • Esquinas redondeadas e imágenes de bordeborder-radius, border-image
  • Sombrasbox-shadow, text-shadow
  • Degradados y múltiples fondosbackground-size, background-clip
  • Diseños flexibles y basados en cuadrícula — Flexbox (flex, align-items, …), CSS Grid (grid, grid-template-columns, …)
  • Transforms 2D y 3Dtransform, perspective
  • Cambios de estado suavestransition
  • Animaciones por fotogramas claveanimation, @keyframes
  • Texto en múltiples columnascolumn-count, column-gap
  • Filtros visualesfilter (desenfoque, brillo, contraste, …)
  • Transparencia personalizadaopacity

Lista de Propiedades CSS3

Propiedades de Animación

Las animaciones por fotogramas clave permiten describir cómo un elemento transiciona a través de una serie de instantáneas de estilos. La regla @keyframes define las instantáneas; las propiedades animation-* las aplican y controlan en un elemento.

/* Minimal animation example */
@keyframes slide-in {
  from { transform: translateX(-100%); opacity: 0; }
  to   { transform: translateX(0);     opacity: 1; }
}

.banner {
  animation: slide-in 0.4s ease-out both;
}
PropiedadDescripción
animationAtajo que establece todas las sub-propiedades de animación en una sola declaración.
animation-delayEspecifica cuándo comienza una animación (positivo = retraso; negativo = inicio a mitad de ciclo).
animation-directionControla la dirección de reproducción: normal, reverse, alternate o alternate-reverse.
animation-durationDefine cuánto tiempo dura un ciclo de animación (p. ej., 0.4s, 500ms).
animation-fill-modeEstablece el estilo del elemento antes de que comience la animación y/o después de que termine (forwards, backwards, both).
animation-iteration-countCuántas veces se reproduce la animación — un número o infinite.
animation-nameNombre de la regla @keyframes a aplicar.
animation-play-statePausa (paused) o reanuda (running) una animación — útil para botones de alternar.
animation-timing-functionCurva de aceleración para cada ciclo: ease, linear, ease-in-out, cubic-bezier(…), steps(…).
@keyframes (at-rule)Define las instantáneas de estilo intermedias (fotogramas clave) por las que pasa una animación.

Propiedades de Fondo

CSS3 extendió los fondos para admitir dimensionamiento, regiones de recorte e imágenes en capas múltiples sobre un único elemento.

/* Responsive hero with background-size */
.hero {
  background-image: url('/img/hero.jpg');
  background-size: cover;       /* fills the box; crop as needed */
  background-position: center;
  background-clip: border-box;  /* default; image reaches border edge */
}
PropiedadDescripción
background-clipControla hasta dónde se extiende el fondo — border-box, padding-box o content-box.
background-originEstablece el origen para background-positionborder-box, padding-box o content-box.
background-sizeEstablece el tamaño de la imagen de fondo: una longitud, auto, cover (llena, puede recortar) o contain (encaja completamente).

Propiedades de Borde

CSS3 añadió esquinas redondeadas y bordes basados en imágenes — características que antes requerían trucos con imágenes.

/* Rounded button */
.btn {
  border-radius: 6px;
  border: 2px solid steelblue;
}

/* Pill shape */
.badge {
  border-radius: 999px;
}
PropiedadDescripción
border-bottom-left-radiusRedondea la esquina inferior izquierda. Acepta un radio (círculo) o dos (elipse).
border-bottom-right-radiusRedondea la esquina inferior derecha.
border-imageUsa una imagen como borde, dividida en nueve regiones.
border-image-outsetCuánto se extiende la imagen de borde más allá del cuadro de borde.
border-image-repeatSi los bordes de la imagen de borde se stretched, repeated o rounded.
border-image-sliceDivide la imagen fuente en nueve secciones (cuatro esquinas, cuatro bordes, centro).
border-image-sourceLa URL de imagen o degradado usado como borde.
border-image-widthAncho de las secciones de la imagen de borde (puede diferir del border-width de CSS).
border-radiusAtajo para los cuatro radios de esquina.
border-top-left-radiusRedondea la esquina superior izquierda.
border-top-right-radiusRedondea la esquina superior derecha.

Color y Transparencia

PropiedadDescripción
opacityEstablece la transparencia de todo un elemento (y sus hijos) de 0 (invisible) a 1 (completamente opaco). Para transparencia por canal usa rgba() o hsla() en los valores color / background-color.

Efectos de Filtro

La propiedad filter aplica efectos gráficos (desenfoque, brillo, contraste, sombra proyectada, etc.) directamente en CSS — sin necesidad de editor de imágenes.

.card:hover img {
  filter: brightness(1.1) saturate(1.2);
  transition: filter 0.2s ease;
}

.modal-backdrop {
  filter: blur(4px);
}
PropiedadDescripción
filterAplica una o más funciones de filtro: blur(), brightness(), contrast(), drop-shadow(), grayscale(), hue-rotate(), invert(), opacity(), saturate(), sepia() y url() (filtro SVG).

Diseño de Caja Flexible

Flexbox es un modelo de diseño unidimensional — distribuye elementos a lo largo de un solo eje (fila o columna) y gestiona automáticamente la alineación, el espaciado y el ajuste de línea.

/* Classic centered card */
.card-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  align-items: stretch;
}

.card {
  flex: 1 1 300px; /* grow | shrink | basis */
}

Para un recorrido completo consulta La Guía Definitiva de Flexbox.

PropiedadDescripción
align-contentAlinea las líneas de un contenedor flex en el eje transversal cuando hay espacio extra (flex-start, flex-end, center, space-between, space-around, stretch).
align-itemsAlineación transversal predeterminada para todos los elementos flex de un contenedor.
align-selfAnula align-items para un único elemento flex.
flexAtajo para flex-grow, flex-shrink y flex-basis.
flex-basisEl tamaño inicial de un elemento flex antes de distribuir el espacio libre.
flex-directionDirección del eje principal: row, row-reverse, column o column-reverse.
flex-flowAtajo para flex-direction y flex-wrap.
flex-growCuánto crece un elemento flex en relación a sus hermanos cuando hay espacio extra.
flex-shrinkCuánto se encoge un elemento flex en relación a sus hermanos cuando el espacio es escaso.
flex-wrapSi los elementos flex se ajustan en múltiples líneas (nowrap, wrap, wrap-reverse).
justify-contentAlinea los elementos en el eje principal (flex-start, flex-end, center, space-between, space-around, space-evenly).
justify-itemsAlineación en el eje en línea predeterminada para todos los elementos de cuadrícula (también usado en grid).
orderCambia el orden visual de un elemento flex o de cuadrícula sin alterar el orden del DOM.

Propiedades de Fuente

PropiedadDescripción
font-size-adjustConserva el tamaño de texto aparente cuando la fuente preferida no está disponible, ajustando el tamaño de la fuente alternativa para que coincida con la proporción x-height.
font-stretchSelecciona una variante condensada o expandida de una familia tipográfica (p. ej., condensed, expanded, ultra-condensed).

CSS Grid

CSS Grid es un sistema de diseño bidimensional — coloca elementos en filas y columnas simultáneamente, lo que lo hace ideal para diseños de nivel de página y cuadrículas de componentes complejos.

/* Three-column responsive grid */
.layout {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
}

/* Named template areas */
.page {
  display: grid;
  grid-template-areas:
    "header header"
    "sidebar main"
    "footer footer";
  grid-template-columns: 200px 1fr;
  grid-template-rows: auto 1fr auto;
}
PropiedadDescripción
gridAtajo para todas las propiedades del contenedor de cuadrícula.
grid-areaAsigna un elemento de cuadrícula a un área nombrada o especifica su posición de fila/columna como atajo.
grid-auto-columnsEstablece el tamaño de columna para pistas creadas implícitamente (cuando los elementos desbordan la cuadrícula explícita).
grid-auto-flowControla cómo se ubican automáticamente los elementos en la cuadrícula (row, column, dense).
grid-auto-rowsEstablece el tamaño de fila para pistas creadas implícitamente.
grid-columnAtajo para grid-column-start y grid-column-end.
grid-column-endDónde termina un elemento en el eje de columna (número de línea, span o nombre).
grid-column-gapEspacio entre columnas (reemplazado por column-gap en CSS moderno).
grid-column-startDónde comienza un elemento en el eje de columna.
grid-gapAtajo para row-gap y column-gap (nombre antiguo; prefiere gap).
grid-rowAtajo para grid-row-start y grid-row-end.
grid-row-endDónde termina un elemento en el eje de fila.
grid-row-gapEspacio entre filas (reemplazado por row-gap en CSS moderno).
grid-row-startDónde comienza un elemento en el eje de fila.
grid-templateAtajo para grid-template-rows, grid-template-columns y grid-template-areas.
grid-template-areasDefine áreas de plantilla nombradas usando una sintaxis de arte ASCII basada en cadenas.
grid-template-columnsDefine el número y tamaño de columnas explícitas (longitudes, porcentajes, unidades fr, repeat(), minmax()).
grid-template-rowsDefine el número y tamaño de filas explícitas.

Propiedades de Diseño en Múltiples Columnas

El diseño en múltiples columnas distribuye el contenido automáticamente en un número o ancho de columnas establecido — similar al diseño de un periódico.

/* Two-column article body */
.article-body {
  columns: 2 400px;   /* shorthand: column-count column-width */
  column-gap: 2rem;
  column-rule: 1px solid #ddd;
}

h2 {
  column-span: all; /* heading breaks out of columns */
}
PropiedadDescripción
column-countNúmero de columnas en las que se divide el contenido.
column-fillSi las columnas están equilibradas (balance) o se llenan secuencialmente (auto).
column-gapEspacio entre columnas (también usado en Flexbox y CSS Grid).
column-ruleAtajo para la línea divisoria entre columnas (estilo, ancho, color).
column-rule-colorColor de la línea divisoria entre columnas.
column-rule-styleEstilo de línea de la regla (solid, dashed, dotted, etc.).
column-rule-widthGrosor de la línea divisoria entre columnas.
column-spanSi un elemento ocupa una columna (none) o todas las columnas (all).
column-widthAncho ideal de columna; el navegador crea tantas columnas como quepan.
columnsAtajo para column-count y column-width.

Propiedades de Contorno

PropiedadDescripción
outline-offsetAleja el contorno del borde del elemento (positivo = hacia afuera; negativo = hacia adentro). A diferencia de los márgenes, no afecta al diseño.

Propiedades de Texto

CSS3 añadió control sobre el desbordamiento de texto, el ajuste de línea, las sombras y el estilo detallado de la decoración.

/* Truncate long titles with ellipsis */
.card-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Subtle heading shadow */
h1 {
  text-shadow: 1px 2px 4px rgba(0, 0, 0, 0.25);
}
PropiedadDescripción
tab-sizeAncho de un carácter de tabulación en bloques <pre> y de código (número de espacios o una longitud).
text-align-lastAlineación de la última (o única) línea en un bloque de texto justificado.
text-decoration-colorColor del subrayado, sobrerayado o tachado.
text-decoration-lineQué líneas de decoración se dibujan: underline, overline, line-through o none.
text-decoration-styleEstilo de la línea de decoración: solid, double, dotted, dashed o wavy.
text-justifyMétodo de justificación usado cuando text-align: justify está activo (auto, inter-word, inter-character).
text-overflowCómo se indica el texto en línea desbordado: clip (recortar) o ellipsis (mostrar ). Requiere overflow: hidden y white-space: nowrap.
text-shadowAñade una o más sombras al texto. Sintaxis: offset-x offset-y blur-radius color.
word-breakDónde se producen los saltos de línea dentro de las palabras: normal, break-all o keep-all.
word-wrapSi el navegador puede dividir una palabra no divisible para evitar el desbordamiento (normal o break-word). También estandarizado como overflow-wrap.

Propiedades Transform

Los transforms mueven, rotan, escalan o sesgan elementos en el espacio 2D o 3D sin afectar al flujo del documento.

/* 2D card flip on hover */
.card {
  perspective: 600px;
  transform-style: preserve-3d;
  transition: transform 0.5s ease;
}

.card:hover {
  transform: rotateY(180deg);
}

.card-back {
  backface-visibility: hidden;
}
PropiedadDescripción
backface-visibilitySi la cara trasera de un elemento con transform 3D es visible cuando está de espaldas (visible o hidden). Esencial para efectos de volteo de tarjeta.
perspectiveDistancia del espectador al plano z=0; valores más bajos = efecto 3D más dramático. Se aplica al padre del elemento transformado.
perspective-originLa posición x/y del punto de fuga para el transform perspective.
transformAplica funciones de transformación 2D o 3D: translate(), rotate(), scale(), skew(), matrix() y sus variantes 3D.
transform-originEl punto alrededor del cual se aplica un transform (predeterminado: 50% 50% — centro del elemento).
transform-styleSi los hijos se renderizan en el espacio 3D (preserve-3d) o se aplanan en el plano del elemento (flat).

Propiedades de Transición

Las transiciones animan los cambios de propiedad de un valor a otro durante una duración especificada cuando cambia una propiedad CSS (p. ej., en :hover).

/* Smooth color + shadow on hover */
.btn {
  background-color: steelblue;
  box-shadow: none;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.btn:hover {
  background-color: dodgerblue;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

Transiciones vs. animaciones: usa transition para cambios basados en estado (hover, focus, active) — son más simples de escribir. Usa animation con @keyframes para movimiento independiente, en bucle o de varios pasos que se ejecuta sin interacción del usuario.

PropiedadDescripción
transitionAtajo para transition-property, transition-duration, transition-timing-function y transition-delay.
transition-delayCuánto tiempo esperar antes de que comience la transición.
transition-durationCuánto dura la transición de principio a fin.
transition-propertyQué propiedad CSS (o all) afecta la transición.
transition-timing-functionLa curva de velocidad de la transición (ease, linear, ease-in, ease-out, ease-in-out, cubic-bezier(…), steps(…)).

Propiedades de Formato Visual

PropiedadDescripción
box-shadowAñade una o más sombras alrededor del cuadro de un elemento. Sintaxis: offset-x offset-y blur spread color. Usa inset para una sombra interior.
box-sizingDetermina si width y height incluyen relleno y borde (border-box) o los excluyen (content-box, el predeterminado de CSS2). Casi todos los proyectos modernos establecen *, *::before, *::after { box-sizing: border-box; }.
overflow-xControla el desbordamiento horizontal: visible, hidden, clip, scroll o auto.
overflow-yControla el desbordamiento vertical: visible, hidden, clip, scroll o auto.
resizeHace que un elemento sea redimensionable por el usuario: both, horizontal, vertical o none. Requiere que overflow sea distinto de visible.

Referencias Relacionadas

Una vez que sepas qué propiedad necesitas, estos capítulos cubren en profundidad las características CSS3 más utilizadas:

Práctica

Práctica
¿Cuáles de las siguientes son propiedades CSS3 válidas?
¿Cuáles de las siguientes son propiedades CSS3 válidas?
Was this page helpful?