W3.CSS 模态

模态是显示在当前页面顶部的对话框/弹出窗口:

×

模态标题

Hello World!

Go back to W3.CSS Modal to learn more!

Modal Footer Close


W3.CSS 模态类

W3.CSS 为模态窗口提供了以下类:

定义
w3-modal 模态容器
w3-modal-content 模态内容

创建模态框

w3-modal 类定义模态框的容器。

w3-modal-content 类定义模态内容。

模态内容可以是任何 HTML 元素(div、标题、段落、图像等)。

实例

<!-- 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>
亲自试一试 »

打开一个模态框

使用任何 HTML 元素打开模态框。 但是,这通常是一个按钮或一个链接。

使用 document.getElementById() 方法添加 onclick 属性并指向模式的 ID(在我们的示例中为 id01)。


关闭模态框

要关闭模式,请将 w3-button 类与指向模式 ID (id01) 的 onclick 属性一起添加到元素。 您也可以通过在模态框外单击来关闭它(请参见下面的示例)。

提示: &times; 是关闭图标的首选 HTML 实体,而不是字母"x"。


模态页眉和页脚

使用 w3-container 类在模态内容中创建不同的部分:

×

Modal Header

Some text..

Some text..

Modal Footer

实例

<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>
亲自试一试 »

模态卡片

要将模式显示为卡片,请将 w3-card-* 类之一添加到 w3-modal-content 容器:

×

Modal Header

Some text..

Some text..

Modal Footer

实例

<div class="w3-modal-content w3-card-4">
亲自试一试 »

动态模态框

使用任何 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

实例

<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">
亲自试一试 »

您还可以通过在 w3-modal 元素上设置 w3-animate-opacity 类来淡入模态的背景色:

实例

<div class="w3-modal w3-animate-opacity">
亲自试一试 »

模态图像

单击图像以全尺寸显示为模态:

Norway
×
Norway

实例

<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>
亲自试一试 »

模态图片库

单击图像以全尺寸显示:

×

实例

<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>
亲自试一试 »

模态登录表单

这个例子为登录创建了一个模态:


× Avatar
Remember me
Forgot password?

实例

亲自试一试 »

带标签内容的模态

此示例创建一个带有选项卡式内容的模态:

×

Header

London

伦敦是英国人口最多的城市, 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.

Paris

Paris is the capital of France.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Tokyo

Tokyo is the capital of Japan.


实例

亲自试一试 »

关闭模态框

在上面的例子中,我们使用了一个按钮来关闭模态框。 但是,使用一点点 JavaScript,您还可以在单击模态框外部时关闭模态框:

实例

// 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";
  }
}
亲自试一试 »

高级:灯箱(模态图片库)

此示例展示了如何在模式中添加图像幻灯片,以创建"灯箱":

×

Nature and sunrise
French Alps
Mountains and fjords

实例

点击图片:
亲自试一试 »

提示: 要了解有关幻灯片的更多信息,请访问我们的 W3.CSS 幻灯片 章节。