W3.CSS Akordeony


Kliknij poniższe przyciski „Otwórz sekcję”, aby zobaczyć, jak działają akordeony:

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Accordion with Images:

Alps

French Alps


Akordeon

Akordeon służy do pokazywania (i ukrywania) treści HTML.

Użyj klasy w3-hide , aby ukryć zawartość akordeonu.

Użyj dowolnego przycisku, aby otworzyć i zamknąć zawartość:

Przykład

<button onclick="myFunction('Demo1')" class="w3-button w3-block w3-left-align">
Open Section 1</button>

<div id="Demo1" class="w3-container w3-hide">
  <p>Some text..</p>
</div>

<script>
function myFunction(id) {
  var x = document.getElementById(id);
  if (x.className.indexOf("w3-show") == -1) {
    x.className += " w3-show";
  } else {
    x.className = x.className.replace(" w3-show", "");
  }
}
</script>

Zarówno element używany do otwierania akordeonu, jak i zawartość akordeonu może być dowolnym elementem HTML.


Akordeon kontra rozwijane

Ta tabela pokazuje różnicę między akordeonem a listą rozwijaną:

AkordeonUpuścić
Treść przesuwa zawartość strony w dół Treść nakłada się na istniejącą treść strony
Treść jest często w 100% szeroka Treść ma szerokość 160 pikseli (domyślnie)
Często używane do otwierania wielu sekcji Często używany do otwierania jednej sekcji

Akordeon

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Menu rozwijane



Przyciski akordeonowe

Możesz użyć dowolnego elementu HTML, aby otworzyć zawartość akordeonu. Preferujemy przycisk z klasą w3-block , aby obejmował całą szerokość strony (100% szerokości).

Pamiętaj, że przyciski w W3.CSS są domyślnie wyśrodkowane. Użyj klasy w3-left-align , jeśli chcesz, aby były wyrównane do lewej. Nie musisz jednak podążać za naszym podejściem - akordeon i tak będzie dobrze wyglądał:

Lorem ipsum...

Lorem ipsum...

Centered content as well!

Przykład

<button onclick="myFunc('Demo1')" class="w3-button">
Normal button</button>

<div id="Demo1" class="w3-hide">
  <p>Lorem ipsum...</p>
</div>

<button onclick="myFunc('Demo2')" class="w3-button w3-block w3-left-align w3-green">
Left aligned and full-width</button>

<div id="Demo2" class="w3-hide">
  <p>Lorem ipsum...</p>
</div>

<button onclick="myFunc('Demo3')" class="w3-btn w3-block w3-red">
Centered and full-width</button>

<div id="Demo3" class="w3-hide w3-center">
  <p>Centered content as well!</p>
</div>


Aktywne przyciski akordeonowe

Użyj JavaScript, aby podświetlić otwarte akordeony (kliknięte):

Some text..

Some other text..

Przykład

// Add the w3-red class to all opened accordions
var x = document.getElementById(id);
if (x.className.indexOf("w3-show") == -1) {
  x.className += " w3-show";
  x.previousElementSibling.className += " w3-red";
} else {
  x.className = x.className.replace("w3-show", "");
  x.previousElementSibling.className =
  x.previousElementSibling.className.replace("w3-red", "");
}


Szerokość akordeonu

Domyślnie szerokość bloku wynosi 100%. Aby to zmienić, zmień właściwość CSS width kontenera harmonijki:

Some text..

Some text..

Some text..

Some text..

Przykład

<div class="w3-light-grey" style="width:50%">
  <button onclick="myFunction('Demo1')" class="w3-button w3-block">
    50%
  </button>
  <div id="Demo1" class="w3-hide">
    <p>Some text..</p>
  </div>
</div>


Zawartość akordeonu

Akordeon z linkami:

Przykład

<button onclick="myFunction('Demo1')" class="w3-button w3-block w3-left-align">
Accordion</button>

<div id="Demo1" class="w3-hide">
  <a href="#" class="w3-button w3-block w3-left-align">Link 1</a>
  <a href="#" class="w3-button w3-block w3-left-align">Link 2</a>
  <a href="#" class="w3-button w3-block w3-left-align">Link 3</a>
</div>

Akordeon jako lista:
  • Jill
  • przeddzień
  • Adam

Przykład

<button onclick="myFunction('Demo1')" class="w3-button w3-block w3-left-align">
Accordion</button>

<div id="Demo1" class="w3-hide">
  <ul class="w3-ul">
    <li>Jill</li>
    <li>Eve</li>
    <li>Adam</li>
  </ul>
</div>

Akordeon w pasku bocznym (więcej o paskach bocznych dowiesz się później):

Przykład

<div class="w3-sidebar w3-bar-block w3-light-grey w3-card" style="width:200px;">
  <a href="#" class="w3-bar-item w3-button">Link 1</a>
  <a href="#" class="w3-bar-item w3-button" onclick="myAccFunc()">Accordion</a>
  <div id="demoAcc" class="w3-hide">
    <a href="#" class="w3-bar-item w3-button">Link</a>
    <a href="#" class="w3-bar-item w3-button">Link</a>
  </div>
  <div class="w3-dropdown-click">
    <a href="#" class="w3-bar-item w3-button" onclick="myDropFunc()">Dropdown</a>
    <div id="demoDrop" class="w3-dropdown-content">
      <a href="#" class="w3-bar-item w3-button">Link</a>
      <a href="#" class="w3-bar-item w3-button">Link</a>
    </div>
  </div>
  <a href="#" class="w3-bar-item w3-button">Link 2</a>
  <a href="#" class="w3-bar-item w3-button">Link 3</a>
</div>


Animowane akordeony

Użyj dowolnej z klas w3-animate- do ściemniania, powiększania lub przesuwania zawartości akordeonu:

Przykład

<div id="Demo1" class="w3-hide w3-animate-zoom">