简体   繁体   English

链接全屏覆盖点击

[英]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: 因此,我的问题是:

  1. How do I achieve this outcome (or something very close to it)? 我如何实现此结果(或非常接近它的结果)? Note - the site is being developed on WP. 注意-网站正在WP上开发。 I'm not sure if that changes anything. 我不确定这是否会改变。
  2. Once it is done, how do I add Project Information to the overlay? 完成后,如何将项目信息添加到叠加层?

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: 重要时刻:

  • .overlay must have width: 0 and position: fixed .overlay必须具有宽度:0和位置:固定
  • .content must have width in absolute measure, ie px/rem/em .content必须具有绝对宽度,即px / rem / em

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()">&times;</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()">&#9776; open</span> <script> </script> </body> </html> 

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

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