CSS3技巧30:简单而实用的CSS导航下划线动画效果

2021 结束了

迎来了 2022

回望这一年,收获了不少,也失去了很多。

--------------------------------------------------------------

特做一个导航小动画,作为今年博客的一个结束。

明年继续~!

------------------------------------------------------------

先看效果:

这中导航下划线动画效果,在很多网站上都有用到,包括腾讯、字节跳动的官网。

主要用到的知识点

1. CSS 过渡动画:transition,可以看到下划线的动画效果。

2. 伪标签:用来制作下划线。

3. 变形:用来实现下划线的长短变化--注意,这里不是 width 变化,而是 scaleX 变化。 

HTML

<nav class="pageNav">
    <ul>
        <li><a href="#">首页</a></li>
        <li><a href="#">产品展示</a></li>
        <li><a href="#">目标连接</a></li>
        <li><a href="#">2022感恩有你</a></li>
        <li><a href="#">新年快乐</a></li>
    </ul>
</nav>

CSS

*{
    margin: 0;
    padding: 0;
}
ul,li,ol{
    list-style: none;
}
a{
    text-decoration: none;
}
.pageNav{
    background: #0078ff;
}
.pageNav a{
    display: block;
    position: relative;
    padding-left: 20px;
    padding-right: 20px;
    color: #fff;
    font-size: 16px;
    line-height: 50px;
}
.pageNav>ul{
    display: flex;
}
.pageNav a::after{
    content: "";
    height: 4px;
    overflow: hidden;
    display: block;
    left:0;
    bottom:0;
    position: absolute;
    width: 100%;
    background: #ff0;
    transform: scaleX(0);
    transition:all 0.5s;
}
.pageNav a:hover::after{
    transform: scaleX(1);
}

简单而实用~!!

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CSS3动画效果是利用CSS3动画属性来实现各种各样的动画效果。下面是一些常见的CSS3动画效果及其代码示例: 1. 平移动画效果: ```css @keyframes move { 0% {transform: translateX(0px);} 100% {transform: translateX(200px);} } .element { animation: move 2s infinite; } ``` 2. 缩放动画效果: ```css @keyframes scale { 0% {transform: scale(1);} 50% {transform: scale(1.5);} 100% {transform: scale(1);} } .element { animation: scale 2s infinite; } ``` 3. 旋转动画效果: ```css @keyframes rotate { 0% {transform: rotate(0deg);} 100% {transform: rotate(360deg);} } .element { animation: rotate 2s infinite; } ``` 4. 淡入淡出动画效果: ```css @keyframes fade { 0% {opacity: 0;} 100% {opacity: 1;} } .element { animation: fade 2s infinite; } ``` 5. 弹跳动画效果: ```css @keyframes bounce { 0%, 20%, 50%, 80%, 100% {transform: translateY(0);} 40% {transform: translateY(-30px);} 60% {transform: translateY(-15px);} } .element { animation: bounce 2s infinite; } ``` 除了以上的效果之外,还有很多其他的CSS3动画效果,比如闪烁、摇摆、颤动等等。你可以根据具体需求来选择相应的属性和关键帧,通过合理的组合来实现自定义的动画效果。要注意兼容性,一些较老的浏览器可能不支持某些CSS3属性。 ### 回答2: CSS3动画效果大全代码十分丰富,以下是一些常见的动画效果及其相应代码示例: 1. 渐变动画: ``` @keyframes fade-in { 0% { opacity: 0; } 100% { opacity: 1; } } .element { animation: fade-in 1s; } ``` 2. 缩放动画: ``` @keyframes scale { 0% { transform: scale(0); } 100% { transform: scale(1); } } .element { animation: scale 1s; } ``` 3. 旋转动画: ``` @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .element { animation: rotate 2s infinite linear; } ``` 4. 移动动画: ``` @keyframes move { 0% { transform: translate(0, 0); } 100% { transform: translate(100px, 100px); } } .element { animation: move 2s infinite alternate; } ``` 5. 弹跳动画: ``` @keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-30px); } 60% { transform: translateY(-15px); } } .element { animation: bounce 1s infinite; } ``` 以上仅是一部分常见的CSS3动画效果代码示例,还有很多其他效果可以在不同场景中使用。CSS3动画功能可以让网页更加生动有趣,提升用户体验。 ### 回答3: CSS3动画效果是在网页设计中经常使用的一种技术,可以通过CSS样式来控制元素的动态变化,从而增加网页的交互性和视觉效果。下面是一些常见的CSS3动画效果代码: 1. 渐变动画效果: ``` div { width: 100px; height: 100px; background: linear-gradient(to right, red, blue); animation: gradient 3s infinite; } @keyframes gradient { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } } ``` 2. 旋转动画效果: ``` div { width: 100px; height: 100px; background: red; animation: rotate 3s infinite; } @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } ``` 3. 缩放动画效果: ``` div { width: 100px; height: 100px; background: red; animation: scale 3s infinite; } @keyframes scale { 0% { transform: scale(1); } 50% { transform: scale(1.5); } 100% { transform: scale(1); } } ``` 4. 移动动画效果: ``` div { width: 100px; height: 100px; background: red; animation: move 3s infinite; } @keyframes move { 0% { transform: translateX(0); } 100% { transform: translateX(200px); } } ``` 5. 弹跳动画效果: ``` div { width: 100px; height: 100px; background: red; animation: bounce 1s infinite; } @keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-30px); } 60% { transform: translateY(-15px); } } ``` 这些只是一部分常见的CSS3动画效果代码,还有更多的动画效果可以通过不同的CSS属性和关键帧来实现。通过合理地运用这些代码,可以为网页增加丰富的动态效果,使用户体验更加生动和有趣。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值