看了第30P的功能用JS实现,有些大费周折了,最后那个transation过度也非常丑,
是先显示出文字,后面才有动画,所以也引起了很多弹幕的不满
所以我尝试着用CSS实现了一下,效果还是挺完美的:
1.首先将html结构修改一下,把要控制隐藏和显示的.sort元素放到.nav元素的前面,因为后面要用hover兄弟选择器控制.sort的显示与隐藏,
然后给这两个标签加两个三元表达式
判断当前路径是search时 .sort的高度为0(为后面实现transation高度变化铺垫),且当路径为search时,给h2元素加上一个TypeNavHover的类:
(此举动不会改变页面布局)
2. 新增CSS样式,
这里加overflow:hidden解决了老师最后文字先显示,再显示过渡动画的问题
但只加overflow会导致三级菜单也被hidden,所以要给.sort:hover再加一个宽度的变化,这样三级菜单就能完美显示啦!