纯CSS实现点击事件展现隐藏div菜单列表/元素切换
2019-02-17 01:49:00来源:博客园 阅读 ()
在写移动端导航的时候经常用到点击按钮出现/隐藏导航条的情况,最常见的方法当然还是前端框架直接调用,省心省力,不易出错;当然还有使用纯JS实现的小代码段。我这里整理了纯CSS实现方式,给需要的人和给自己做个笔记:
实现原理利用CSS伪类:target
1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>纯CSS实现点击事件展现隐藏div菜单列表</title> 6 <style> 7 /*样式预设,可根据自身情况设定增删*/ 8 .l-btn{ 9 position: relative; 10 width: 1.875rem; 11 height: 1.875rem; 12 } 13 .l-btn>a:first-child,.l-btn>a:first-child+a{ 14 width: 1.875rem; 15 height: 1.875rem; 16 line-height: 1.875rem; 17 text-align: center; 18 cursor: pointer; 19 text-decoration: none; 20 } 21 .l-btn>a:first-child+a+*{ 22 position: absolute; 23 width: 20rem; 24 display: none;/*这个样式可以设置透明度、高度等进行变换,配合CSS3过渡,达到更美观的效果,这里仅做功能*/ 25 } 26 27 /*单独*/ 28 .l-btn>a:first-child{ 29 display: block; 30 } 31 .l-btn>a:first-child+a{ 32 display: none; 33 } 34 /*-----为了方便理解,这里单独拿出来写,实际应用时可进行CSS分组合并----*/ 35 .l-btn>a:first-child:target{ 36 display: none; 37 } 38 .l-btn>a:first-child:target+a{ 39 display: block; 40 } 41 .l-btn>a:first-child:target+a+*{ 42 display: block;/*这里需要与上面设置的属性匹配*/ 43 } 44 </style> 45 </head> 46 47 <body> 48 <div class="l-btn"> 49 <a href="#l-btn-a" id="l-btn-a">三</a> 50 <a href="#l-btn-b" id="l-btn-b">X</a> 51 <div>我是菜单列表</div> 52 </div> 53 </body> 54 </html>
可以配合CSS3过渡做出很多不同的效果,具体不做详细演示
效果没有JS那么完美,毕竟地址栏会出现你的锚点信息,当然这是比较小的瑕疵,好处应该是轻量吧。。
另外使用:first-child(CSS2)作为选择器仅为了兼容更低版本的IE
原文链接:https://www.cnblogs.com/vanwee/p/10374606.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- DIV居中的经典方法 2020-06-13
- CSS中的float和margin的混合使用 2020-06-11
- Html/css 列表项 区分列表首尾 2020-06-11
- css与javascript重难点,学前端,基础不好一切白费! 2020-06-11
- ie8下透明度处理 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash