【发布时间】:2020-02-01 21:51:04
【问题描述】:
我想将滚动时导航栏的文本更改为白色。这适用于下拉菜单,我让它适用于主页按钮。但是,因为它是一个“a”选择器,所以它将它视为一个链接,因此当它被单击(访问)时,它将获得访问的颜色。所以我做了一个.test a:visited {color:inherit;}' 但这也不能解决问题。如果我添加.navbar .test {color:black;},那么滚动时它就不会变成白色了。有谁知道如何解决这个问题?
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop > 80 || document.documentElement.scrollTop > 80) {
document.getElementById("myTopnav").style.backgroundColor = "rgba(2,2,2,0.5)";
$('.dropbtn').addClass('whitenavbar');
$('.test').addClass('whitenavbar');
} else {
document.getElementById("myTopnav").style.backgroundColor = "red";
$('.dropbtn').removeClass('whitenavbar');
$('.test').removeClass('whitenavbar');
}
}
.navbar {
z-index: 1;
background-color: red;
top: 16px;
width: 100%;
position: fixed;
}
.navbar a {
float: left;
display: block;
font-size: 16px;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
.navbar .test {
font-size: 16px;
text-align: center;
padding: 25px 16px;
text-decoration: none;
}
.dropdown {
float: left;
}
.dropdown .dropbtn {
font-size: 16px;
border: none;
outline: none;
padding: 25px 16px;
background-color: inherit;
font-family: inherit;
margin: 0px;
text-decoration: none;
}
.whitenavbar {
color: white;
}
.test a:visited {
color: inherit;
}
.navbar a:hover,
.dropdown:hover .dropbtn {
background-color: rgba(2, 2, 2, 0.2);
text-decoration: none;
color: #FFFFFF;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
z-index: 1;
}
.dropdown-content a {
float: none;
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
.dropdown-content a:hover {
background-color: #ddd;
text-decoration: none;
color: #000000;
}
.dropdown:hover .dropdown-content {
display: block;
text-decoration: none;
}
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<div class="navbar" id="myTopnav">
<a class="test" href="http://2019.igem.org/Team:TUDelft"><b>Home</b></a>
<div class="dropdown">
<button class="dropbtn" onclick="myFunction()">Dropdown
<i class="fa fa-caret-down"></i>
</button>
<div class="dropdown-content" id="myDropdown">
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</div>
</div>
<!-- force scroll -->
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
【问题讨论】:
-
我想我很困惑,因为您的 Home 在您的 sn-p 中滚动时变为白色。编辑:还是只是 :visited 问题?
-
试试这个
.navbar .whitenavbar {color: white;}而不是.whitenavbar {color: white;}风格 -
@Taplar 这确实是访问的问题。所以家的颜色是紫色。如果我添加 '.navbar .test {color:black}' 那么滚动时颜色不会变为白色。所以它是一个或另一个..
标签: jquery html css css-selectors