Saltearse al contenido
This is an unmaintained snapshot of the Astro v4 docs. View the latest docs.

Estiliza tu página 'Acerca de'

Ahora que ya tienes una página ‘Acerca de’ con contenido sobre ti, ¡es hora de darle estilo!

Prepárate para...

  • Estilizar elementos en una sola página.
  • Utilizar variables CSS

Usando las etiquetas <style></style> de Astro, puedes dar estilo a los elementos de tu página. Si añades atributos y directivas a estas etiquetas, tendrás aún más formas de aplicar estilos.

  1. Copia el siguiente código y pégalo en src/pages/about.astro:

    src/pages/about.astro
    <html lang="es">
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <title>{pageTitle}</title>
    <style>
    h1 {
    color: purple;
    font-size: 4rem;
    }
    </style>
    </head>

    Comprueba las tres páginas en la vista previa de tu navegador

    • De qué color es el título de la página:

      • ¿Tu página de inicio?
      • ¿Tu página ‘Acerca de’?
      • ¿La página de tu blog?
    • La página con el mayor texto de título es?

  2. Añade el nombre de clase skill a los elementos <li> generados en tu página ‘Acerca de’, para que puedas aplicarles estilo. Tu código debería tener este aspecto:

    src/pages/about.astro
    <p>Mis habilidades son:</p>
    <ul>
    {skills.map((skill) => <li class="skill">{skill}</li>)}
    </ul>
  3. Añade el siguiente código a la etiqueta de estilo existente:

    src/pages/about.astro
    <style>
    h1 {
    color: purple;
    font-size: 4rem;
    }
    .skill {
    color: green;
    font-weight: bold;
    }
    </style>
  4. Vuelve a visitar tu página ‘Acerca de’ en tu navegador y comprueba, mediante inspección visual o herramientas de desarrollo, que cada elemento de tu lista de habilidades está ahora en verde y en negrita.

La etiqueta de Astro <style> también puede hacer referencia a cualquier variable de tu script frontmatter usando la directiva define:vars={ {...} }. Puedes definir variables dentro de tu código vallado, y luego utilizarlas como variables CSS en tu etiqueta de estilo.

  1. Define una variable skillColor añadiéndola al script frontmatter de src/pages/about.astro así:

    src/pages/about.astro
    ---
    const pageTitle = "Sobre mi";
    const identity = {
    firstName: "Sarah",
    country: "Canada",
    occupation: "Escritor técnico",
    hobbies: ["fotografia", "observación de aves", "peñarol"],
    };
    const skills = ["HTML", "CSS", "JavaScript", "React", "Astro", "Redacción de documentos"];
    const happy = true;
    const finished = false;
    const goal = 3;
    const skillColor = "navy";
    ---
  2. Actualiza tu etiqueta <style> para definir primero, y luego usar, esta variable skillColor dentro de llaves dobles.

    src/pages/about.astro
    <style define:vars={{skillColor}}>
    h1 {
    color: purple;
    font-size: 4rem;
    }
    .skill {
    color: green;
    color: var(--skillColor);
    font-weight: bold;
    }
    </style>
  3. Comprueba tu página ‘Acerca de’ en la vista previa de tu navegador. Deberías ver que las habilidades son ahora de color azul marino, tal y como establece la variable skillColor pasada a la directiva define:vars.

Pruébalo tú mismo - Definir variables CSS

Sección titulada Pruébalo tú mismo - Definir variables CSS
  1. Actualiza la etiqueta <style> de tu página ‘Acerca de’ para que coincida con la de abajo.

    src/pages/about.astro
    <style define:vars={{skillColor, fontWeight, textCase}}>
    h1 {
    color: purple;
    font-size: 4rem;
    }
    .skill {
    color: var(--skillColor);
    font-weight: var(--fontWeight);
    text-transform: var(--textCase);
    }
    </style>
  2. Añade las definiciones de variables que falten en tu script frontmatter para que tu nueva etiqueta <style> aplique correctamente estos estilos a tu lista de habilidades:

    • El color del texto es azul marino
    • El texto está en negrita
    • Los elementos de la lista están en mayúsculas (todo en mayúsculas)
✅ ¡Enséñame el código! ✅
src/pages/about.astro
---
const pageTitle = "Sobre mi";
const identity = {
firstName: "Sarah",
country: "Canada",
occupation: "Escritor técnico",
hobbies: ["fotografia", "observación de aves", "peñarol"],
};
const skills = ["HTML", "CSS", "JavaScript", "React", "Astro", "Redacción de documentos"];
const happy = true;
const finished = false;
const goal = 3;
const skillColor = "navy";
const fontWeight = "bold";
const textCase = "uppercase";
---
Contribuir

¿Qué tienes en mente?

Comunidad