styles
dans les métadonnées du composant.
La propriété styles
prend un tableau de chaînes contenant du code CSS.
Habituellement, vous lui donnez une chaîne, comme dans l'exemple suivant :h1
s'applique uniquement aux balises imbriquées HeroAppComponent
, non HeroMainComponent
imbriquées, ni ‹h1›
ailleurs dans l'application.TypeScript
et HTML
du composant, ce qui conduit à une structure de projet ordonnée et ordonnée.:host
pour cibler les styles dans l'élément hébergeant le composant (par opposition au ciblage d'éléments dans le modèle du composant).:host
est le seul moyen de cibler l'élément hôte.
Vous ne pouvez pas atteindre l'élément hôte depuis le composant avec d'autres sélecteurs, car il ne fait pas partie du propre modèle du composant.
L'élément hôte est dans le modèle d'un composant parent.:host
.‹body›
de document et vous souhaitez modifier l'apparence de votre composant en fonction de cela.:host-context()
, qui fonctionne exactement comme la forme de fonction de :host()
.
Le sélecteur :host-context()
recherche une classe CSS dans n'importe quel ancêtre de l'élément hôte du composant, jusqu'à la racine du document.
Le sélecteur :host-context()
est utile lorsqu'il est combiné avec un autre sélecteur.background-color
à tous les éléments ‹h2›
à l'intérieur du composant,
que si un élément a la classe CSS theme-light
./ deep /
pour forcer un style dans l'arborescence des composants enfants dans toutes les vues de composants enfants.
Le combinateur / deep /
fonctionne à n'importe quelle profondeur de composants imbriqués et s'applique à la fois aux enfants de vue et aux enfants de contenu du composant.‹h3›
, de l'élément hôte en passant par ce composant, à tous ses éléments enfants dans le DOM./deep/
a également les alias >>>
et ::ng-deep
.styleUrls
.styles
au décorateur @Component
.ng generate component
définit un style tableau vide lorsque vous créez le composant avec l'indicateur --inline-style
.styles
à partir de fichiers CSS
externes en ajoutant une propriété styleUrls
au décorateur @Component
d'un composant :hero-app.component.ts (CSS dans le fichier)
hero-app.component.css
styles
et styleUrls
.ng generate component
sans l'indicateur --inline-style
,
il crée un fichier de styles vide et référence ce fichier dans le composant généré styleUrls
.‹style›
.‹link›
dans le modèle HTML du composant.href
de la balise link
soit relative à la racine de l'application ou au fichier de composant.@import
CSS.angular.json
pour inclure tous les actifs externes, y compris les fichiers de style externes.
Enregistrez les fichiers de style
globaux dans la section styles qui, par défaut, est préconfigurée avec le fichier global styles.css
.style
dans sass
, less
ou stylus
et spécifier ces fichiers dans les métadonnées @Component.styleUrls
avec les extensions appropriées (.scss
, .less
, .styl
), comme ci-après :ng generate component
, la CLI émet un fichier de styles CSS vide (.css
) par défaut.
Vous pouvez configurer la CLI pour qu'il utilise par défaut votre préprocesseur CSS préféré.@Component.styles
doivent être écrites en CSS, car le CLI ne peut pas appliquer de préprocesseur aux styles en ligne.ShadowDom
utilise l'implémentation DOM native du navigateur (voir DOM Shadow) pour attacher un DOM fantôme à l'élément hôte du composant, puis place la vue du composant dans ce DOM fantôme. Les styles du composant sont inclus dans le DOM fantôme.Nativeview
utilise une version désormais déconseillée de la mise en oeuvre du DOM fantôme natif du navigateur.Emulatedview
(valeur par défaut) émule le comportement du DOM fantôme en prétraitant (et en renommant) le code CSS afin d'étendre efficacement le code CSS à la vue du composant.encapsulation
dans les métadonnées du composant :ShadowDom
ne fonctionne que sur les navigateurs prenant en charge en natif le shadow DOM.
La prise en charge est toujours limitée, raison pour laquelle l'encapsulation de la vue émulée est le mode par défaut et est recommandée dans la plupart des cas._nghost
généré . C'est généralement le cas pour les éléments hôtes composant._ngcontent
qui identifie le DOM fantôme de l'hôte auquel cet élément appartient.‹head›
du DOM :_nghost
ou _ngcontents
.
Ces sélecteurs supplémentaires activent les règles de portée décrites dans cette page.