温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CSS3怎么制作Dropdown下拉菜单

发布时间:2021-08-10 21:00:21 来源:亿速云 阅读:186 作者:chen 栏目:web开发

这篇文章主要讲解了“CSS3怎么制作Dropdown下拉菜单”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS3怎么制作Dropdown下拉菜单”吧!


先上效果图

正如标题所说,本文是教你如何巧用CSS3:target伪类制作Dropdown下拉菜单,原生HTML+CSS,无JavaScript。为了吸引各位往下看,先上实际例子,再进行剖析。

Duang~ 实际例子其实就是DeveMobile 主题的右上角那个按钮,你点一下就会有一个Dropdown下拉菜单出现,在其他区域点击返回原状。

直接看这个gif 图片:
CSS3怎么制作Dropdown下拉菜单

实例剖析

从解释原理的角度我们将HTML 拉出来最小化代码如下:

CSS Code复制内容到剪贴板

  1. <a href="#dropdown-box" class="dropdown-switcher"></a>   

  2. <div id="dropdown-box">   

  3.     <a href="##" class="close"></a>   

  4.     <div class="dropdown">   

  5.     <ul>   

  6.         <li></li>   

  7.         <li></li>   

  8.     </ul>   

  9. </div>  

大体上上面的HTML代码可以分为两部分,一部分是一个出发下拉动作的入口(我习惯称为“开关”)&mdash;&mdash;通常是一个button(实例是将a标签替换为一个button的功能);一部分就是触发动作的下拉菜单显示了。

可能你会问close 这个类修饰的a标签那段是做什么的?当你触发下拉菜单后,有时候需要做关闭(返回原状)的动作,而从具体情况(比如说如本实例触发菜单后菜单将原来的开关都掩盖了)或者用户体验上考虑,最好是除菜单区域外的整个屏幕都随便盲点就能关闭菜单。这个a标签就是实现在打开开关后产生一个透明的遮罩层覆盖到屏幕上。

有了上面的思路,那么再具体化为下面的代码(忽略个别无关紧要的样式,SASS代码):

CSS Code复制内容到剪贴板

  1. #dropdown-box {   

  2. .dropdown {   

  3.     opacity: 0;   

  4.     @include transform(scale(0, 0));   

  5.     @include transition(all 0.3s ease);   

  6.     overflowhidden;   

  7.     z-index: 100;   

  8.     transform-origin: 100% 0;   

  9.     -webkit-transform-origin: 100% 0;   

  10.     -ms-transform-origin: 100% 0;   

  11.     -moz-transform-origin: 100% 0;   

  12.     }   

  13. }   

  14. .close {   

  15.     displaynone;   

  16.     positionfixed;   

  17.     top: 0;   

  18.     rightright: 0;   

  19.     bottombottom: 0;   

  20.     left: 0;   

  21.     z-index: 999;   

  22.     width: 100%;   

  23.     height: 100%;   

  24.     backgroundtransparent;   

  25. }   

  26. &:target .dropdown {   

  27.     @include transform(scale(1, 1));   

  28.     opacity: 1;   

  29.     z-index: 9999;   

  30. }   

  31. &:target .close {   

  32.     displayblock;   

  33. }   

  34. }  

稍微解释下上面的SASS代码:默认的情况下是隐藏下拉菜单(采用透明属性opacity 与CSS3的transform的scale 缩小至0,遮罩层则默认隐藏);当开关触发后透明度变为1且放到至正常的一倍,同时遮罩层显示。为了让下拉菜单更显“下拉”的情况,采用CSS3的origin定位下转换原点。

注意下兼容性,所有主流浏览器均支持 :target,除了 IE8 及更早的版本,移动端的话直接用。稍微理解下你就可以运用到自己的项目中了,have fun!

感谢各位的阅读,以上就是“CSS3怎么制作Dropdown下拉菜单”的内容了,经过本文的学习后,相信大家对CSS3怎么制作Dropdown下拉菜单这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI