我是HTML,CSS和Javascript的新手。 我有一个元素(导航点),应该只对我的页面的特定部分可见。剩下的时间我宁愿隐藏它。我尝试使用媒体查询:元素仅在特定高度可见
@media screen and (min-height:200vh) and (max-height: 600vh)
{
.invisible{
visibility: visible;
}
}
该段是在一个div中。那么有可能让这个div在其他div上徘徊时可见吗?
我是HTML,CSS和Javascript的新手。 我有一个元素(导航点),应该只对我的页面的特定部分可见。剩下的时间我宁愿隐藏它。我尝试使用媒体查询:元素仅在特定高度可见
@media screen and (min-height:200vh) and (max-height: 600vh)
{
.invisible{
visibility: visible;
}
}
该段是在一个div中。那么有可能让这个div在其他div上徘徊时可见吗?
首先在您的媒体查询中使用vh
和vw
不起作用。按照定义100vh
是查看您网站的设备的视口高度的100%。这意味着min-height: 200vh
媒体查询将仅适用于其视口为2x比设备视口本身更高的设备。没有什么比自己高两倍,除非它是0,所以这个媒体查询永远不会生效。
这就是说,我希望你能说清楚你的意思是段和你正在努力完成什么。你们是不是要......
<p>
或<div>
这样上要回答第二种情况,以及有关在另一个鼠标悬停时隐藏div的问题,我提出以下解决方案。不过,如果这不是你所得到的,我很乐意更新我的答案。
HTML:
<div class="container" id="my_segment">
<div class="nav-dots">
Navigation dots go here
</div>
</div>
在这里,我们分配my_segment
id来,我们想隐藏在NAV-点的元素。请注意,每页只能使用一次唯一的id。
CSS:
.container {
display: inline-block;
background-color: #FFCCAA;
}
.invisible {
visibility: hidden;
}
的JavaScript:
// Find our element
let seg = document.getElementById('my_segment');
// Add a mouseover event handler to our element
seg.addEventListener('mouseover', function() {
// Find nav-dots inside our element
let nav_dot_elements = seg.getElementsByClassName('nav-dots');
// Remove the 'invisible' class
nav_dot_elements[0].classList.remove('invisible');
});
// Add a mouseout event handler
seg.addEventListener('mouseout', function() {
// Find nav-dots inside our element
let nav_dot_elements = seg.getElementsByClassName('nav-dots');
// Add the 'invisible' class
nav_dot_elements[0].classList.add('invisible');
});
既然你是新的JS我试图保持这个例子简单。这只适用于在一个元素和上使用'悬停显示'行为的情况下,您只能在此容器中使用一个'nav-dots'元素。亲自尝试一下,让我知道它是如何工作的!
Misacorp,这不适合我。按部分我的意思是另一个分区。基本上我想让我的navdots只在该div中显示。我写了一个jQuery代码,它不完美,但工作一点点。 – Nightshade
$(document).ready(function(){(“。container1”)。hide(); //最初隐藏您的div var topOfOthDiv = $(“。fourth”)。offset()。top; var bottomOfOthDiv = $(“#fifth”)。offset()。top; $(window).scroll(function(){ if($(window).scrollTop()> topOfOthDiv && $(window).scrollTop )(//。滚动通过另一个div?) $(“。container1”)。show(200); (); }); }); – Nightshade
根据您的代码判断,您希望'.container1'显示用户滚动到“.fourth”时隐藏“.container1”的任何其他情况。你的代码看起来很好,但如果你的页面上有'.fourth'或'.container1'多个实例,你会遇到问题。如果你想要一个解决这个或其他改进,你能提供你的代码的其余部分,例如作为一个工作Codepen演示。 – Misacorp
请同时包含HTML和javscript。 –