Nous utilisons les cookies afin de fournir les services et fonctionnalités proposés sur notre site et afin d’améliorer l’expérience de nos utilisateurs. Pour plus d'informations nous vous invitons à consulter notre Politiques sur les cookies ainsi que notre Politique de confidentialité.

Mettre en page la balise html details

Mise en page de la balise <details> avec LESS

Dans ce tutoriel, nous allons voir comment utiliser la balise <details> en HTML et comment la styliser avec LESS pour créer un affichage interactif élégant et fonctionnel.

Prérequis

Assurez-vous d’avoir une compréhension de base de HTML et CSS. Une familiarité avec LESS sera également utile pour suivre ce tutoriel.

Structure HTML de base

Nous commençons par définir notre balise <details> avec un élément <summary> :

<details>
  <summary>Cliquez ici pour plus d'informations</summary>
  <div class="details-content">
    Ici, vous pouvez ajouter du contenu détaillé que l'utilisateur pourra voir en cliquant sur le résumé ci-dessus.
  </div>
</details>

Mise en page avec LESS

Maintenant, utilisons votre code LESS pour styliser notre balise <details>. Ce code permet de masquer le marqueur par défaut du <summary>, d’ajouter une flèche personnalisée, et de changer la couleur du texte et de la flèche au survol et lorsque les détails sont ouverts.

// ------- details
details summary::-webkit-details-marker {
  display:none;
}
details {
  margin: 1rem 0;
  background-color: #FFF;
  > .details-content {
    margin-top: 1rem;
    background-color: #FFF;
  }
  summary {
    text-transform: uppercase;
    padding: 1rem 1rem 1rem 2.2rem;
    display: block;
    background: #333;
    position: relative;
    cursor: pointer;
    color: #FFF;
    transition: color 0.3s;
    
    &:before {
      content: '';
      border-width: .4rem;
      border-style: solid;
      border-color: transparent transparent transparent #fff;
      position: absolute;
      top: 1.3rem;
      left: 1rem;
      transform: rotate(0);
      transform-origin: .2rem 50%;
      transition: .25s transform ease, border 0.3s;
    }
  }
  &:hover {
    summary {
      color: #FF8C00;
      &:before {
        border-color: transparent transparent transparent #FF8C00;
      }
    }
  }
}

details[open] > summary {
  color: #FF8C00;
  
  &:before {
    transform: rotate(90deg);
    border-color: transparent transparent transparent #FF8C00;
  }
}

J’espère que ce tutoriel vous aidera à démontrer efficacement comment styliser la balise <details> avec LESS.

Haut de la page