Stilizarea elementului details
Să examinăm unele posibilități de stilizare a elementului details, care reprezintă un bloc extensibil.
Atributul open
În primul rând, în starea deschisă, elementului details i se adaugă atributul open. Astfel, folosind acest atribut, se pot defini stiluri diferite pentru element în stările ascuns și deschis. De exemplu:
<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8" />
   <title>FDC.COM</title>
   <style>
   details > summary {
       padding: 5px;
       background-color: #eee;
       color: #333;
       border: 1px #ccc solid;
       cursor: pointer;
   }
   details > div {
       border: 1px #ccc solid;
       padding: 10px;
   }
   details[open] > summary {
       color:#eee;
       background-color:#333;
   }
   </style>
</head>
<body>
<details>
   <summary>Prințul Andrei și Pierre în Bogucharovo</summary>
   <div>În jurul casei era plantată o grădină tânără. Gardurile și porțile erau solide și noi; sub un adăpost
   stăteau două țevi de pompieri și un butoi, vopsit în verde; drumurile erau drepte, podurile solide cu balustrade.
   Peste tot erau amprenta ordonării și gospodăriei.</div>
</details>
</body>
</html>
     Cu ajutorul selectorului details[open] ne putem referi la elementul details în starea deschisă.
details[open] > summary {
   color:#eee;
   background-color:#333;
}
     Permite setarea stilurilor pentru elementul summary în starea deschisă. Astfel, în acest caz, la deschiderea elementului details schimbăm culoarea stilului și a fundalului titlului.
     Configurarea markerului
Implicit, elementul summary folosește un simbol triunghiular ca marker de ascundere/deschidere. Acesta poate fi, de asemenea, configurat.
Pentru a configura imaginea markerului, se poate folosi proprietatea list-style, precum și proprietăți suplimentare precum list-style-type sau list-style-image, care sunt utilizate pentru stilizarea listelor. De exemplu, dacă este necesar să elimini acest marker, se poate aplica stilul list-style: none:
<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8" />
   <title>FDC.COM</title>
   <style>
   details > summary {
       padding: 5px;
       background-color: #eee;
       color: #333;
       border: 1px #ccc solid;
       cursor: pointer;
       list-style: none;
   }
   details > div {
       border: 1px #ccc solid;
       padding: 10px;
   }
   details[open] > summary {
       color:#eee;
       background-color:#333;
   }
   </style>
</head>
<body>
<details>
   <summary>Prințul Andrei și Pierre în Bogucharovo</summary>
   <div>În jurul casei era plantată o grădină tânără. Gardurile și porțile erau solide și noi; sub un adăpost stăteau două țevi de pompieri și un butoi,
   vopsit în verde; drumurile erau drepte, podurile solide cu balustrade. Peste tot erau amprenta ordonării și gospodăriei.</div>
</details>
</body>
</html>
     
     Alt exemplu - aplicarea stilului list-style-type: disc;
<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8" />
   <title>FDC.COM</title>
   <style>
   details > summary {
       padding: 5px;
       background-color: #eee;
       color: #
333;
       border: 1px #ccc solid;
       cursor: pointer;
       
       list-style-type: disc;  /* setăm markerul */
   }
   details > div {
       border: 1px #ccc solid;
       padding: 10px;
   }
   details[open] > summary {
       color:#eee;
       background-color:#333;
   }
   </style>
</head>
<body>
<details>
   <summary>Prințul Andrei și Pierre în Bogucharovo</summary>
   <div>În jurul casei era plantată o grădină tânără. Gardurile și porțile erau solide și noi; sub un adăpost stăteau două țevi de pompieri și un butoi,
   vopsit în verde; drumurile erau drepte, podurile solide cu balustrade. Peste tot erau amprenta ordonării și gospodăriei.</div>
</details>
</body>
</html>
     
     Configurarea cu ajutorul proprietății content
Desigur, nu suntem limitați la proprietatea list-style și putem controla mai fin titlul, de exemplu, folosind proprietatea content:
<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8" />
   <title>FDC.COM</title>
   <style>
   details > summary {
       padding: 5px;
       background-color: #eee;
       color: #333;
       border: 1px #ccc solid;
       cursor: pointer;
       list-style: none;
   }
   details > div {
       border: 1px #ccc solid;
       padding: 10px;
   }
   details[open] > summary {
       color:#eee;
       background-color:#333;
   }
   summary:before {
      content: "+";
      font-size: 20px;
      font-weight: bold;
      margin: -5px 5px 0 0;
   }
   details[open] summary:before {
      content: "-";
   }
   </style>
</head>
<body>
<details>
   <summary>Prințul Andrei și Pierre în Bogucharovo</summary>
   <div>În jurul casei era plantată o grădină tânără. Gardurile și porțile erau solide și noi; sub un adăpost stăteau două țevi de pompieri și un butoi,
   vopsit în verde; drumurile erau drepte, podurile solide cu balustrade. Peste tot erau amprenta ordonării și gospodăriei.</div>
</details>
</body>
</html>
     În acest caz, folosind selectorul summary:before, stabilim conținutul care va fi plasat înaintea conținutului principal al elementului summary. Selectorul details[open] summary:before permite să facem același lucru, doar că în starea deschisă. În final, în starea ascunsă markerul va afișa simbolul +, iar în starea deschisă - simbolul -.