Home  >  Article  >  Web Front-end  >  How to create a responsive modal box using HTML, CSS and jQuery

How to create a responsive modal box using HTML, CSS and jQuery

WBOY
WBOYOriginal
2023-10-27 16:02:031181browse

How to create a responsive modal box using HTML, CSS and jQuery

How to use HTML, CSS and jQuery to make a responsive modal box

In modern web design, modal box (Modal) is a common Interactive elements, which can be used to display additional content, forms, or prompt information. The modal box can pop up after the user clicks a button or link, covering the current page and darkening the background content to focus the user's attention.

This article will introduce how to use HTML, CSS and jQuery to create a responsive modal box, allowing you to flexibly use this interactive element in web pages and ensure that it can adapt to the screen sizes of different devices.

HTML structure:
Let’s first take a look at the HTML structure of the modal box:

<!-- 按钮或链接 -->
<button id="modalBtn">打开模态框</button>

<!-- 模态框 -->
<div id="modal" class="modal">
  <div class="modal-content">
    <span class="close">&times;</span>
    <h2>模态框标题</h2>
    <p>这是模态框的内容。</p>
  </div>
</div>

In this example, we use a button to trigger the display of the modal box. The content of the modal box includes a title and a paragraph.

CSS Styles:
Next, we add some basic CSS styles to the modal and buttons.

/* 按钮样式 */
button {
  padding: 10px 20px;
  background-color: blue;
  color: white;
  border: none;
  cursor: pointer;
}

/* 模态框样式 */
.modal {
  display: none; /* 初始隐藏 */
  position: fixed; /* 固定定位 */
  z-index: 1; /* 高于其他元素 */
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto; /* 允许滚动 */
  background-color: rgba(0, 0, 0, 0.5); /* 半透明黑色背景 */
}

/* 模态框内容样式 */
.modal-content {
  background-color: white;
  margin: 10% auto; /* 居中 */
  padding: 20px;
  width: 80%;
  max-width: 600px;
}

/* 关闭按钮样式 */
.close {
  float: right;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}

.close:hover,
.close:focus {
  color: red;
  text-decoration: none;
  cursor: pointer;
}

jQuery script:
Finally, we use jQuery to write some scripts to handle the display and hiding of the modal box.

$(document).ready(function () {
  // 当点击按钮时显示模态框
  $("#modalBtn").click(function () {
    $("#modal").css("display", "block"); // 显示模态框
  });

  // 当点击关闭按钮或者模态框之外的区域时隐藏模态框
  $(".close, .modal").click(function () {
    $("#modal").css("display", "none"); // 隐藏模态框
  });

  // 防止点击模态框内容区域时隐藏模态框
  $(".modal-content").click(function () {
    return false;
  });
});

In this script, we use jQuery's click event to implement the function of showing and hiding the modal box. When the button is clicked, the modal will be displayed. The modal box will be hidden when the close button or area outside the modal box is clicked.

Effect display:
Now, we have completed the production of a simple responsive modal box. You can copy the above code into your web page, and then you can display the modal box on the web page.

On mobile devices, the modal automatically adapts to the size of the screen, and the entire content can be viewed by swiping. On desktop, the modal is centered and the background content is darkened.

Summary:
By using HTML, CSS and jQuery, we can easily make a responsive modal box. This modal box is versatile and can adapt to the screen sizes of different devices to provide a good user experience.

I hope this article will help you understand and use modal boxes. If you are not familiar with HTML, CSS and jQuery, it is recommended to learn these basic knowledge before trying to make a modal box. I wish you success!

The above is the detailed content of How to create a responsive modal box using HTML, CSS and jQuery. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn