W3.CSS Modal


Modální je dialogové okno/vyskakovací okno, které se zobrazuje v horní části aktuální stránky:

×

Modal Header

Hello World!

Go back to W3.CSS Modal to learn more!

Modal Footer Close


Modální třídy W3.CSS

W3.CSS poskytuje následující třídy pro modální okna:

Třída Definuje
w3-modální Modální kontejner
w3-modal-content Modální obsah

Vytvořte modal

Třída w3-modal definuje kontejner pro modal.

Třída w3-modal-content definuje modální obsah.

Modálním obsahem může být jakýkoli HTML prvek (div, nadpisy, odstavce, obrázky atd.).

Příklad

<!-- Trigger/Open the Modal -->
<button onclick="document.getElementById('id01').style.display='block'"
class="w3-button">Open Modal</button>

<!-- The Modal -->
<div id="id01" class="w3-modal">
  <div class="w3-modal-content">
    <div class="w3-container">
      <span onclick="document.getElementById('id01').style.display='none'"
      class="w3-button w3-display-topright">&times;</span>
      <p>Some text in the Modal..</p>
      <p>Some text in the Modal..</p>
    </div>
  </div>
</div>


Otevřete modal

K otevření modálu použijte libovolný prvek HTML. Často se však jedná o tlačítko nebo odkaz.

Přidejte atribut onclick a ukažte na id modalu ( v našem příkladu id01 ) pomocí metody document.getElementById().


Zavřete modal

Chcete-li zavřít modal, přidejte do prvku třídu w3-button spolu s atributem onclick, který ukazuje na id modalu ( id01 ). Můžete jej také zavřít kliknutím mimo modal (viz příklad níže).

Tip: × je preferovaná HTML entita pro zavírací ikony, spíše než písmeno "x".


Modální záhlaví a zápatí

Pomocí tříd w3-container vytvořte různé sekce v modálním obsahu:

×

Modal Header

Some text..

Some text..

Modal Footer

Příklad

<div id="id01" class="w3-modal">
  <div class="w3-modal-content">

    <header class="w3-container w3-teal">
      <span onclick="document.getElementById('id01').style.display='none'"
      class="w3-button w3-display-topright">&times;</span>
      <h2>Modal Header</h2>
    </header>

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

    <footer class="w3-container w3-teal">
      <p>Modal Footer</p>
    </footer>

  </div>
</div>

Modální jako karta

Chcete-li zobrazit modal jako kartu, přidejte jednu z tříd w3-card-* do kontejneru w3-modal-content :

×

Modal Header

Some text..

Some text..

Modal Footer

Příklad

<div class="w3-modal-content w3-card-4">

Animované modály

K posunutí modálu z určitého směru použijte kteroukoli z tříd w3-animate-zoom|top|bottom|right|left :

×

Modal Header

Some text..

Some text..

Modal Footer

×

Modal Header

Some text..

Some text..

Modal Footer

×

Modal Header

Some text..

Some text..

Modal Footer

×

Modal Header

Some text..

Some text..

Modal Footer

×

Modal Header

Some text..

Some text..

Modal Footer

×

Modal Header

Some text..

Some text..

Modal Footer

×

Modal Header

Some text..

Some text..

Modal Footer

Příklad

<div class="w3-modal-content w3-animate-zoom">
<div class="w3-modal-content w3-animate-top">
<div class="w3-modal-content w3-animate-bottom">
<div class="w3-modal-content w3-animate-left">
<div class="w3-modal-content w3-animate-right">
<div class="w3-modal-content w3-animate-opacity">

Můžete také zeslabit barvu pozadí modalu nastavením třídy w3-animate-opacity na prvku w3-modal:

Příklad

<div class="w3-modal w3-animate-opacity">

Modální obrázek

Kliknutím na obrázek jej zobrazíte jako modální v plné velikosti:

Norsko
×
Norway

Příklad

<img src="img_snowtops.jpg" onclick="document.getElementById('modal01').style.display='block'" class="w3-hover-opacity">

<div id="modal01" class="w3-modal w3-animate-zoom" onclick="this.style.display='none'">
  <img class="w3-modal-content" src="img_snowtops.jpg">
</div>

Modální galerie obrázků

Kliknutím na obrázek jej zobrazíte v plné velikosti:

×

Příklad

<div class="w3-row-padding">
  <div class="w3-container w3-third">
    <img src="img_snowtops.jpg" style="width:100%" onclick="onClick(this)">
  </div>
  <div class="w3-container w3-third">
    <img src="img_lights.jpg" style="width:100%" onclick="onClick(this)">
  </div>
  <div class="w3-container w3-third">
    <img src="img_mountains.jpg" style="width:100%" onclick="onClick(this)">
  </div>
</div>

<div id="modal01" class="w3-modal" onclick="this.style.display='none'">
  <img class="w3-modal-content" id="img01" style="width:100%">
</div>

<script>
function onClick(element) {
  document.getElementById("img01").src = element.src;
  document.getElementById("modal01").style.display = "block";
}
</script>

Modální přihlašovací formulář

Tento příklad vytvoří modal pro přihlášení:


× Avatar
Remember me
Forgot password?

Příklad


Modální S Obsahem na záložkách

Tento příklad vytvoří modal s obsahem na kartách:

×

Header

London

London is the most populous city in the United Kingdom, with a metropolitan area of over 9 million inhabitants.

Lorem ipsum dolor sit amet, consectetur adipiscing 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.

Příklad


Close the Modal

In the examples above, we use a button to close the modal. However, with a little bit of JavaScript, you can also close the modal when clicking outside of the modal box:

Example

// Get the modal
var modal = document.getElementById('id01');

// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
  if (event.target == modal) {
    modal.style.display = "none";
  }
}

Advanced: Lightbox (Modal Image Gallery)

This example shows how to add an image slideshow inside a modal, to create a "lightbox":

×

Nature and sunrise

Nature and sunrise
French Alps
Mountains and fjords

Example

Click on an image:

Tip: To learn more about slideshows, visit our W3.CSS Slideshow chapter.