简体   繁体   English

在模式中使用纯HTML和CSS

[英]Using pure HTML and CSS in modal

I found this modal http://codepen.io/imprakash/pen/GgNMXO pure html and css no js. 我发现此模式http://codepen.io/imprakash/pen/GgNMXO纯html和CSS否js。 It's all great and all but how can I make it trigger without using a button or link? 一切都很好,但是如何在不使用按钮或链接的情况下触发它呢? I want it to pop up to welcome visitors once the website load. 网站加载后,我希望它弹出来欢迎访问者。

<div id="popup1" class="overlay">
<div class="popup">
    <h2>Here i am</h2>
    <a class="close" href="#">&times;</a>
    <div class="content">
        Thank to pop me out of that button, but now i'm done so you can close this window.
    </div>
</div>

You could make it with animations. 您可以通过动画制作。 A quick example: 一个简单的例子:

 #popup1 { animation-name: welcome; animation-duration: 2s; } @keyframes welcome { 0% { opacity: 0; } 30% { opacity: 0; } 100% { opacity: 1; } } 
 <div id="popup1" class="overlay">Hey!</div> 

i modified your codepen 我修改了你的codepen

 body { font-family: Arial, sans-serif; background: url(http://www.shukatsu-note.com/wp-content/uploads/2014/12/computer-564136_1280.jpg) no-repeat; background-size: cover; height: 100vh; } h1 { text-align: center; font-family: Tahoma, Arial, sans-serif; color: #06D85F; margin: 80px 0; } .box { width: 40%; margin: 0 auto; background: rgba(255,255,255,0.2); padding: 35px; border: 2px solid #fff; border-radius: 20px/50px; background-clip: padding-box; text-align: center; } .button { font-size: 1em; padding: 10px; color: #fff; border: 2px solid #06D85F; border-radius: 20px/50px; text-decoration: none; cursor: pointer; transition: all 0.3s ease-out; } .button:hover { background: #06D85F; } .overlay { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.7); transition: opacity 500ms; visibility: hidden; opacity: 0; } .overlay:not(:target) { visibility: visible; opacity: 1; } .popup { margin: 70px auto; padding: 20px; background: #fff; border-radius: 5px; width: 30%; position: relative; transition: all 5s ease-in-out; } .popup h2 { margin-top: 0; color: #333; font-family: Tahoma, Arial, sans-serif; } .popup .close { position: absolute; top: 20px; right: 30px; transition: all 200ms; font-size: 30px; font-weight: bold; text-decoration: none; color: #333; } .popup .close:hover { color: #06D85F; } .popup .content { max-height: 30%; overflow: auto; } @media screen and (max-width: 700px){ .box{ width: 70%; } .popup{ width: 70%; } } 
 <h1>Popup/Modal Windows without JavaScript</h1> <div class="box"> <a class="button" href="#popup1">Let me Pop up</a> </div> <div id="popup1" class="overlay"> <div class="popup"> <h2>Here i am</h2> <a class="close" href="#popup1">&times;</a> <div class="content"> Thank to pop me out of that button, but now i'm done so you can close this window. </div> </div> </div> 

As the technique uses :target psuedo class, you can directly target with appending the id of that pop up element. 由于该技术使用:target psuedo类,因此可以直接添加该弹出元素的ID作为目标。

Try this, http://codepen.io/imprakash/pen/GgNMXO#popup1 试试这个, http://codepen.io/imprakash/pen/GgNMXO#popup1

Just appended #popup1 to target. 只是将#popup1附加到目标。 Thus as soon as you open, popup will be targeted and opened. 因此,一旦您打开,便会锁定并打开弹出窗口。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM