触屏新体验:CSS动画让移动端底部导航活起来!

简介: 触屏新体验:CSS动画让移动端底部导航活起来!

先上效果


🌟在移动互联网时代,用户体验变得至关重要。一个直观、响应灵敏的底部导航不仅能够提升用户的便捷性,还能增强吸引力。CSS动画效果为底部导航增添了活力,使得用户在操作过程中享受丰富和流畅的交互体验。本文将探讨如何利用CSS动画,为移动端底部导航创建吸引人的鼠标经过效果,从而提升用户界面的现代感和互动性。


完整代码


以下是完整代码:

HTML:

<div class="navbar">
        <li class="list-item"><i class="fa-solid fa-house"></i>
            <span class="list-item-name">Home</span>
        </li>
        <li class="list-item">
            <i class="fa-solid fa-user"></i>
            <span class="list-item-name">Profile</span>
        </li>
        <li class="list-item">
            <i class="fa-solid fa-gear"></i>
            <span class="list-item-name">Settings</span>
        </li>
        <li class="list-item">
            <i class="fa-solid fa-bag-shopping"></i>
            <span class="list-item-name">Bag</span>
        </li>
    </div>


CSS代码:


@import url("https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/font-awesome/6.0.0/css/all.min.css");
:root {
  --highlight: #5756e6;
}
* {
  box-sizing: border-box;
}
body {
  background-color: #a4b1e6;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  font-family: "Inter", sans-serif;
}
.navbar {
  border-radius: 32px;
  background-color: white;
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 400px;
  box-shadow: 0 14px 28px #8f9cd4, 0 10px 10px #8f9cd4;
}
.list-item {
  list-style-type: none;
  flex-basis: 100%;
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #555;
  transform: translateY(0);
  transition: transform 0.5s ease, opacity 0.2s ease;
  cursor: pointer;
}
.list-item-name {
  font-size: 13px;
  font-weight: 500;
  position: absolute;
  transform: translate(0, 50px);
  transition: transform 0.5s ease, opacity 0.2s ease;
  opacity: 0;
}
.list-item:hover {
  color: var(--highlight);
  transform: translateY(-6px);
}
.list-item:hover .list-item-name {
  transform: translateY(20px);
  opacity: 1;
}
@media (max-width: 350px) {
  .navbar {
    flex-direction: column;
    align-items: center;
    max-width: 120px;
    padding-bottom: 20px;
  }
  .list-item {
    flex-basis: auto;
  }
  .list-item:hover .list-item-name {
    transform: translateY(25px);
  }
}


🌟 关键技术点如下:

  1. 导入外部字体和图标库:
  1. 通过@import规则,从font-awesomeCDN导入了all.min.css,这将为页面提供Font Awesome图标库。
  1. CSS变量:
  1. 使用:root伪类定义了一个CSS变量--highlight,值为#5756e6。这可以在整个样式表中重复使用和更新。
  1. 导航栏样式:
  1. .navbar类定义了导航栏的样式,包括背景颜色、边框半径、弹性盒模型布局、最大宽度以及盒子阴影。
  1. 鼠标悬停效果:
  1. :hover伪类为列表项和列表项名称提供了鼠标悬停时的动态效果,包括颜色变化、位移和透明度变化。
  1. 响应式设计:
  1. @media查询用于在屏幕宽度小于350px时改变导航栏的布局和样式,使其适应移动设备的屏幕尺寸。
相关文章
|
3月前
|
自然语言处理 前端开发 JavaScript
用 通义灵码 一键生成“水波纹按钮”,连 CSS 动画都不用自己写了!
通义灵码是一款智能编程辅助工具,它可以根据自然语言指令自动生成高质量的代码。例如,只需输入“生成一个按钮,点击时带水波纹动画,模拟 Material Ripple 效果”,它就能生成具备完整交互逻辑、CSS 动画和良好性能的按钮组件。不仅如此,它还支持拓展功能,如长按触发提示、添加图标等,并能自动优化样式适配不同场景。通过通义灵码,开发者可以大幅提升效率,专注于创意实现,而不必纠结于繁琐的代码细节。
|
8月前
|
前端开发 JavaScript
CSS 过渡和动画
CSS过渡和动画是用于为网页元素添加动态效果的两种重要技术
427 143
|
14天前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
Animation属性 css3为Animation动画提供的几个属性如下: 属性名 属性值 animation-name 指定动画名称,该属性指定一个已有的关键帧定义。 animation-duration 指定动画持续时间。 animation-timing-funtion 指定动画变化速度。 animation-delay 指定动画延迟多长时间才开始执行。 animation-iteration-count 指定动画的循环执行次数。 animation:这是一个复合属性。
45 1
|
9月前
css3 svg制作404页面动画效果HTML源码
css3 svg制作404页面动画效果HTML源码
161 34
|
11月前
|
移动开发 前端开发 JavaScript
除了 CSS3,还有哪些技术可以实现动画效果?
除了 CSS3,还有哪些技术可以实现动画效果?
329 63
|
11月前
|
JavaScript 前端开发
CSS3 动画和 JavaScript 动画的性能比较
具体的性能表现还会受到许多因素的影响,如动画的复杂程度、浏览器的性能、设备的硬件条件等。在实际应用中,需要根据具体情况选择合适的动画技术。
|
11月前
|
Web App开发 前端开发 JavaScript
如何在不牺牲动画效果的前提下,优化 CSS3 动画的性能?
如何在不牺牲动画效果的前提下,优化 CSS3 动画的性能?
531 58
|
9月前
jQuery+CSS3实现404背景游戏动画源码
jQuery+CSS3实现404背景游戏动画源码
135 22
|
12月前
|
前端开发 搜索推荐 UED
实现 CSS 动画效果的兼容性
【10月更文挑战第16天】实现 CSS 动画效果的兼容性需要对不同浏览器的特性有深入的了解,并采取适当的策略和方法。通过不断的实践和优化,你可以在各种浏览器上创造出流畅、美观且兼容的动画效果,为用户带来更好的体验。在实际开发中,要密切关注浏览器的发展动态,及时掌握最新的兼容性技巧和解决方案,以确保你的动画设计能够在广泛的用户群体中得到良好的呈现。
293 58
|
11月前
纯css3实现的百分比渐变进度条加载动画源码
纯css3实现的百分比渐变进度条加载动画特效源码
194 31

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
  • 7
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改