Les styles CSS n'ont pas été appliqués avec succès à Flickity
P粉412533525
2023-08-26 20:25:09
<p>Question assez simple, je pense que cela peut être lié à ce problème, mais dans Vue au lieu d'Angular.
Le style CSS que j'essaie d'appliquer à mon carrousel Flickity ne s'affiche pas dans mon application Vue 3. Dans l'EDI, les styles sont grisés, mais lorsque je les modifie dans le navigateur via une inspection (par exemple en modifiant la largeur de la cellule du carrousel), cela fonctionne bien. </p>
<p>Est-ce qu'il me manque une certaine importation CSS qui permettrait à mes fichiers CSS de modifier correctement l'apparence de la mise en page rendue dans le navigateur ? </p>
<pre class="brush:html;toolbar:false;"><template>
<div class="col d-block m-auto">
<flickity ref="flickity" :options="flickityOptions">
</flickity>
</div>
</modèle>
<portée du style>
.carrousel-cellule {
couleur d'arrière-plan : #248742 ;
largeur : 300 px ; /* pleine largeur */
hauteur : 160px /* hauteur du carrousel */
marge droite : 10 px ;
}
/* positionner les points dans le carrousel */
.flickity-page-dots {
en bas : 0px ;
}
/* cercles blancs */
.flickity-page-dots .dot {
largeur : 12px ;
hauteur : 12px ;
opacité : 1 ;
fond : blanc ;
bordure : 2px blanc uni ;
}
</style>
≪/pré>
Si je comprends bien la question, vous souhaitez remplacer les styles de certains
Flickity.vue
composants du composant parent.Utilisez Scoped CSS (c'est-à-dire
<style scoped>
),样式仅应用于当前组件而不是其子组件。如果您想继续使用Scoped CSS,您可以在选择器周围使用:deep()
(Vue 2中的::v-deep
) pour cibler les composants enfants dynamiques comme indiqué ci-dessous.Étant donné que le composant
Flickity.vue
组件自身对.carousel-cell
的作用域样式具有更高的CSS特异性,父组件需要提高其特异性(例如,使用!important
lui-même a une spécificité CSS plus élevée pour les styles étendus de.carousel-cell
, le composant parent doit améliorer sa spécificité (par exemple, utilisez!important
) .Démo 1
Alternativement, vous pouvez simplement utiliser des propriétés
<style>
块。只需删除scoped
normales/sans portée.Démo 2