老师帮我看下 下拉菜单怎么实现下拉过度效果
来源:3-5 让菜单下拉
琥珀_2020
2019-12-19 12:51:02
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <!-- <link rel="stylesheet" href="./css/index.css"> --> <link rel="stylesheet" href="./css/dropDown.css"> <link rel="stylesheet" href="./font/iconfont.css"> <title>dropDown</title> </head> <body> <!-- <div class="dropDown"> <div class="dropDownToggle">我的慕淘</div><i class="iconfont xialajiantou"></i> <div class="dropDownLayer"> </div> </div> --> <div class="dropDown"> <div class="dropDownToggle">我的慕淘</div><i class="iconfont xialajiantou dropDownActive"></i> <div class="dropDownLayer dropDownActive"> <a href="###" class="menuItem">已买到宝贝</a> <a href="###" class="menuItem">我的足迹</a> </div> </div> <script src="./js/jquery.js"></script> <script src="./js/dropDown.js"></script> </body> </html>
* { margin: 0; padding: 0; } li { list-style: none; } a { text-decoration: none; } /* 字体图标属性 */ .iconfont { font-family: "iconfont" !important; font-size: 25px !important; line-height: 25px; text-align: center; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* ===================================== */ /* dropDown */ .dropDown { position: relative; } .dropDownToggle { position: relative; width: 90px; height: 45px; line-height: 45px; font-size: 20px; text-align: center; display: inline-block; color: #4d555d; } .dropDownToggle:hover { color: #f01414; } .xialajiantou { display: inline-block; width: 25px; height: 28px; transition: all 0.5s; cursor: pointer; /* background-color: rgb(165, 4, 4); */ } .dropDownLayer { display: none; position: absolute; top: 44px; left: 10px; transition: ease-in-out all 0.5; } .menuItem { display: block; width: 75px; height: 30px; line-height: 30px; text-align: right; white-space: nowrap; color: #4d555d; transition: all 0.5; } .menuItem:hover { color: #f01414; } /* 滑入下拉菜单显示下拉项目(通过js实现) */ /* .dropDownActive .xialajiantou { color: #f01414; transform: rotate(180deg); } .dropDownActive .dropDownLayer { display: block; } */ /* 滑入下拉菜单显示下拉项目(直接通过CSS实现) */ .dropDownActive .dropDownToggle,.dropDown:hover .xialajiantou { color: #f01414; transform: rotate(180deg); } .dropDownActive .dropDownLayer,.dropDown:hover .dropDownLayer { display: block; transition: all 0.5; }
怎么实现下拉时有过渡效果 就像箭头一样 有点动画
1回答
同学你好,关于你的问题,回答如下:
1、transition属性值中时间缺少单位,建议:添加下单位,例:
2、元素本身中添加了过渡,hover的时候,就可以不加了,因为本身就是应用同一个元素的。
3、这里直接在css中使用display设置显示隐藏,使用动画是无效的,有以下几个方式同学可以参考下(都是不使用display属性的方法):
(1)使用透明度opacity,从 0.0 (完全透明)到 1.0(完全不透明),实现从隐藏到显示。
(2)在js中使用jquery的show与hide方法。
(3)设置top值为负值,让其隐藏到浏览器顶部上去。然后hover的时候,改变top的值。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题