苹果官网是怎么实现的?(一)

news/2024/11/18 1:43:16/

苹果官网是怎么实现的(一)?

苹果的设计师造出的网页总会让你眼前一亮
在这里插入图片描述

1. 随着页面滚动显示动画

随着页面的滚动,页面的文字,图片也会随着进行改变,这样可以营造一种动感的效果,给用户的购买欲赋能?
下面以可以随着移动动态改变背景颜色的文字为例来尝试一下吧

在这里插入图片描述
首先有一个这样的页面结构,一个大小为100vh*100%container元素中有两个高度为100vhflexBox。第一个flexBox文字id为 pt1 ,里面的文字水平垂直居中。

html

    <div id="pt1" style="display: none;" class="module-content"><div class="section-content "><p class="gradient-text">M1 芯片</p>  </div>    </div>

css

#pt1 {height: 100vh;display: flex;align-items: center;
}
.module-content .section-content {font-size: 48px;line-height: 1.1;font-weight: 600;letter-spacing: -0.009em;max-width: 590px;margin-left: auto;margin-right: auto;text-align: center;
}

2. 实现页面滚动监听

    在着手实现之前,先得知道元素究竟滚动了多少,才能根据这个调整动画进行的百分比。
在这里,我对整个页面进行监听,然后分别对每个元素进行处理。

获得元素滚动高度

	首先,使用`getBoundingClientRect`获得元素相对于显示窗口的窗口坐标。
获得元素的窗口坐标后,top属性就是其底部相当于浏览器顶部的距离了。

获得元素显示高度

 	然后,获取父元素 pt1 的元素高度,使用 `clientHeight`
来获得其实际内容可以显示的高度。这样,我们就可以得到元素滚动离开屏幕究竟离开了百分之多少了。

将计算的百分比应用于CSS变量

 	得到了百分比后,我们可以直接计算元素样式的数值并且直接修改,不过除了依次计算并修改各个属性之外,既然所有属性都是根据百分比进行变化,那么可以直接使用CSS变量来统一。其以 -- 开头,使用的时候用var()引用。在这里,我们分别定义四个变量a,b,c,d,表示渐变中每个颜色的位置。

js

//pt1.js
function handlePt1Scroll(){const heightPt1 = pt1.clientHeight;let scrolledPt1 = Math.abs(pt1.getBoundingClientRect().top);if(scrolledPt1>heightPt1){return;}let scrollPercentPt1 =scrolledPt1/heightPt1;const textPt1 = pt1.querySelector(".gradient-text");textPt1.style.setProperty('--a', (-150+scrollPercentPt1*200)+'%');textPt1.style.setProperty('--b', (-50+scrollPercentPt1*200)+'%');textPt1.style.setProperty('--c', (75+scrollPercentPt1*200)+'%');textPt1.style.setProperty('--d', (150+scrollPercentPt1*200)+'%');
}

3. 实现文字彩色背景
在这里插入图片描述

   1,使用 background-image: linear-gradient(to right, var(--mid) var(--a),var(--start) var(--b), var(--mid) var(--c), var(--end)var(--d));创建动态背景,中间使用a,b,c,d四个css变量让其可以随着滚动而改变。2,使用 -webkit-background-clip:text;background-clip: text;以文字创建蒙版以透过背景内容。同理,把背景换成视频/图片/canvas可以实现各种漂亮的文字效果。3,最后使用 text-fill-color: transparent;-webkit-text-fill-color:transparent; 把文字改成透明的,大功告成!当然,如果把背景换成黑白渐变,然后使用background-position-x进行移动,就可以实现文字渐变淡入淡出的效果了。

为了让文字效果可以复用(例如苹果首页有多处使用了相同效果,但是背景颜色不同的文字),可以把渐变效果放到一个公共的类内,然后把百分比,颜色作为CSS变量对于每个元素分别指定。
的确挺好看的,不过主要还是得归功于font-family: "Helvetica"


http://www.ppmy.cn/news/362382.html

相关文章

网页制作--苹果官方网站模仿

初入WEB前端设计第四天&#xff0c;我仿着做了一个网站&#xff0c;做的很垃圾&#xff0c;也没有一些约束&#xff08;浏览器页面小时会显示错误&#xff09; 成品图如下&#xff1a; 在这里我用了CSS字体 font awesome&#xff0c;不懂的可以去这篇博客&#xff1a;CSS图标…

苹果iphone APP界面设计尺寸官方版

iphone界面设计尺寸&#xff08;640*960&#xff09;px 该Iphone界面设计是从苹果官方网站帮助中心提取过来&#xff0c;这也是我第一次帮公司产品设计iphone版的UI使用的尺寸。由于之前接触的比较少&#xff0c;只知道苹果手机的界面尺寸是640*960&#xff0c;其实真正的大小…

最好的3个iOS苹果手机上的epub阅读器

epub是一种使用广泛的电子书格式&#xff0c;今天小编将为大家推荐iOS苹果手机上最好的3个epub阅读器。 Top1&#xff1a;neat reader 这款在小编用过的阅读器中绝对排第一位&#xff0c;软件界面颜值很高&#xff0c;对追求界面视觉体验的朋友非常友好。它能够将阅读数据上传…

全球直营店被迫暂关,iPhone 9发布会跳票,苹果迎来倒春寒

新冠肺炎疫情的全球蔓延&#xff0c;让高高在上的苹果也不能置身事外&#xff0c;近日&#xff0c;苹果官方网站发布苹果CEO库克公开信宣布&#xff0c;除大中华区外&#xff0c;全球苹果零售店都将暂时关闭。与此同时&#xff0c;之前传出苹果准备在3月初发布的iPhone9&#x…

苹果CMS内容管理系统 - 苹果CMS官方网站

自从苹果cms官方网站关闭后&#xff0c;对于刚接触的小伙伴们就已经懵逼状态了&#xff01;今天我在这给大家普及下。 我们可以用百度搜索 “苹果cms” 会出现下面的页面&#xff0c;排在第一位的就是苹果cms官网&#xff0c;不过现在是关站状态。具体原因下面讲。 下面的几个…

4月第一个惊喜:iPhone 9现已直接上架苹果中国官网?

点击上方“码农突围”&#xff0c;马上关注 这里是码农充电第一站&#xff0c;回复“666”&#xff0c;获取一份专属大礼包 真爱&#xff0c;请设置“星标”或点个“在看” 作者:Suky 在近期最受关注的机型中&#xff0c;除了频频亮相的国产旗舰外&#xff0c;苹果旗下的小屏手…

iOS苹果手机上最好用的3个azw3阅读器

azw/azw3种书迷朋友经常能遇到的电子书格式&#xff0c;今天小编将为大家推荐iOS苹果手机上最好的3个epub阅读器。 Top1&#xff1a;neat reader 这款在小编用过的阅读器中绝对排第一位&#xff0c;软件界面颜值很高&#xff0c;对追求界面视觉体验的朋友非常友好。它能够将阅…

epub电子书如何用IOS苹果手机打开?

现在网络上有很多epub格式的小说资源&#xff0c;但IOS手机由于自身不能直接打开epub格式文件&#xff0c;或者阅读软件使用感较差&#xff0c;会我们的阅读带来不小的困扰。今天我就为大家介绍3款可以在IOS手机上打开epub的小说阅读器。 第一款&#xff1a;Neat Reader 这款在…