Reactin Sisäisten Tyylien Käyttö
Yksi yksinkertainen tapa lisätä tyylejä Reactissa on käyttää inline-tyylejä, samalla tavalla kuin tyylejä lisätään HTML-elementteihin style-attribuutin avulla.
Tärkein ero on, että Reactissa style-attribuutin arvo on JavaScript-olio, ei CSS-merkkijono.
Tässä esimerkki inline-tyylien lisäämisestä suoraan JSX:ssä:
const App = () => (
<>
<h1
style={{
fontWeight: 700,
fontSize: "32px",
color: "rebeccapurple",
}}
>
App title
</h1>
</>
);
Tässä esimerkissä h1-elementti saa tyylinsä style-attribuutin kautta, joka sisältää JavaScript-olion.
Tärkeitä sääntöjä inline-tyyleille
Kun käytät inline-tyylejä Reactissa, huomioi seuraavat säännöt:
- CSS-ominaisuuksien nimet, joissa on kaksi tai useampia sanaa, tulee kirjoittaa camelCase-muodossa
font-weight→fontWeight;background-color→backgroundColor.
- Arvot kirjoitetaan yleensä merkkijonoina:
"32px","red","rebeccapurple"; - Jotkin ominaisuudet voivat hyväksyä numerot suoraan:
fontWeight: 700.
Nämä säännöt ovat olemassa, koska inline-tyylit kirjoitetaan JavaScriptillä, eivät tavallisella CSS:llä.
Inline-tyylit erillisenä oliona
Jotta JSX pysyy selkeämpänä ja helpommin luettavana, inline-tyylit voidaan tallentaa erilliseen JavaScript-olioon ja välittää sitten style-attribuutille.
const appStyles = {
fontWeight: 700,
fontSize: "32px",
color: "rebeccapurple",
};
const App = () => (
<>
<h1 style={appStyles}>App title</h1>
</>
);
Milloin käyttää sisäisiä tyylejä
Sisäiset tyylit soveltuvat parhaiten:
- Pienille komponenteille;
- Dynaamisille tyyleille;
- Nopeisiin visuaalisiin muutoksiin.
Ne eivät ole ihanteellisia suurille asetteluille tai monimutkaisille tyyleille, minkä vuoksi ulkoista CSS:ää suositaan usein.
1. Mikä on keskeinen ero tyylien lisäämisessä HTML:ssä ja sisäisten tyylien käytössä Reactissa?
2. Mitä merkintätapaa tulee käyttää, kun määritellään ominaisuuksien nimiä, joissa on kaksi tai useampia sanoja sisäisissä tyyleissä?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 4
Reactin Sisäisten Tyylien Käyttö
Pyyhkäise näyttääksesi valikon
Yksi yksinkertainen tapa lisätä tyylejä Reactissa on käyttää inline-tyylejä, samalla tavalla kuin tyylejä lisätään HTML-elementteihin style-attribuutin avulla.
Tärkein ero on, että Reactissa style-attribuutin arvo on JavaScript-olio, ei CSS-merkkijono.
Tässä esimerkki inline-tyylien lisäämisestä suoraan JSX:ssä:
const App = () => (
<>
<h1
style={{
fontWeight: 700,
fontSize: "32px",
color: "rebeccapurple",
}}
>
App title
</h1>
</>
);
Tässä esimerkissä h1-elementti saa tyylinsä style-attribuutin kautta, joka sisältää JavaScript-olion.
Tärkeitä sääntöjä inline-tyyleille
Kun käytät inline-tyylejä Reactissa, huomioi seuraavat säännöt:
- CSS-ominaisuuksien nimet, joissa on kaksi tai useampia sanaa, tulee kirjoittaa camelCase-muodossa
font-weight→fontWeight;background-color→backgroundColor.
- Arvot kirjoitetaan yleensä merkkijonoina:
"32px","red","rebeccapurple"; - Jotkin ominaisuudet voivat hyväksyä numerot suoraan:
fontWeight: 700.
Nämä säännöt ovat olemassa, koska inline-tyylit kirjoitetaan JavaScriptillä, eivät tavallisella CSS:llä.
Inline-tyylit erillisenä oliona
Jotta JSX pysyy selkeämpänä ja helpommin luettavana, inline-tyylit voidaan tallentaa erilliseen JavaScript-olioon ja välittää sitten style-attribuutille.
const appStyles = {
fontWeight: 700,
fontSize: "32px",
color: "rebeccapurple",
};
const App = () => (
<>
<h1 style={appStyles}>App title</h1>
</>
);
Milloin käyttää sisäisiä tyylejä
Sisäiset tyylit soveltuvat parhaiten:
- Pienille komponenteille;
- Dynaamisille tyyleille;
- Nopeisiin visuaalisiin muutoksiin.
Ne eivät ole ihanteellisia suurille asetteluille tai monimutkaisille tyyleille, minkä vuoksi ulkoista CSS:ää suositaan usein.
1. Mikä on keskeinen ero tyylien lisäämisessä HTML:ssä ja sisäisten tyylien käytössä Reactissa?
2. Mitä merkintätapaa tulee käyttää, kun määritellään ominaisuuksien nimiä, joissa on kaksi tai useampia sanoja sisäisissä tyyleissä?
Kiitos palautteestasi!