为了账号安全,请及时绑定邮箱和手机立即绑定

如何显示非模态/非模态 HTML/JavaScript 对话

如何显示非模态/非模态 HTML/JavaScript 对话

料青山看我应如是 2024-01-11 16:14:04
我根据 w3schools 上的示例创建了一个模态对话。但我一直无法找到有关如何使其非模态的指导。即是否可以显示对话并且我仍然可以在后台按链接?实际上,我想要实现的是允许对话框内的链接可单击,并允许其后面主页上的 JavaScript 对这些事件做出反应。<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <meta http-equiv="Content-Security-Policy"  content="connect-src * 'unsafe-inline';">        <style>/* The Modal (background) */.modal {  display:block; /* Hidden by default */  position: fixed; /* Stay in place */  z-index: 1; /* Sit on top */  left: 0;  top: 0;  width: 100%; /* Full width */  height: 100%; /* Full height */  overflow-y: auto; /* Enable scroll if needed */  background-color: rgb(0,0,0); /* Fallback color */  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */}/* Modal Content/Box */.modal-content {  background-color: #fefefe;  margin: 15% auto; /* 15% from the top and centered */  padding: 20px;  border: 1px solid #888;  width: 80%; /* Could be more or less, depending on screen size */}/* The Close Button */.close {  color: #aaa;  float: right;  font-size: 28px;  font-weight: bold;}.close:hover,.close:focus {  color: black;  text-decoration: none;  cursor: pointer;}     </style>    </head><body>    <a href='#'>Press me press me I am blocked</a>    <!-- The Modal -->    <div id="myModal" class="modal">        <!-- Modal content -->        <div class="modal-content">        <span class="close" onclick="modalHide()">&times;</span>        <div id="modtext">Some text in the Modal..</div>        </div>    </div>    <script>    function modalHide(){        document.getElementById("myModal").style.display = "none";    }    </script></body></html>
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

只需删除(.modal)模态背景,因为它作为覆盖层工作。


/* The Modal (background) */

.modal {

  display:block; /* Hidden by default */

  position: fixed; /* Stay in place */

  z-index: 1; /* Sit on top */

  left: 0;

  top: 0;

  width: 100%; /* Full width */

  height: 100%; /* Full height */

  overflow-y: auto; /* Enable scroll if needed */

  background-color: rgb(0,0,0); /* Fallback color */

  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */

}

上面的代码创建了一个覆盖层并显示其中的对话框。如果删除它,对话框后面的链接将起作用。


<!DOCTYPE html>

<html>

    <head>

        <meta charset="UTF-8">

        <meta http-equiv="Content-Security-Policy"  content="connect-src * 'unsafe-inline';">

        <style>



/* Modal Content/Box */

.modal-content {

  background-color: #fefefe;

  margin: 15% auto; /* 15% from the top and centered */

  padding: 20px;

  border: 1px solid #888;

  width: 80%; /* Could be more or less, depending on screen size */

}


/* The Close Button */

.close {

  color: #aaa;

  float: right;

  font-size: 28px;

  font-weight: bold;

}


.close:hover,

.close:focus {

  color: black;

  text-decoration: none;

  cursor: pointer;

    </style>

    </head>


<body>

    <a href='#'>Press me press me I am blocked</a>

    <!-- The Modal -->

    <div id="myModal" class="modal">

        <!-- Modal content -->

        <div class="modal-content">

        <span class="close" onclick="modalHide()">&times;</span>

        <div id="modtext">Some text in the Modal..</div>

        </div>

    </div>

    <script>

    function modalHide(){

        document.getElementById("myModal").style.display = "none";

    }

    </script>

</body>


</html>


查看完整回答
反对 回复 2024-01-11
  • 1 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信