-
Notifications
You must be signed in to change notification settings - Fork 0
Komponenten Grundlagen
Die Boilerplate verfügt über vorgefertigte Komponenten. Diese sind wie folgt aufgebaut.
<!-- HTML Tag -->
<h1>Hallo</h1>
<!-- Svelte Komponente -->
<Aspect>
Diese Attribute sind für jede Komponente spezifisch.
<!--
Das Seitenverhältnis der <Aspekt /> Komponenten
kann über das "ratio" Attribut gesteuert werden.
-->
<Aspect ratio="4:3">
Jede Komponente hat einen gleich lautenden Klassennamen entsprechend dem Komponentennamen.
Bspw. kann <Aspect />
über die .Aspect
Klasse gestyled werden. <Picture />
entspricht .Picture
ect.
Über diese Klassen wir das standard Styling der Komponente gesteuert. Das default Styling kann über das Attribut ex-class
entfernt werden.
Komponenten-Klassen sind nach dem BEM Prinzip (Block, Element and Modifier) vergeben, um Namenskollisionen zu verhindern.
.block__element--modifier { }
<section class="foo">
<div class="foo__item"> 😌 </div>
<div class="foo__item"> 😴 </div>
<div class="foo__item foo__item--active"> 😃 </div>
</section>
Die standard Komponenten-Klasse kann durch die ex-class
(auch exclusive class genannt) ersetzt die, wodurch das standard-Styling komplett entfernt wird.
Klassen verhalten
<!-- Svelte Input --------------------->
<Button>Button 1</Button>
<Button class="my-button">Button 2</Button>
<Button ex-class="my-button">Button 3</Button>
<!-- Entsprich diesem HTML Output ----->
<button class="Button">Button 1</button>
<button class="Button my-button">Button 2</button>
<button class="my-button">Button 3</button>