Table des matières
Relever les défis de style courants
Numéro 1: Curseur
La solution CSS
Personnalisation du Curseur
Affichage de imbriqué Contenu en ligne
Le plan 504 de mon enfant sera-t-il mis en œuvre?
En-têtes par rapport aux boutons
Style en ligne
Bonus: exclusion des styles d'explorateur Internet
Conclusion
Maison interface Web tutoriel CSS Deux numéros styliser l'élément de détails et comment les résoudre

Deux numéros styliser l'élément de détails et comment les résoudre

Mar 28, 2025 am 10:42 AM

Deux numéros styliser l'élément de détails et comment les résoudre

Auparavant, la création de blocs de contenu extensibles simples nécessitait JavaScript ou des solutions de contournement CSS complexes. La modification du HTML pourrait également devenir lourde. Maintenant, le<details></details> et<summary></summary> Les éléments (formant un "widget de divulgation") simplifient cela significativement. Nous les utilisons largement au travail pour les FAQ, par exemple.

Relever les défis de style courants

Alors que<details></details> et<summary></summary> Fournit intrinsèquement les fonctionnalités d'étendue / effondrement, vous pourriez toujours avoir besoin de CSS pour une présentation optimale. Sans style, deux problèmes clés surviennent:

Numéro 1:<summary></summary> Curseur

Le<summary></summary> élément, bien qu'interactif, par défaut un curseur de sélection de texte au lieu du pointeur attendu.

Numéro 2: Éléments de blocs imbriqués dans<summary></summary>

Nidification des éléments au niveau du bloc (comme les titres)<summary></summary> Les fait apparaître sous la flèche, pas en ligne.

La solution CSS

Pour les résoudre, ajoutez ces styles à votre réinitialisation CSS:

 Résumé des détails {
  curseur: pointeur;
}

Résumé des détails> * {
  Affichage: en ligne;
}
Copier après la connexion

Examinons chaque problème et sa solution en détail.

Personnalisation du<summary></summary> Curseur

Un curseur doit refléter visuellement son interaction prévue. Le curseur de texte par défaut sur<summary></summary> Les éléments, bien que techniquement corrects (le texte est sélectionnable), est moins intuitif qu'un pointeur.

La solution est simple:

 Résumé des détails {
  curseur: pointeur;
}
Copier après la connexion

De nombreux sites Web de premier plan, y compris les documents Web MDN et GitHub, utilisent déjà ce style pour leurs widgets de divulgation. Le cursor: text reflète probablement la sélection du texte sommaire, mais un pointeur est généralement préférable pour les éléments interactifs. Notez que la modification du curseur affecte uniquement l'apparence visuelle; La sélection reste inchangée.

Affichage de imbriqué<summary></summary> Contenu en ligne

Pour les FAQ, j'enroule souvent des questions dans les titres (par exemple,<h3></h3> ) dans<summary></summary> :

<details><summary><h3 id="Le-plan-de-mon-enfant-sera-t-il-mis-en-œuvre"> Le plan 504 de mon enfant sera-t-il mis en œuvre?</h3></summary><p> Oui. Semblable au printemps, les gestionnaires de cas contacteront les étudiants.</p></details>
Copier après la connexion

Cela offre plusieurs avantages:

  • Style cohérent: maintient la cohérence visuelle avec les autres titres.
  • IE / Edgehtml Compatibilité: fournit le secours aux navigateurs plus âgés qui ne prennent pas en charge<details></details> .
  • Accessibilité: la navigation sur la technologie d'assistance AID (bien que l'interprétation des lecteurs d'écran puisse varier, comme discuté ci-dessous).

En-têtes par rapport aux boutons

Le<summary></summary> L'élément se comporte comme un bouton (il a implicitement role=button ), mais contrairement aux boutons, il permet des en-têtes imbriqués. Cela crée un conflit:

  • Les titres aident la navigation.
  • Les boutons dépouillent généralement la sémantique à partir d'éléments imbriqués.

La compatibilité du lecteur d'écran est incohérente ici. NVDA et la voix off reconnaissent les titres à l'intérieur<summary></summary> , mais les mâchoires ne le font pas. Par conséquent, tout en stylisant des titres à l'intérieur<summary></summary> est possible, leur interprétation sémantique n'est pas garantie.

Style en ligne

Pour empêcher la flèche d'apparaître au-dessus de la rubrique, utilisez le style en ligne pour les éléments imbriqués directement à l'intérieur<summary></summary> :

 Résumé des détails> * {
  Affichage: en ligne;
}
Copier après la connexion

