CSS导航栏缓慢出现的效果,是页面设计中经常使用的一种特效。如果您想让您的网站更加炫酷,可以尝试使用这种效果。下面将介绍如何实现这种效果。
// HTML代码 // CSS代码 nav { position: relative; } ul { list-style: none; margin: 0; padding: 0; } li { display: inline-block; margin-right: 20px; } a { color: #333; text-decoration: none; font-size: 16px; padding: 10px; display: block; opacity: 0; transform: translateY(20px); transition: all 0.3s ease-out; } a.active, a:hover { color: #fff; background-color: #333; } a.active { opacity: 1; transform: translateY(0); }
代码解释:
首先,在HTML中定义了一个nav元素,在CSS中给这个元素设置了position: relative,为了后续设置子元素的绝对定位提供一个相对定位的父元素。
接着,在HTML中定义了一个ul元素和四个li元素,设置li元素display: inline-block,将四个li元素水平排列。在CSS中给ul元素设置list-style: none,调整ul元素的样式。
然后,给a标签设置字体、内边距、边框等样式,并将其display属性值设置为block,使其获得完整的块级样式。同时设置a标签的opacity为0,利用CSS3的transform属性为其设置位移,从而实现元素的缓慢出现动画效果。最后添加了transiton属性,使元素可实现平滑过渡。
最后的关键是JS,将a标签的active类绑定到点击事件上,当目标a标签被点击后,它会添加.active类,同时其他的a标签会移除.active类,然后会启用CSS3过渡特效,使得.active的a标签的opacity属性从0向1过渡,同时其它的a标签的opacity属性和transform属性的值会重置回原来的状态,实现缓慢出现的效果。
本文可能转载于网络公开资源,如果侵犯您的权益,请联系我们删除。
0