MUI导航栏透明渐变----原生JS实现
来源:互联网 发布:用友t3软件数据备份 编辑:程序博客网 时间:2024/05/21 10:32
首先声明:由于backgroundColor的值采用的是RGBA,IE8及以下不支持,所以此效果不支持IE8及以下的浏览器
此效果采用的RGBA做的透明渐变,所以CSS样式中的backgroundColor的值必须是RGBA
css代码
body,p,h1{margin: 0;}.module-layer{ width: 100%; position: fixed; top: 0; left: 0; z-index: 100000;}.module-layer-content{ position: relative; min-width: 320px; max-width: 750px; width: 100%; margin: 0 auto; background-color: rgba(255, 0, 0, 0.9);}.module-layer-bg{ width: 100%; height: 100%; background: #000; opacity: .7; position: absolute; top: 0; left: 0; z-index: -1;}.layer-head-name{ height: 50px; line-height: 50px; text-align: center; padding: 0 50px; font-size: 20px;}.layer-return,.layer-share{ width: 50px; height: 50px; line-height: 50px; text-align: center; position: absolute; top:0; z-index: 1;}.layer-return{left: 0;}.layer-share{right: 0;}.fixed-layer{ height: 100%; display: none; z-index: 100001;}.relative-layer{height: 100%;}.layer-content{ padding:3%; position: relative; top: 20%;}.layer-close{ width: 2rem; height: 2rem; position: absolute; top:3%; right: 3%;}.pr { position:relative;}#shop-input::-webkit-input-placeholder { color:#fff;}#shop-input:-moz-placeholder { color:#fff;}#shop-input::-moz-placeholder { color:#fff;}#shop-input:-ms-input-placeholder { color:#fff;}#shop-input { border:none; outline:none; background:transparent;}.search-box { height:30px; border-radius:20px; top:10px; overflow:hidden; z-index:10;}.search-box:after { content:''; display:block; width:100%; height:30px; background:#fff; opacity:.5; position:absolute; top:0; left:0px; z-index:-1;}#shop-input { height:28px; line-height:28px; font-size:16px; position:absolute; top:0; left:30px;}.shop-search { width:16px; height:16px; position:absolute; top:7px; left:6px;}.layer-return{ background: url(images/return.png) no-repeat center center/12px 20px;}.layer-share{ background: url(images/share.png) no-repeat center center/20px 30px;}a { -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; -webkit-user-select: none;}.module-content{ min-width: 320px; max-width: 750px; width: 100%; margin: 0 auto; background: #fff;}.module-content div:first-child img{margin-top: 0;}.module-content div img{ display: block; width: 100%; margin-top: 10px;}
HTML代码
<header class="module-layer"> <div class="module-layer-content"> <p class="layer-return"></p> <h1 class="layer-head-name"> <div class="pr search-box"> <img class="shop-search" src="images/search.png"/> <input id="shop-input" type="text" placeholder="搜索店内商品" value="" /> </div> </h1> <p class="layer-share"></p> </div></header><div class="module-content"> <div><img src="images/banner.png"/></div> <div><img src="images/banner1.png"/></div> <div><img src="images/banner3.png"/></div> <div><img src="images/banner4.jpg"/></div> <div><img src="images/banner5.png"/></div> <div><img src="images/banner6.png"/></div> <div><img src="images/banner7.jpg"/></div> <div><img src="images/banner8.jpg"/></div></div>
JS代码
(function(){ //获取滚动条当前位置 function getScrollTop(){ var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0; if(document.body){ bodyScrollTop = document.body.scrollTop; } if(document.documentElement){ documentScrollTop = document.documentElement.scrollTop; } scrollTop = (bodyScrollTop - documentScrollTop > 0) ? bodyScrollTop : documentScrollTop; return scrollTop; } //获取CSS样式 function getStyle(element, attr){ if(element.currentStyle){ return element.currentStyle[attr]; }else{ return window.getComputedStyle(element,null)[attr]; } } //获取原始backgroundColor值 var color = getStyle(document.getElementsByClassName('module-layer-content')[0],'backgroundColor'); //取到RGB var colorRgb = color.substring(0,color.lastIndexOf(',') + 1); //取到A var colorA = color.substring(color.lastIndexOf(',') + 1,color.length - 1); //对A判断,如果最终值小于0.9,直接设置为1 if(colorA < 0.9){colorA = 1;} //设置背景色的A的函数 var setCoverOpacity = function() { document.getElementsByClassName('module-layer-content')[0].style.background = colorRgb + (((getScrollTop() / 550) > colorA) ? colorA : (getScrollTop() / 550)) + ')'; } //初始化函数 setCoverOpacity(); //绑定滚动监听事件 window.addEventListener('scroll',setCoverOpacity,false);}())
注意:
- 不兼容IE8及以下的IE浏览器;
- 550是滚动条到达位置的最终透明度,此处根据需要自定义;
- CSS终背景颜色的RGBA的A是最终透明度
demo效果
阅读全文
2 0
- MUI导航栏透明渐变----原生JS实现
- mui原生渐变式导航5+
- 导航栏透明渐变
- 导航栏渐变透明
- 原生js图片渐变透明兼容ie
- 几句话实现导航栏透明渐变 – iOS
- 几句话实现导航栏透明渐变 – iOS
- 几句话实现导航栏透明渐变-iOS
- 几句话实现导航栏透明渐变(iOS)
- 几句话实现导航栏透明渐变(iOS)
- Ionic3 透明导航栏、渐变导航栏
- 导航栏透明渐变(iOS)
- 导航栏渐变透明&下拉image放大
- 微信小程序----导航栏透明渐变一
- 微信小程序----导航栏透明渐变二
- 原生js实现导航栏点击之后添加样式
- UITableView头部ImageView下拉放大效果,导航栏透明渐变
- MG--Swift3.0导航栏的透明和颜色渐变
- Unity Editor下使用 Application.Quit()为什么程序没有退出?
- (13)多条件查询(精确查询、模糊查询):动态拼接sql
- Kaggle Titanic 竞赛
- 海航科技集团旗下天海投资与商汤科技达成合作协议,助力AI领域发展
- Shiro使用教程
- MUI导航栏透明渐变----原生JS实现
- Python 语言程序设计---第一周练习题
- Glide内存缓存
- 安卓开发学习道路上觉得不错的学习网站
- CAS 过期时间设置无效
- 会动的爆米花
- 前端菜鸟所感所悟
- 4.布局与控件
- CoordinatorLayout