Saltar al contenido principal

Catálogo · Documentación

Ejemplo

Una vista previa en vivo con el código debajo, en un mismo marco y con la anchura que le asignes.

Encaja mejor en: documentación — una página que muestra un ejemplo en vivo con su código

Esta traducción la ha escrito una IA y todavía no la ha revisado ninguna persona. Leer esta página en inglés

Ejemplo

Una vista previa de un botón con su marcado debajo.

<button class="luz-btn luz-btn--primary" type="button">Save changes</button>

The preview, and the markup that makes it under it. The width of the frame follows --luz-example-w.

Problemas conocidos

No se conocen.

Código

Copiar el marcado

Bundler
import "@luz-ds/catalog/components/example.css";
HTML
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@luz-ds/catalog@0.3.0/dist/components/example.min.css" integrity="sha384-6PMwsV5nwigGpYPyw438GJj5Dk1YJ3/7pLnMLEe0VWvR1iM/pgM131Vldh0IEwh7" crossorigin="anonymous">

Una figura con la vista previa y, debajo, el código. El código es opcional:

HTML
<figure class="luz-example">
  <div class="luz-example__preview">
    <div class="luz-example__frame">
      <button class="luz-btn luz-btn--primary" type="button">Save changes</button>
    </div>
  </div>
  <div class="luz-example__code">
    <pre class="luz-code-block" data-lang="html" tabindex="0" aria-label="Markup of the example"><code>&lt;button class="luz-btn luz-btn--primary" type="button"&gt;Save changes&lt;/button&gt;</code></pre>
  </div>
</figure>

Variantes y opciones

No hay modificadores. La anchura se controla con una propiedad personalizada.

Clase o propiedadEfecto
.luz-example
En un <figure>: una caja enmarcada con un borde redondeado sobre la superficie. La vista previa y el código comparten el marco
.luz-example__preview
El marcado en vivo, con espacio interior alrededor del marco
.luz-example__frame
Dentro de la vista previa: ocupa su anchura o la que indique --luz-example-w (nunca más), y está centrado. Es un contenedor de tamaño
.luz-example__code
Opcional, debajo de la vista previa, a todo su ancho y con una línea encima. Si contiene un pre.luz-code-block, este pierde su propio borde
--luz-example-w
La anchura del marco. Asígnala al marco: style="--luz-example-w: 20rem" equivale a un móvil. De forma predeterminada, ocupa toda la vista previa

Cómo funciona

CSS de components/example.css de @luz-ds/catalog sobre el bloque de código y el resaltado de core.

  • La vista previa y el código comparten un marco, así que se entienden como un único ejemplo. Las líneas largas se desplazan dentro del bloque de código y nunca ensanchan la figura.
  • La anchura del marco es min(100%, var(--luz-example-w, 100%)): si supera el espacio disponible, la figura no se ensancha.
  • El marco es un contenedor de tamaño (container-type: inline-size). Un botón de bloque ocupa el marco, no la ventana, y puedes hacer que una regla propia responda al marco con @container.
  • Escribe el marcado una vez y muéstralo de dos formas, como vista previa y como código escapado: quien lee ve lo que va a copiar.

Sin JavaScript

El marco no cambia. El bloque de código es texto sin formato en una región desplazable que puede recibir el foco, sin el resaltado ni el botón de copia del script de core.

Teclado y ARIA

  • Orden: primero los controles de la vista previa y después el bloque de código.
  • Bloque de código: conserva tabindex="0" y un aria-label en <pre>: el bloque se desplaza y, sin esos atributos, quien usa el teclado no puede llegar hasta él ni saber qué es.
  • Vista previa: es interactiva, así que su contenido funciona como en cualquier otro sitio. Incluye las imágenes que no deban usarse en Qué hacer y qué no, cuya zona de ejemplo es inerte.

La pestaña Diseño incluye Contraste y foco.

Diseño

Cuándo usarlo

Usa el ejemplo para mostrar una pieza y el marcado que la crea en un mismo marco, con el código debajo de la vista previa.

  • Un componente, un patrón o un fragmento que quien lee pueda copiar.
  • Una pieza cuyo aspecto dependa de su anchura: ajusta la anchura del marco.

Cuándo no usarlo

No uses el ejemplo para mostrar un error ni código que no tenga una vista previa.

Qué hacer y qué no

Hazlo Muestra la vista previa y el marcado que la crea, y destaca la única clase que enseña el ejemplo.
Evítalo Muestra solo la vista previa: quien lee ve el resultado y tiene que adivinar qué clases lo han creado.

Cómo escribir el contenido

  • La frase anterior al ejemplo explica qué muestra, en imperativo: «Añade la clase principal para crear la acción principal».
  • El código es exactamente el marcado de la vista previa. Usa palabras reales, no «Lorem ipsum» ni «Botón».
  • Menciona en la frase la única clase o atributo que enseña el ejemplo, para que quien lee sepa dónde buscarlo en el código.
  • Ponle un nombre al bloque de código: «Marcado del ejemplo» o, si hay varios, «Marcado del botón principal».

Contraste y foco

La vista previa se muestra sobre la superficie del marco. El bloque de código conserva los colores de core; consulta el bloque de código.

ElementoColor sobre fondoClaroOscuroAlto contrasteMínimo
Texto de la vista previa
--luz-text-primary on --luz-surface
16.5:1
14.0:1
21.0:1
4.5:1
Anillo de foco
--luz-focus-ring on --luz-surface
5.9:1
7.2:1
21.0:1
3:1

Medido a partir de los valores de los tokens de cada modo y redondeado hacia abajo. El mínimo es el de WCAG 2.2 AA: 4,5:1 para texto y 3:1 para anillos de foco, bordes e iconos.

  • Foco: los controles de la vista previa y del bloque de código conservan el anillo de core, de 2 px, --luz-focus-ring.
  • Bordes: el borde del marco (--luz-divider) es decorativo y no tiene un mínimo.
  • Anchura: el marco nunca supera el espacio disponible, así que la página no se desplaza horizontalmente a 320px.

Tokens que usa

Los 4 tokens que leen las reglas de .luz-example de components/example.css del catálogo, agrupados por familia. Cada familia enlaza a su página, donde están los valores de todos los modos. En Figma son variables con los mismos nombres; consulta Tokens en Figma.

Spacing and sizing
--luz-space-md
Radius
--luz-radius-md

La pestaña Código incluye Teclado y ARIA.