53 个 CSS 特效 3(完)

53 个 CSS 特效 3(完)

前两篇地址:

  • 53 个 CSS 特效 1
  • 53 个 CSS 特效 2

这里是第 33 到 53 个,很多内容都挺重复的,所以这里解释没之前的细,如果漏了一些之前的笔记会补一下,写过的就会跳过。

依旧,预览地址在 http://www.goldenaarcher.com/html-css-js-proj/,git 地址: https://github.com/GoldenaArcher/html-css-js-proj

现在小的写的差不多了,接下来会着手折腾一下 responsive 网页,完了之后就是 tailwind css。

我觉得比较好玩的特效是这个:

在这里插入图片描述

可以算是集大成了,这也是最后一个项目。


下面开始正文:

  1. profile card

    效果如下:

    在这里插入图片描述

    和之前的一些 UI 库差不太多,实现部分也写了挺多遍的了

  2. countdown

    [在这里插入图片描述
    没什么特别复杂的 CSS 逻辑,这里主要用的是 JS 去控制时间的变化,然后将 Days 这些字添加到 attributes 里,CSS 中通过 attr 获得即可。

  3. calendar

    在这里插入图片描述

    CSS 上也没有什么特别的难点,一般来说除非自己要写对应的 UI 库,否则也不太可能用得上这个。

    JS 实现上挺有趣的,获取当月日历这个没什么大问题,获取上个月的日历是通过获取上个月最后一天在星期几,然后做一个 i-- 的循环。下个月则是获取下个月第一天在星期几,做一个 i++ 实现。

  4. ball animation

    在这里插入图片描述

    主要也是对 animation 的学习,小球的形变是通过 scale 实现的

  5. Form with Validation

    在这里插入图片描述

    这个实际应用还挺多的,特别如果写的是 2B 项目,很多情况下就是填写表格和表单……

    这个主要还是依靠 JS 实现的,关于 CSS 的控制倒是以前没有想过,他的写法是直接把 error 这个 class 加到了整个表单上,之前用 React 写都是直接通过单独的 input 控制。

    顺便做了 responsive,大屏幕的效果是这样的:

    在这里插入图片描述

  6. Social Icons Slideshow

    和之前做的 slideshow 差不多:

    在这里插入图片描述

    这里用了一个之前没用过的 CSS:filter: brightness(1.5);,可以用来控制元素的明暗。

    icon 的出现和消失则是使用 CSS 进行控制的,没有什么特别大的难点。

  7. Circle Progress Bar

    在这里插入图片描述

    progress bar 的实现还是挺有意思的,首先它分成 3 个部分,两个半圆和一个遮罩。在第一个半圆完成旋转的时候,遮罩就会消失,同时让第二个半圆完成渲染,图示如下:

    在这里插入图片描述

    其中橙色代表的是遮罩,蓝色是第一个半圆,绿色是第二个半圆。二者的移动轨迹是重叠的,这也就是为什么刚开始不会看到绿色的移动轨迹。

    实现了 overflow: hidden 和修改完颜色后的效果:

    在这里插入图片描述

    完成了中心部分的填充后:

    在这里插入图片描述

  8. Ripple Button

    在这里插入图片描述

    这个特效的实现也挺有意思的,主要是通过 JS 的 mouseentermouseleave。在 mouseenter 的时候,获取当前鼠标所在的位置,创建一个新的背景颜色,过渡使用 animation 完成。在 mouseleave 的时候,将该背景颜色从 DOM 中移除。

  9. Loader

    这里做了 3 个 loader 的特效,实用性都是有的,不过具体也看 UI 风格:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    主要都是使用 animation+scale+animation-delay+opacity 的变化

  10. 又一个 navbar

    在这里插入图片描述

    之前写过差不多的吧,还有其实我觉得这个特效没有特别好看,过渡还是有点奇怪……

  11. 又一个 landing page

    在这里插入图片描述

    同样也是二段式的 animation,这里背景的变化用了 clip-path,之前也有介绍过,现在的网站可以拖拽最后获取 clip-path 的角度。

  12. clock

    在这里插入图片描述

    主要靠 JS 调整时间,其他的 CSS 没什么难度

  13. Jumping Square

    在这里插入图片描述

    形变的特效是使用 border-radius + translateY 做出来的,所以会看到两边拉的细长,但是中间还是粗的效果,其实这违反物理了……嘛……不过不是用渲染引擎做出来的就算了

    square 的效果主要就是 translateY + rotateZ 做的,两边的支柱也差不多

  14. Search Bar

    在这里插入图片描述

    也是比较简单的 animation,稍稍有点花哨,一般来说水平出现就行了吧

  15. 3D Form

    在这里插入图片描述

    这个特效属于是 3D card 的进阶版了

  16. invisible card

    在这里插入图片描述

    之前写的也挺多了,主要就是用位移(position: absolute + overflow: hidden + top 的变化) 和 transition 结合。这里的卡片依旧使用 borderbox-shadow 实现

  17. signup form

    在这里插入图片描述

    这里用的技巧之前也基本都写过了,比较讨巧的还是用 checkbox 实现 radio button 这个功能,不过之前也洗过了,这里不多赘述

    很多转换是用 JS 实现的,这也就是为什么这个页面相对而言能够实现的比较复杂的原因。

  18. profile cards

    在这里插入图片描述

    之前做了 profile card,这里大致的布局设计没什么特别大的差别

    按钮的特效用 @keyframes 的 animation 做的,主要也是使用 scale + rotateZ 的效果实现晃动

    打字的特效是通过 JS 实现的,JS 代码如下:

    const heading = 'Please Meet Our Team';
    let i = 0;const typing = () => {if (i < heading.length) {document.querySelector('.heading').innerHTML += heading.charAt(i);i++;setTimeout(typing, 150);}
    };typing();
    

    跳动的光标也是使用 CSS animation 实现的,定位用的是 after 实现,这样总是能够定位到 heading 的末端

    有一个 CSS attribute 还挺重要的,white-space: pre-wrap,如果没有这个 attribute 的话,光标的位置会到处乱跳,尤其是当浏览器觉得 heading 的内容可以被 wrap 的时候

    光标跳动的效果也是通过 animation+background-color 的修改实现,不断从 #ffftransparent 的跳动就可以实现忽明忽暗的特效

  19. slideshow cities

    在这里插入图片描述

    button 用了 3D 环境,slideshow 之前写过,首页闪现的效果我以为用 opacity 实现的,不过没想到是用 animation 做的……还是用 translateX 移动黑屏部分

    下面按钮的特效一样,不过是黑屏换成白屏

    之前的 slideshow 用的是 JS,不过这里用的是 CSS 的 animation,也挺妙的,可以一看,animation 部分的代码:

    @keyframes slideshow {0% {left: 0;}10% {left: 0;}15% {left: -100%;}25% {left: -100%;}30% {left: -200%;}40% {left: -200%;}45% {left: -300%;}55% {left: -300%;}60% {left: -200%;}70% {left: -200%;}75% {left: -100%;}85% {left: -100%;}90% {left: 0;}
    }
    
  20. 3d hamburger menu

    这个特效有点多,简单的就是之前写的几个整合,包括:

    • 3d button
    • hamburger menu
    • 3d card

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  21. 3d cube

    在这里插入图片描述

    我本来以为这里切图了,后来发现没有,用的是 background 的一个 attributes,也就是 backgournd-position,CSS 如下:

    .cube-1 .front {background: url(images/slide-img-1.jpg) no-repeat 50% 0;background-size: cover;
    }.cube-2 .front {background: url(images/slide-img-1.jpg) no-repeat 50% -7vw;background-size: cover;
    }.cube-3 .front {background: url(images/slide-img-1.jpg) no-repeat 50% -14vw;background-size: cover;
    }
    

    MDN 上玩了一下 backgournd-position

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    其他的 3d 动画都和之前写的差不多了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/117338.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Error: PostCSS plugin autoprefixer requires PostCSS 8 问题解决办法

报错&#xff1a;Error: PostCSS plugin autoprefixer requires PostCSS 8 原因&#xff1a;autoprefixer版本过高 解决方案&#xff1a; 降低autoprefixer版本 执行&#xff1a;npm i postcss-loader autoprefixer8.0.0

【配置环境】Visual Studio 配置 OpenCV

目录 一&#xff0c;环境 二&#xff0c;下载和配置 OpenCV 三&#xff0c;创建一个 Visual Studio 项目 四&#xff0c;配置 Visual Studio 项目 五&#xff0c;编写并编译 OpenCV 程序 六&#xff0c;解决CMake编译OpenCV报的错误 一&#xff0c;环境 Windows 11 家庭中…

Super Resolve Dynamic Scene from Continuous Spike Streams论文笔记

摘要 近期&#xff0c;脉冲相机在记录高动态场景中展示了其优越的潜力。不像传统相机将一个曝光时间内的视觉信息进行压缩成像&#xff0c;脉冲相机连续地输出二的脉冲流来记录动态场景&#xff0c;因此拥有极高的时间分辨率。而现有的脉冲相机重建方法主要集中在重建和脉冲相…

C语言入门 Day_12 一维数组0

目录 前言 1.创建一维数组 2.使用一维数组 3.易错点 4.思维导图 前言 存储一个数据的时候我们可以使用变量&#xff0c; 比如这里我们定义一个记录语文考试分数的变量chinese_score&#xff0c;并给它赋值一个浮点数&#xff08;float&#xff09;。 float chinese_scoe…

解决WebSocket通信:前端拿不到最后一条数据的问题

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

CTFhub-SSRF-内网访问

CTFHub 环境实例 | 提示信息 http://challenge-8bf41c5c86a8c5f4.sandbox.ctfhub.com:10800/?url_ 根据提示&#xff0c;在url 后门添加 127.0.0.1/flag.php http://challenge-8bf41c5c86a8c5f4.sandbox.ctfhub.com:10800/?url127.0.0.1/flag.php ctfhub{a6bb51530c8f6be0…

自动化运维:Ansible之playbook基于ROLES部署LNMP平台

目录 一、理论 1.playbook剧本 2.ROLES角色 3.关系 4.Roles模块搭建LNMP架构 二、实验 1.Roles模块搭建LNMP架构 三、问题 1.剧本启动php报错语法问题 2.剧本启动mysql报错语法问题 3.剧本启动nginx开启失败 4.剧本安装php失败 5.使用yum时报错 6.rpm -Uvh https…

springsecurity+oauth 分布式认证授权笔记总结12

一 springsecurity实现权限认证的笔记 1.1 springsecurity的作用 springsecurity两大核心功能是认证和授权&#xff0c;通过usernamepasswordAuthenticationFilter进行认证&#xff1b;通过filtersecurityintercepter进行授权。springsecurity其实多个filter过滤链进行过滤。…

11 - 深入了解NIO的优化实现原理

Tomcat 中经常被提到的一个调优就是修改线程的 I/O 模型。Tomcat 8.5 版本之前&#xff0c;默认情况下使用的是 BIO 线程模型&#xff0c;如果在高负载、高并发的场景下&#xff0c;可以通过设置 NIO 线程模型&#xff0c;来提高系统的网络通信性能。 我们可以通过一个性能对比…

STM32f103入门(8)TIM输入捕获输入捕获测频率PWMI测占空比

TIM输入捕获 频率测量输入捕获基本结构PWMI基本结构主从触发模式输入捕获测量频率PWMI测占空比 频率测量 输入捕获基本结构 CNT计数一个周期&#xff0c;转运到CCR1里面去&#xff0c;CNT0 这时候CCR1N FxFc/N Fc cnt的驱动时钟 这时候就可以得到频率 Fc72M/PSC PWMI基本结构 …

设计模式之组合模式

文章目录 一、介绍二、案例 一、介绍 组合模式(Composite Pattern)&#xff0c;属于结构型设计模式。组合模式常用于树形的数据结构&#xff0c;比如&#xff1a;多级菜单、部门层级关系、html文本中的dom树。它的特点是使用户对单个对象和组合对象的使用是相同的。 二、案例…

mac制作ssl证书|生成自签名证书,nodejs+express在mac上搭建https+wss(websocket)服务器

注意 mac 自带 openssl 所以没必要像 windows 一样先安装 openssl&#xff0c;直接生成即可 生成 ssl/自签名 证书 生成 key # 生成rsa私钥&#xff0c;des3算法&#xff0c;server_ssl.key是秘钥文件名 1024位强度 openssl genrsa -des3 -out server_ssl.key 1024让输入两…

走进低代码平台| iVX-困境之中如何突破传统

前言&#xff1a; “工欲善其事,必先利其器”&#xff0c;找到和使用一个优质的工具平台&#xff0c;往往会事半功倍。 文章目录 1️⃣认识走近低代码2️⃣传统的低代码开发3️⃣无代码编辑平台一个代码生成式低代码产品iVX受面性广支持代码复用如何使用&#xff1f; 4️⃣总结…

如何自定义iview树形下拉内的内容

1.使用render函数给第一层父级定义 2. 使用树形结构中的render函数来定义子组件 renderContent(h, {root, node, data}) {return data.children.length0? h(span, {style: {display: inline-block,width: 400px,lineHeight: 32px}}, [h(span, [h(Icon, {type: ios-paper-outli…

PY32F003F18P单片机概述

PY32F003F18P单片机是普冉的一款ARM微控制器&#xff0c;内核是Cortex-M0。这个单片机的特色&#xff0c;就是价格便宜&#xff0c;FLASH和SRAM远远超过8位单片机&#xff0c;市场竞争力很强大。 一、硬件资源&#xff1a; 1)、FLASH为64K字节&#xff1b; 2)、SRAM为8K字节&…

解决gitee仓库中 .git 文件夹过大的问题

最近&#xff0c;许多项目都迁移到gitee。使用的也越来越频繁&#xff0c;但是今天突然收到一个仓库爆满的提示。让我一脸懵逼。本文将详细为你解答&#xff0c;这种情况如何处理。 1、起因 我收到的报错如下&#xff1a; remote: Powered by GITEE.COM [GNK-6.4] remote: T…

车载监管模块项目需求分析报告

目录 1 文档说明.......................................................................................... 4 2 参考文件.......................................................................................... 4 3 概述.......................................…

YOLOv7框架解析

YOLOv7概念 YOLOv7是基于YOLO系列的目标检测算法&#xff0c;由Ultra-Light-Fast-Detection&#xff08;ULFD&#xff09;和Scaled-YOLOv4两种算法结合而来。它是一种高效、准确的目标检测算法&#xff0c;具有以下特点&#xff1a; 1. 高效&#xff1a;YOLOv7在保持准确率的…

Qt应用开发(基础篇)——颜色选择器 QColorDialog

一、前言 QColorDialog类继承于QDialog&#xff0c;是一个设计用来选择颜色的对话框部件。 对话框窗口 QDialog QColorDialog颜色选择器一般用来让用户选择颜色&#xff0c;比如画图工具中选择画笔的颜色、刷子的颜色等。你可以使用静态函数QColorDialog::getColor()直接显示对…

项目 - 后端技术栈转型方案

前言 某开发项目的后端技术栈比较老了&#xff0c;现在想换到新的技术栈上。使用更好的模式、设计思想、更合理的架构等&#xff0c;为未来的需求迭代做铺垫。怎么办呢&#xff1f;假设系统目前在线上运行着的&#xff0c;直接整体换的话耗时太久&#xff0c;且中间还有新的需…