Maison >interface Web >tutoriel CSS >Résolu avec: a (): espacement vertical dans un texte de forme longue
Gérer l'espacement vertical dans le texte long, en particulier dans les sites Web axés sur la CMS, présente un défi persistant pour les développeurs. Ceci est souvent abordé avec des CSS personnalisés, mais obtenir des résultats cohérents et prévisibles peut être étonnamment difficile. Cet article explore une solution moderne tirant parti du sélecteur :has()
CSS.
Firefox nécessite actuellement le drapeau layout.css.has-selector.enabled
(in about:config
) pour le support :has()
.
En appliquant simplement les marges supérieure et inférieure à des éléments comme <code><p></p>
, <h2></h2>
, et <ul></ul>
ne résout pas le problème. Le comportement idéal nécessite:
La solution commune consiste à envelopper le contenu de forme longue dans une div (par exemple, .rich-text
) et à l'application de CSS pour gérer les marges. Cependant, cette approche présente des inconvénients:
.rich-text > *:first-child
). margin-top
et margin-bottom
, conduisant à des complexités avec des marges d'effondrement. Cela peut être moins intuitif et plus difficile à maintenir. Cet article propose une solution utilisant :has()
, visant les améliorations:
margin-bottom
), améliorant la lisibilité et la maintenabilité. :has()
Le support n'est pas universel; Vérifiez la compatibilité du navigateur avant la mise en œuvre. <blockquote></blockquote>
). Ceci est facilement extensible. :where()
permet une spécificité cohérente quelle que soit la structure du projet. L'approche suggère de placer ce CSS dans la couche "Elements" d'une architecture ITCSS. Cette approche :has()
offre une alternative plus propre et plus flexible aux méthodes traditionnelles pour gérer l'espacement vertical dans un texte long. Bien qu'il ne soit pas entièrement simple, il traite de nombreuses limites des approches précédentes, ce qui donne des résultats plus maintenables et prévisibles. Les commentaires et les améliorations sont les bienvenus.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!