Themes
webforJ sisältää kolme sisäänrakennettua sovellusteemaa ja tukee omien mukautettujen teemojen määrittämistä. Oletusteemat ovat:
- light: Kirkas teema, jossa on vaalea taustaväri (oletus).
- dark: Tumma tausta, jossa on pääväriä.
- dark-pure: Täysin neutraali tumma teema, joka perustuu harmaisiin sävyihin.
Teeman käyttämiseksi sovelluksessasi, käytä @AppTheme -annotaatiota tai App.setTheme() -metodia. Teeman nimen on oltava yksi seuraavista: system, light, dark, dark-pure tai mukautettu teeman nimi.
@AppTheme("dark-pure")
class MyApp extends App {
// sovelluskoodi
}
// tai ohjelmallisesti
App.setTheme("dark-pure");
Oletusteemojen ylikirjoittaminen
Voit ylikirjoittaa light-teeman määrittelemällä CSS-mukautettuja muuttujia :root-valitsimessa.
:root -pseudo-luokka:root CSS -pseudo-luokka kohdistaa asiakirjan juurielementtiin. HTML: ssä se edustaa <html>-elementtiä ja sillä on suurempi tarkkuus kuin pelkällä html-valitsimella.
Esimerkki:
:root {
--dwc-color-primary-h: 215;
--dwc-color-primary-s: 100%;
--dwc-color-primary-c: 50;
--dwc-font-size: var(--dwc-font-size-m);
}
Voit ylikirjoittaa dark- tai dark-pure-teeman käyttämällä attribuuttivalitsimia <html>-elementissä:
html[data-app-theme="dark"] {
--dwc-color-primary-s: 9%;
--dwc-color-white: hsl(210, 17%, 82%);
}
Mukautettujen teemojen luominen
Voit määrittää omia teemoja käyttämällä valitsinta html[data-app-theme='THEME_NAME']. Mukautetut teemat voivat olla rinnakkain oletusteemojen kanssa, ja voit vaihtaa niiden välillä dynaamisesti ajonaikana.
html[data-app-theme="new-theme"] {
--dwc-color-primary-h: 280;
--dwc-color-primary-s: 100%;
--dwc-color-primary-c: 60;
}
Sitten sovelluksessasi:
@AppTheme("new-theme")
class MyApp extends App {
// sovelluskoodi
}
// tai ohjelmallisesti
App.setTheme("new-theme");
Komponenttiteemat
Sovellustason teemojen lisäksi webforJ-komponentit tukevat joukkoa komponenttiteemoja, jotka perustuvat oletusväriasteikkoihin: default, primary, success, warning, danger, info ja gray.
Jokainen komponentti dokumentoi tukemansa teemat Styling → Teemat -osiossa.