基于JavaScript实现网页版仿苹果2022下半年最新UI设计(灵动岛UI设计原理设计)

简介: 基于JavaScript实现网页版仿苹果2022下半年最新UI设计(灵动岛UI设计原理设计)

前端是做什么的?

1.前端工程师主要利用HMTL与CSS建构页面(其中html构建骨架,css构建样式),用JavaScript获取后端数据以及完善交互以及用户体验。

2.通俗来讲,前端在一个项目里,拿到UI设计师设计的设计稿,然后实现UI设计师设计稿,调用后端程序员给的数据接口以获取数据,然后测试,最后部署上线。

3.前端可以对设计图负责,大部分情况下,不需要特别的去理解业务逻辑,因为我们90后都是玩着十几年手机电脑长大的,十几年的经验足够我们在潜意识里想明白应该怎么做,怎么去一步步实现,会有什么意外情况。

4.我感觉前端发展有个很大的缺陷----晋升问题. 正如第三点所言,作为领导必须对项目有足够的了解,显然是要重点包括业务逻辑,这点上,后端开发者需要涉及数据库逻辑,是必须要跟业务逻辑打交道的(重中之重),因此,大部分的领导岗位都是后端开发者更有晋升的机会。当然,个别公司有专门的前端组长(这也不算什么),如果说前端开发者在自己工作范围之外还要腾出时间去研究业务逻辑,属实是觉得出力不讨好(因为这样的操作需要持续很久才能看出效果),而且再怎么研究业务逻辑也不会比每时每刻跟业务逻辑打交道的后端开发者了解更多。说实在的,大部分情况下,前端在配合后端进行开发.后端需要了解业务逻辑,要跟领导和客户商量细节,露脸机会很大,在老板面前刷脸次数众多。这些都是拉开前后端程序员晋升机会差距的因素。


前端的特效视觉:

层次结构的表现

动态效果,如缩放,覆盖,滑出网页或单个视觉元素,可帮助用户理解网页信息架构。通常是通过转场和菜单来展开网页。

表现层级关系

为了展现层与层的关系,是抽屉,是打开,还是平级切换等等。让用户知道这个界面和上一个、下一个的关系。

清晰明确

动效可以清晰地表明各种数据块中间的逻辑结构,即使在数据高度饱和的情况下也能使一切从观感上有组织性。

添加了图层

在网站制作过程中加上特效,每个元素都在用户滚动页面或者是鼠标经过的地方有动态效果,就像在平面层上多出了一个动态层,这样看起来更加有层次感。

仿苹果2022下半年最新UI设计(灵动岛UI设计原理设计)

代码:

<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"/><metahttp-equiv="X-UA-Compatible"content="IE=edge"/><metaname="viewport"content="width=device-width, initial-scale=1.0"/><linkrel="stylesheet"href="1.css"/><title>Document</title></head><body><divclass="navigation"><spanstyle="--i: 0; --x: -1; --y: 0"><ion-iconname="construct-outline"></ion-icon></span><spanstyle="--i: 1; --x: 1; --y: 0"><ion-iconname="game-controller-outline"></ion-icon></span><spanstyle="--i: 2; --x: 0; --y: -1"><ion-iconname="megaphone-outline"></ion-icon></span><spanstyle="--i: 3; --x: 0; --y: 1"><ion-iconname="person-circle-outline"></ion-icon></span><spanstyle="--i: 4; --x: 1; --y: 1"><ion-iconname="videocam-outline"></ion-icon></span><spanstyle="--i: 5; --x: -1; --y: -1"><ion-iconname="trash-outline"></ion-icon></span><spanstyle="--i: 6; --x: 0; --y: 0"><ion-iconname="stats-chart-outline"></ion-icon></span><spanstyle="--i: 7; --x: -1; --y: 1"><ion-iconname="save-outline"></ion-icon></span><spanstyle="--i: 8; --x: 1; --y: -1"><ion-iconname="cog-outline"></ion-icon></span></div><scripttype="module"src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.esm.js"></script><scriptnomodulesrc="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.js"></script><script>letnavigation=document.querySelector('.navigation');
navigation.onclick=function(){
navigation.classList.toggle('active')
}
</script></body></html>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
  }
body {
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
/* 定义一个视口高度为电脑显示器的高度 */background: #10131c;
  }
