我是响应式设计的新手,想知道如何在单击 SPAN 时使背景颜色消失,我的代码如下:
HTML 代码
<body>
<span class="menu-trigger">MENU </span>
<nav class = "nav-main">
<ul>
<li>
<a href = "#" class = "nav-item"> HOME</a>
</li>
<li>
<a href = "#" class = "nav-item">ABOUT US </a>
</li>
<li>
<a href = "#" class = "nav-item">PORTFOLIO </a>
</li>
<li>
<a href = "#" class = "nav-item">SERVICES </a>
</li>
<li>
<a href = "#" class = "nav-item">CONTACT US </a>
</li>
</ul>
</nav>
</body>
CSS
@media screen and (max-width: 480px){
.menu-trigger{
display:block;
color:#305782;
background-color: #d5dce4;
padding:10px;
text-align: right;
font-size: 83%;
cursor: pointer;
}
.nav-main {
display:none;
}
.nav-expanded{
display:block;
background-color:none;
}
.nav-main > ul > li{
float:none;
border-bottom: 2px solid #d5dce4;
background-color:black;
}
.nav-main > ul > li:last-child{
border-bottom: none;
}
.nav-main .logo{
display:none;
}
.nav-item:hover {
background-color:forestgreen;
}
}
JQUERY
<script type ="text/javascript">
jQuery( document ).ready(function() {
jQuery(".menu-trigger").click(function(){
jQuery(".nav-main").slideToggle(400, function (){
jQuery(this).toggleClass("nav-expanded").css('display', '');
});
});
});
</script>
JS fiddle
https://jsfiddle.net/k4ytvyef/2/ 正如您在移动 View 中调整屏幕大小时会注意到的那样,HOME 选项的背景很长,我该如何摆脱它?
最佳答案
在您的 jQuery 代码下添加它应该可以解决问题。
window.onresize = function() {
if (window.matchMedia('(max-width: 480px)').matches) {
jQuery(".nav-main").css("background-color", "inherit");
} else
jQuery(".nav-main").css("background-color", "");
jQuery(".nav-main").css("display", ""); // Display navbar back when you change width
}
关于javascript - 单击某些内容时如何摆脱背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37645528/