如何在滚动时仅更改导航的背景颜色,而不更改文本和徽标不透明度
How to change only background color of the navigation on scroll, without changing text and logo opacity
我正在尝试在滚动时将导航栏的不透明度从低更改为高。我的代码正在工作,唯一的问题是导航菜单项也失去了不透明度。我希望它们以及徽标始终保持白色和不透明度 1,只想更改背景不透明度。这是我的代码
.HTML
<nav>
<div id='cssmenu'>
<div id="logo">
<a href="#"><img src="images/logo.png" /></a>
</div>
<ul>
<li><a href='#'>Home</a></li>
<li class='active'><a href='#'>Products</a></li>
<li><a href='#'>About</a></li>
<li><a href='#'>Contact</a></li>
</ul>
</div>
</nav>
.CSS
#cssmenu {
font-family: Montserrat, sans-serif;
background-color: #09090c;
position: fixed;
width:100%;
background-color:rgba(9, 9, 12, 1);
}
#cssmenu > ul > li {
float: right;
}
#cssmenu img{
float:left;
margin-left:10px;
}
.JS
$(document).on('scroll', function (e) {
$('nav').css('opacity', ($(document).scrollTop() / 200));
});
代替不透明度,你可以更好地使用RGBA。
因此,当您滚动时,让它从背景:rgba(255,255,255,0)转到背景:rgba(255,255,255,1);
使用
rgba(red, green, blue, alpha)
而不是
opacity
最后一个数字表示颜色的不透明度,1 表示全彩色,0.5 表示 50% 不透明度。值介于 0 - 255 之间。
在您的示例中,它是
rgba(9, 9, 12, 1)
为全彩。
您可以使用此工具将十六进制 (#ffffff) 转换为 rgb,例如:http://hex2rgba.devoth.com/
相关文章:
- 如何更改文本框控件的不透明度值
- jQuery添加的文本不显示
- 在js中访问元素时不透明度和样式未定义,但在css中定义
- Greenstock不透明度动画从0到1再返回
- 如何在html画布上替换ByImage()而不是drawImage()(忽略不透明度)
- 设置1400个Raphael.js对象的不透明度动画会影响动画性能
- 选中复选框时降低父级的不透明度
- 更改alphaMap不透明度不会更新(THRE.JS R76)
- 动画不透明度弄乱了我的文本
- 使用滚动魔术的文本框的补间不透明度
- 如何在滚动时仅更改导航的背景颜色,而不更改文本和徽标不透明度
- 底图参考图层(文本)忽略选择更改时的不透明度
- 当选择元素上方的元素(不透明度:0.001)时,元素后面的 rails/css/突出显示文本
- D3.js文本输入(在svg中)将不透明度0转换为1 won't结束于1
- 如何使用javascript更改背景(而非文本)颜色不透明度
- CSS文本区域-为每条可见线提供不同的不透明度
- IE的文本不透明度不起作用
- 如何更改搜索框中文本的不透明度
- 是否有一种方法来动画文本区域的不透明度与jQuery
- 在鼠标悬停时,更改图像's不透明度和覆盖文本