Utilisez inline , pas inline-block , pour éviter les problèmes d'emballage. Tout en tentant d'utiliser display: flex sur<summary></summary> , cela cache la flèche.

Bonus: exclusion des styles d'explorateur Internet

Puisque les versions IE et plus anciennes ne prennent pas en charge<details></details> , évitez d'appliquer des styles personnalisés à l'aide d'une requête de fonctionnalité:

 @Supports Not (-ms-ime-Align: Auto) {
  Résumé des détails {
    curseur: pointeur;
  }
  Résumé des détails> * {
    Affichage: en ligne;
  }
  /* Autre<details> / /<summary> Styles * /
}</summary></details>
Copier après la connexion

IE ignore complètement ce bloc. EdgeHTML l'ignore également en raison de la vérification -ms-ime-align . Notez que les très vieilles versions Chrome et Safari (avec part de marché négligeables) manquent également de support de requête. Un bloc @supports (details) serait idéal mais a encore moins de support de navigateur.

Conclusion

Avec la bonne structure HTML et ces styles CSS, vous pouvez facilement personnaliser vos widgets de divulgation. N'oubliez pas que pendant le style<summary></summary> Les éléments sont simples, la compatibilité des lecteurs d'écran pour les en-têtes imbriqués nécessite une considération.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
Nordhold: Système de fusion, expliqué
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1672
14
Tutoriel PHP
1277
29
Tutoriel C#
1257
24
Une comparaison des fournisseurs de formulaires statiques Une comparaison des fournisseurs de formulaires statiques Apr 16, 2025 am 11:20 AM

Essayons de savoir un terme ici: "fournisseur de formulaire statique". Vous apportez votre HTML

Une preuve de concept pour rendre Sass plus rapidement Une preuve de concept pour rendre Sass plus rapidement Apr 16, 2025 am 10:38 AM

Au début d'un nouveau projet, la compilation SASS se produit en un clin d'œil. Cela se sent bien, surtout quand il est associé à BrowSersync, qui recharge

Actualités hebdomadaires de la plate-forme: attribut HTML Loading, les principales spécifications Aria et le passage de iframe à Shadow Dom Actualités hebdomadaires de la plate-forme: attribut HTML Loading, les principales spécifications Aria et le passage de iframe à Shadow Dom Apr 17, 2025 am 10:55 AM

Dans cette semaine, le Roundup des nouvelles de la plate-forme, Chrome présente un nouvel attribut pour le chargement, les spécifications d'accessibilité pour les développeurs Web et la BBC Moves

Certains pratiques avec l'élément de dialogue HTML Certains pratiques avec l'élément de dialogue HTML Apr 16, 2025 am 11:33 AM

C'est moi qui regarde l'élément HTML pour la première fois. J'en ai été conscient depuis un certain temps, mais il ne l'a pas encore pris pour un tour. Il a un peu cool et

Forme de papier Forme de papier Apr 16, 2025 am 11:24 AM

L'achat ou la construction est un débat classique de la technologie. Construire des choses vous-même peut être moins cher car il n'y a pas d'article de ligne sur votre facture de carte de crédit, mais

Actualités de plate-forme hebdomadaire: bookmarklet d'espacement de texte, attente de haut niveau, nouvel indicateur de chargement d'ampli Actualités de plate-forme hebdomadaire: bookmarklet d'espacement de texte, attente de haut niveau, nouvel indicateur de chargement d'ampli Apr 17, 2025 am 11:26 AM

Au cours de cette semaine, un Bookmarklet pratique pour inspecter la typographie, en utilisant Await pour bricoler comment les modules JavaScript s'importent, ainsi que Facebook & # 039; S

Où devrait «abonner au podcast» vers le lien? Où devrait «abonner au podcast» vers le lien? Apr 16, 2025 pm 12:04 PM

Pendant un certain temps, iTunes était le grand chien du podcasting, donc si vous avez lié "Abonnez-vous au podcast" pour aimer:

Options pour héberger vos propres analyses non-javascript Options pour héberger vos propres analyses non-javascript Apr 15, 2025 am 11:09 AM

Il existe de nombreuses plates-formes d'analyse pour vous aider à suivre les données des visiteurs et d'utilisation sur vos sites. Peut-être plus particulièrement Google Analytics, qui est largement utilisé

See all articles