6-7 Styles
Style du composant
Vous avez surement remarqué l'attribut styles
dans le décorateur de @Component
.
@Component({
selector: 'app-projets-liste',
imports: [],
template: `
<button (click)="ajouterProjet()">Ajouter un projet</button>
@if(projets.length > 0){
<ul>
@for(projet of projets; track $index) {
<li>{{ projet }}</li>
}
</ul>
} @else {
<p>Aucun projet</p>
}
`,
styles: ``
})
Vous pouvez mettre à l'intérieur n'importe quel CSS ou SCSS valide et ce dernier sera appliqué au composant. Les styles associés au composant seront appliqués uniquement à ce composant, pas au reste de l'application.
Par exemple, changeons simplement le style des points de forme de la liste:
@Component({
selector: 'app-projets-liste',
imports: [],
template: `
<button (click)="ajouterProjet()">Ajouter un projet</button>
@if(projets.length > 0){
<ul>
@for(projet of projets; track $index) {
<li>{{ projet }}</li>
}
</ul>
} @else {
<p>Aucun projet</p>
}
`,
styles: `
ul {
list-style-type: circle;
}
`
})
Vous remarquerez que le style change dans votre navigateur, mais aussi que Angular ajoute un préfixe au composant et au sélecteur CSS afin que le style s'applique seulement au composant ciblé!
De plus, vous pouvez utiliser le SCSS, par exemple le principe d'imbrication de SCSS:
styles: `
ul {
list-style-type: circle;
li {
font-weight: bold;
}
}
`
Remarquez l'imbrication du li
dans le ul
pour créer automatiquement le sélecteur ul li
.
Le SCSS et les styles avancés sont plus une notion de Web 2, donc nous ne reviendrons pas en détail sur cet aspect, mais sachez que vous pouvez utiliser du SCSS dans la section styles
du composant.
Styles généraux
Pour les styles généraux, par exemple qui ne sont pas liés à un composant spécifique, le fichier src/style.scss
peut être utilisé.
Nous verrons au prochain niveau comme structurer efficacement le SCSS dans ce fichier afin qu'il reste lisible et facile à maintenir.