[英]Full Screen Overlay on Link Click
A client has very specifically requested that their project page has a similar feel to this . 客户端已经很明确要求他们的项目页面有类似的感觉来此 。 Whereby, you click a '+' button to display project information, in what I would say is a full-screen overlay window.
因此,您单击“ +”按钮以显示项目信息,在我看来,这是一个全屏覆盖窗口。
I'm familiar with HTML / CSS & while I have dabbled with PHP I have never touched JS. 我熟悉HTML / CSS,而涉足PHP却从未接触过JS。 And I'm pretty sure that is what the developer of the above site has used here.
而且我非常确定,这就是上面网站的开发人员在这里使用的内容。
So, my questions are: 因此,我的问题是:
On button click add class active to .element and thats it 在按钮上单击,将活动类添加到.element,就是这样
.element {
bottom: 0;
height: 100%;
left: -100%;
position: fixed;
right: auto;
top: 0;
width: 100%;
transition: left .3s ease-in;
}
.element.active {
left: 0;
right: 0;
}
I created a small pen demonstrating how you can achieve this using CSS and very little plain Javascript: 我创建了一支小笔,演示如何使用CSS和很少的纯Javascript实现此目的:
https://codepen.io/Tauka/pen/OjEQzE https://codepen.io/Tauka/pen/OjEQzE
.overlay {
position: fixed;
top: 0;
left: 0;
width: 0;
height: 100%;
background-color: green;
transition: width 2s ease-out;
overflow-x:hidden;
}
Important moments: 重要时刻:
Hope it helps! 希望能帮助到你!
You can find a good example on the W3School web site. 您可以在W3School网站上找到一个很好的例子。 Look at that https://www.w3schools.com/howto/howto_js_fullscreen_overlay.asp .
看看那个https://www.w3schools.com/howto/howto_js_fullscreen_overlay.asp 。
You can see on that site the almost exact same effect. 您可以在该站点上看到几乎完全相同的效果。 I give the example code just here :
我在这里给出示例代码:
function openNav() { document.getElementById("myNav").style.width = "100%"; } function closeNav() { document.getElementById("myNav").style.width = "0%"; }
body { margin: 0; font-family: 'Lato', sans-serif; } .overlay { height: 100%; width: 0; position: fixed; z-index: 1; top: 0; left: 0; background-color: rgb(0,0,0); background-color: rgba(0,0,0, 0.9); overflow-x: hidden; transition: 0.5s; } .overlay-content { position: relative; top: 25%; width: 100%; text-align: center; margin-top: 30px; } .overlay a { padding: 8px; text-decoration: none; font-size: 36px; color: #818181; display: block; transition: 0.3s; } .overlay a:hover, .overlay a:focus { color: #f1f1f1; } .overlay .closebtn { position: absolute; top: 20px; right: 45px; font-size: 60px; } @media screen and (max-height: 450px) { .overlay a {font-size: 20px} .overlay .closebtn { font-size: 40px; top: 15px; right: 35px; } }
<!DOCTYPE html> <html> <head> <style> </style> </head> <body> <div id="myNav" class="overlay"> <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a> <div class="overlay-content"> <a href="#">About</a> <a href="#">Services</a> <a href="#">Clients</a> <a href="#">Contact</a> </div> </div> <h2>Fullscreen Overlay Nav Example</h2> <p>Click on the element below to open the fullscreen overlay navigation menu.</p> <p>In this example, the navigation menu will slide in, from left to right:</p> <span style="font-size:30px;cursor:pointer" onclick="openNav()">☰ open</span> <script> </script> </body> </html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.