Styly jako objekty

Vzhled stránky většinou patří do style.css a prvky ho dostanou pomocí className. Někdy ale styl vychází z vašich dat, třeba barva pódia. Pak můžete prvku dát atribut style. Jeho hodnota v JSX není text jako v HTML, ale objekt:

<p style={{ color: "teal", fontSize: 24 }}>Lesní scéna</p>

Vnější závorky říkají „teď přijde JavaScript“ a vnitřní jsou objekt. Jeho vlastnosti jsou vlastnosti CSS v camelCase, jak je znáte z prvek.style v JavaScriptu: fontSize místo font-size, backgroundColor místo background-color. Hodnoty jsou texty jako v CSS, ale číslo znamená pixely: fontSize: 24 je 24px. (Vlastnosti bez jednotek si číslo nechají, třeba lineHeight: 1.5.)

Protože je to objekt, hodnota může pocházet z proměnné:

export default function App() {
    const barvaPodia = "#dcfce7";

    return (
        <p style={{ backgroundColor: barvaPodia, padding: 8 }}>Lesní scéna</p>
    );
}

Text jako v HTML nefunguje: se style="color: teal" se aplikace zastaví a konzole vysvětlí, že style čeká objekt: Error: The `style` prop expects a mapping from style properties to values, not a string.

Pokyny

Udělejte nadpis Lesní scéna zelený a větší: dejte mu styl s color "green" a fontSize 32.

Dejte odstavci pod Stanem, Plecháčci, sobota 21:00, pozadí v barvě z proměnné barvaStanu a vnitřní okraj (padding) 8.

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

Zpět

7/9

Další