.navigation {
position: relative;
width: 70px;
height: 70px;
background: #212532;
border-radius: 10px;
/* 设置圆角 *//* cursor: pointer; */display: flex;
align-items: center;
justify-content: center;
transition: 0.5s;
/* 给span添加过渡效果 */transition-delay: 0.8s;
/* 设置过度属性的延迟效果 */  }
.navigation.active {
width: 200px;
height: 200px;
transition-delay: 0s;
/* 设置过度属性的延迟效果 */  }
.navigationspan {
position: absolute;
/* 添加绝对定位 */width: 7px;
height: 7px;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
/* 添加圆角 */transform: translate(calc(12px * var(--x)), calc(12px * var(--y)));
/* calc()计算长度的函数(可以计算任何长度) *//* 设置每个元素的移动属性 */transition: transform0.5s,width0.5s,height0.5s,background0.5s;
/* 给上方的每个元素移动时(x移动或者,y轴移动时)添加过渡属性 */transition-delay: calc(0.1s * var(--i));
/* 设置过度属性的延迟效果 */  }
.navigation.activespan{
width: 45px;
height: 45px;
background: #333849;
transform: translate(calc(60px * var(--x)), calc(60px * var(--y)));
  }
.navigationspanion-icon{
font-size: 0em;
/* 当变小之后不需要每一个元素的显示,所以把每一个span的size变为零(小白点) */transition: 0.5s;
  }
.navigation.activespanion-icon{
font-size: 1.35em;
/* 当变大之后需要每一个元素的显示,所以把每一个span的size变为1.35em(根据自己的需要改写) */color: #fff;
  } 
.navigation.activespan:hoverion-icon{
color: #2dfc52;
filter: drop-shadow(002px#2dfc52) drop-shadow(005px#2dfc52) drop-shadow(0015px#2dfc52);
  } 
/* 最后添加一个hvoer效果! */
目录
相关文章
|
5月前
|
JavaScript 算法 开发者
如何用JS实现在网页上通过鼠标移动批量选择元素的效果?
本文介绍了类似电脑桌面通过鼠标选择多个图标的实现原理。主要通过监听mousedown、mousemove和mouseup事件,动态调整选择框大小并计算与元素的重叠情况。提供了角重叠和相交重叠的检测方法,并附有示例代码和在线演示链接,方便开发者参考与测试。
189 56
|
4月前
|
Web App开发 数据采集 JavaScript
动态网页爬取:Python如何获取JS加载的数据?
动态网页爬取:Python如何获取JS加载的数据?
828 58
|
1月前
|
编解码 JavaScript 前端开发
如何在网页播放英文的m3u8文件(基于Javascript搭建的在线网页工具)
什么是m3u8?又该如何在网页中高效、便捷地播放英文的m3u8文件呢?今天这篇文章就带你一起了解,并推荐一种基于Javascript搭建的在线网页工具,让你轻松解决播放问题。
618 0
|
3月前
|
机器学习/深度学习 JavaScript 前端开发
JS进阶教程:递归函数原理与篇例解析
通过对这些代码示例的学习,我们已经了解了递归的原理以及递归在JS中的应用方法。递归虽然有着理论升华,但弄清它的核心思想并不难。举个随手可见的例子,火影鸣人做的影分身,你看到的都是同一个鸣人,但他们的行为却能在全局产生影响,这不就是递归吗?雾里看花,透过其间你或许已经深入了递归的魅力之中。
142 19
|
4月前
|
数据采集 Web App开发 JavaScript
Python爬虫如何获取JavaScript动态渲染后的网页内容?
Python爬虫如何获取JavaScript动态渲染后的网页内容?
|
7月前
|
JavaScript 前端开发 API
如何在React.js中使用Shadcn/UI
学习如何在React.js中使用Shadcn/UI构建轻量且可定制的现代化界面。Shadcn/UI为React.js打造,提供核心组件和Tailwind CSS支持,帮助你创建独特的UI,避免大型框架的臃肿。本文介绍安装、配置及与Apipost集成的方法,适合希望提升React.js项目的开发者。通过定制主题和优化性能,你可以高效地开发出功能强大的应用。
|
7月前
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
227 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
6月前
|
JavaScript 前端开发 Java
深入理解 JavaScript 中的 Array.find() 方法:原理、性能优势与实用案例详解
Array.find() 是 JavaScript 数组方法中一个非常实用和强大的工具。它不仅提供了简洁的查找操作,还具有性能上的独特优势:返回的引用能够直接影响原数组的数据内容,使得数据更新更加高效。通过各种场景的展示,我们可以看到 Array.find() 在更新、条件查找和嵌套结构查找等场景中的广泛应用。 在实际开发中,掌握 Array.find() 的特性和使用技巧,可以让代码更加简洁高效,特别是在需要直接修改原数据内容的情形。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一
|
6月前
|
监控 JavaScript 前端开发
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
MutationObserver 是一个非常强大的 API,提供了一种高效、灵活的方式来监听和响应 DOM 变化。它解决了传统 DOM 事件监听器的诸多局限性,通过异步、批量的方式处理 DOM 变化,大大提高了性能和效率。在实际开发中,合理使用 MutationObserver 可以帮助我们更好地控制 DOM 操作,提高代码的健壮性和可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例