Pour créer des sections pliables sur une page Web, vous pouvez utiliser les éléments HTML5 <details></details>
et <summary></summary>
. L'élément <details></details>
représente un widget avec lequel l'utilisateur peut interagir pour obtenir des informations ou des contrôles supplémentaires. L'élément <summary></summary>
, qui doit être un enfant direct de l'élément <details></details>
, spécifie le résumé ou l'étiquette de l'élément <details></details>
.
Voici un exemple de base de la façon d'utiliser ces éléments:
<code class="html"><details> <summary>Click to expand</summary> <p>This is the content that will be shown when the user expands the section.</p> </details></code>
Dans cet exemple:
<details></details>
crée le widget pliable.<summary></summary>
fournit une étiquette pour le widget. En cliquant sur cette étiquette, basculera la visibilité du contenu dans l'élément <details></details>
.<details></details>
mais en dehors de l'élément <summary></summary>
est ce qui sera masqué ou illustré lorsque l'utilisateur interagit avec le widget. Vous pouvez placer n'importe quel contenu HTML à l'intérieur de l'élément <details></details>
, permettant des sections pliables flexibles et riches sur votre page Web.
L'utilisation des éléments <details></details>
et <summary></summary>
peut améliorer considérablement l'expérience utilisateur de plusieurs manières:
open
sur l'élément <details></details>
peut également être utilisé pour définir l'état initial du widget, ce qui peut être bénéfique pour l'accessibilité. Oui, les éléments <details></details>
et <summary></summary>
peuvent être stylisés avec CSS, ce qui permet un degré élevé de personnalisation pour correspondre à la conception de votre site Web. Voici comment vous pouvez coiffer ces éléments:
<details></details>
élément : vous pouvez modifier l'apparence de la section pliable entière à l'aide de CSS. Par exemple, vous pouvez définir une bordure, une couleur d'arrière-plan et un rembourrage:<code class="css">details { border: 1px solid #aaa; border-radius: 4px; padding: .5em .5em 0; } details[open] { padding: .5em; } details[open] summary { border-bottom: 1px solid #aaa; margin-bottom: .5em; }</code>
<summary></summary>
élément : vous pouvez modifier l'apparence de l'étiquette de résumé. Par exemple, vous pouvez modifier la couleur, la police et l'ajout d'icônes:<code class="css">summary { font-weight: bold; color: #333; } summary::marker { /* Hide default marker */ content: ""; } summary::before { /* Add custom marker */ content: "▶ "; font-size: .8em; } details[open] summary::before { content: "▼ "; }</code>
::marker
peut être utilisé pour styliser le marqueur par défaut (généralement un triangle), mais la prise en charge du navigateur est limitée. Utilisation ::before
et ::after
les pseudo-éléments peut être un moyen plus cohérent d'ajouter des marqueurs personnalisés.<code class="css">summary:hover, summary:focus { color: #000; cursor: pointer; }</code>
N'oubliez pas que même si vous pouvez styliser ces éléments, certains navigateurs peuvent avoir des styles par défaut que vous devrez remplacer votre CSS personnalisé.
Bien que <details></details>
et <summary></summary>
font partie de la norme HTML5, il y a des problèmes de compatibilité du navigateur à considérer:
::marker
, ont une prise en charge limitée du navigateur. Vous devrez peut-être utiliser des méthodes alternatives, comme ::before
et ::after
, pour réaliser un style cohérent entre les navigateurs.<summary></summary>
d'être stylé avec display: block
. Vous devrez peut-être utiliser CSS pour normaliser ces différences.Vous pouvez consulter les dernières informations de compatibilité du navigateur sur des ressources comme puis-je utiliser? (caniuse.com) pour rester à jour sur la prise en charge de ces éléments HTML sur différents navigateurs.
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!