点击上方 程序员成长指北,关注公众号

回复1,加入Node高级进阶交流群

效果(完整代码在底部):

实现并不难,都是重复的代码比较多。

实现(可跟着一步一步写):

1. 先定义基本标签:

<!-- 血轮眼 --><div class="zuo"><!-- 眼睛最中间那个黑点 --><div class="zuoZong"><!-- 三勾玉所在的圈 --><div class="zuoYu"><!-- 三个勾玉 --><span class="yu"></span><span class="yu"></span><span class="yu"></span></div></div></div><!-- 轮回眼 --><div class="you"><!-- 眼睛最中间那个黑点 --><div class="dian"></div><!-- 3个轮回圈 --><div class="youYu">                        <span class="quan" style="--r:2;"></span><span class="quan" style="--r:3;"></span><span class="quan" style="--r:4;"></span></div>       </div>

2. 定义左右眼的基本css样式:

.zuo , .you{ width: 250px;height: 120px;background-color: rgb(255, 255, 255);border-bottom: 5px solid rgb(70, 70, 70);overflow: hidden;position: relative;}

border-bottom: 5px solid rgb(70, 70, 70); 给个灰色的眼底。overflow:溢出隐藏。position: relative; 相对定位。

3. 开始先定义血轮眼的基本样式:

.zuo{transform: translateX(-135px);border-radius: 0 120px 0 120px;box-shadow: inset 3px 2px 3px  rgba(17, 17, 17, 0.8);}

transform: translateX(-135px); 向左偏移,让两眼分开。border-radius:给两个角设置弧度,形成眼睛形状。bos-shadowL给眼角一点阴影。

4. 设置眼球宽高等:

.zuo::after{content: '';position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 95px;height: 95px;border-radius: 50%;border: 2px solid #000;animation: colour 2s linear forwards;}@keyframes colour{0%,30%{background-color: rgb(0, 0, 0);}100%{background-color: rgb(255, 4, 4);}}

position: absolute; 绝对定位 top: 50%; left: 50%; transform: translate(-50%,-50%); 居中对齐。animation:设置动画,让其变红色。forward:继承最后一帧的属性。background-color: rgb(0, 0, 0); 黑色 background-color: rgb(255, 4, 4); 红色。

5. 设置眼球正中间的黑点,都是些定位大小啥的,然后设置动画然它慢慢变大:

 .zuoZong{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 0px;height: 0px;border-radius: 50%;background-color: rgb(0, 0, 0);z-index: 1;animation: da 3s linear forwards;}@keyframes da{100%{width: 15px;height: 15px;}}

6. 设置三勾玉所在的圈,设置动画让其显示与旋转:

.zuoYu{position: absolute;top: -25px;left: -25px;bottom: -25px;right: -25px;border-radius: 50%;border: 2px solid rgb(0, 0, 0);animation: zhuan 2s linear 2s forwards;opacity: 0;}@keyframes zhuan{100%{opacity: 1;transform: rotate(720deg);}}

position: absolute; top: -25px; left: -25px; bottom: -25px; right: -25px; 大小。border-radius: 50%;圆形。border: 2px solid rgb(0, 0, 0); 黑色边框。opacity:0;透明度为0;transform: rotate(720deg); 旋转720度。

7. 制作三勾玉,先做一个圆,再用双伪类制作一个圆弧,两者结合就是勾玉了:

.zuoYu .yu{position: absolute;width: 15px;height: 15px;border-radius: 50%;background-color: rgb(0, 0, 0);}.zuoYu .yu::after{content: '';position: absolute;top: -6px;left: -1px;width: 6px;height: 20px;border-radius: 50%;border-left: 6px solid rgb(0, 0, 0);}

border-radius: 50%; border-left: 6px solid rgb(0, 0, 0); 先让伪类为圆,再只设置一条边框,圆弧形成,再定位在父元素上,形成勾玉。

8. 给勾玉设置动画,让其从最中间变大旋转到勾玉所在的圈:

  .zuoYu .yu:nth-child(1){animation: yu1 2s ease-in 2s  forwards;}@keyframes yu1{0%{opacity: 0;left: 50%;top: 50%;                transform:translate(-50%,-50%)  scale(0.1) ;}100%{left: 50%;top: -9%;transform: scale(1) rotate(80deg);  }}

left: 50%; top: 50%; 在最中间。opacity:透明。scale(0.1);缩小。100%{..}到对应位置,同时变不透明和放大成正常大小。

9. 一样的,给其它两个勾玉动画:

.zuoYu .yu:nth-child(2){animation: yu2 2s ease-in 2s forwards; }@keyframes yu2{0%{opacity: 0;left: 50%;top: 50%;transform: translate(-50%,-50%) scale(0.1) ;}100%{top: 60%;left: -9%;transform: scale(1) rotate(-60deg);  }}.zuoYu .yu:nth-child(3){          animation: yu3 2s ease-in 2s forwards;}@keyframes yu3{0%{opacity: 0;right: 50%;top: 50%;transform: translate(-50%,-50%) scale(0.1);}100%{top: 60%;right: -9%;transform: scale(1) rotate(180deg);  }}

10.给两个眼睛都设置一个白点,相当于反光效果吧,至此血轮眼做完了:

.zuo::before,.you::before{content: '';position: absolute;left: 38%;top: 30%;width: 12px;height: 12px;border-radius: 50%;background-color: rgb(255, 255, 255);z-index: 10;}

position: absolute; left: 38%; top: 30%; 定位相应的位置。background-color: rgb(255, 255, 255); 白色。z-index: 10; 设置为10,显示在最上层。

11.设置轮回眼基本css样式,跟血轮眼一样:

 .you{transform: translateX(135px);border-radius:  120px 0 120px 0;box-shadow: inset -3px 2px 3px  rgba(17, 17, 17, 0.8);}

12.设置眼球宽高等:

.you::after{content: '';position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 95px;height: 95px;border-radius: 50%;border: 2px solid #000;animation: youcolor 2s linear forwards;}@keyframes youcolor{0%,30%{background-color: rgb(0, 0, 0);}100%{background-color: rgb(144, 130, 183);}}

position: absolute; 绝对定位 top: 50%; left: 50%; transform: translate(-50%,-50%); 居中对齐。animation:设置动画,让其变紫色。forward:继承最后一帧的属性。background-color: rgb(0, 0, 0); 黑色 background-color: rgb(144, 130, 183); 紫色。

13. 设置眼球最中间的黑点,跟血轮眼也差不多:

.dian{       position: absolute;top: 50%;left: 50%;              background-color: #000;transform: translate(-50%,-50%);border-radius: 50%;z-index: 10;animation: youda 3s linear forwards;}@keyframes youda{0%{height: 0px;width: 0px;}100%{height: 15px;width: 15px;}}

14. 设置轮回眼每个圈,同时设置动画让其变大:

 .youYu{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);}.quan{position: absolute;border-radius: 50%;border: 2px solid #000;z-index: calc(1 - var(--r));animation: zhi 2s ease-out 2s forwards;}@keyframes zhi{0%{top: calc(var(--r) * 1px);left: calc(var(--r) * 1px);right: calc(var(--r) * 1px);bottom: calc(var(--r) * 1px);}100%{top: calc(var(--r) * -35px);left: calc(var(--r) * -35px);right: calc(var(--r) * -35px);bottom: calc(var(--r) * -35px);background-color: rgb(187, 177, 214);}}

z-index: calc(1 - var(--r)); 计算,让最开始的圈显示在最上层。animation:设置动画,让轮回圈慢慢变大,同时变成紫色。

完整代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>*{margin: 0;padding: 0;box-sizing: border-box;}body{height: 100vh;display: flex;justify-content: center;align-items: center;background-color: #000;}.zuo , .you{ width: 250px;height: 120px;background-color: rgb(255, 255, 255);border-bottom: 5px solid rgb(70, 70, 70);overflow: hidden;position: relative;}.zuo{transform: translateX(-135px);border-radius: 0 120px 0 120px;box-shadow: inset 3px 2px 3px  rgba(17, 17, 17, 0.8);}.zuo::after{content: '';position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 95px;height: 95px;border-radius: 50%;border: 2px solid #000;animation: colour 2s linear forwards;}@keyframes colour{0%,30%{background-color: rgb(0, 0, 0);}100%{background-color: rgb(255, 4, 4);}}.zuoZong{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 0px;height: 0px;border-radius: 50%;background-color: rgb(0, 0, 0);z-index: 1;animation: da 3s linear forwards;}@keyframes da{100%{width: 15px;height: 15px;}}.zuoYu{position: absolute;top: -25px;left: -25px;bottom: -25px;right: -25px;border-radius: 50%;border: 2px solid rgb(0, 0, 0);animation: zhuan 2s linear 2s forwards;opacity: 0;}@keyframes zhuan{100%{opacity: 1;transform: rotate(720deg);}}.zuoYu .yu{position: absolute;width: 15px;height: 15px;border-radius: 50%;background-color: rgb(0, 0, 0);}.zuoYu .yu::after{content: '';position: absolute;top: -6px;left: -1px;width: 6px;height: 20px;border-radius: 50%;border-left: 6px solid rgb(0, 0, 0);}.zuoYu .yu:nth-child(1){animation: yu1 2s ease-in 2s  forwards;}@keyframes yu1{0%{opacity: 0;left: 50%;top: 50%;transform:translate(-50%,-50%)  scale(0.1) ;}100%{left: 50%;top: -9%;transform: scale(1) rotate(80deg);  }}       .zuoYu .yu:nth-child(2){animation: yu2 2s ease-in 2s forwards; }@keyframes yu2{0%{opacity: 0;left: 50%;top: 50%;transform: translate(-50%,-50%) scale(0.1) ;}100%{top: 60%;left: -9%;transform: scale(1) rotate(-60deg);  }}.zuoYu .yu:nth-child(3){          animation: yu3 2s ease-in 2s forwards;}@keyframes yu3{0%{opacity: 0;right: 50%;top: 50%;transform: translate(-50%,-50%) scale(0.1);}100%{top: 60%;right: -9%;transform: scale(1) rotate(180deg);  }}.zuo::before,.you::before{content: '';position: absolute;left: 38%;top: 30%;width: 12px;height: 12px;border-radius: 50%;background-color: rgb(255, 255, 255);z-index: 10;}.you{transform: translateX(135px);border-radius:  120px 0 120px 0;box-shadow: inset -3px 2px 3px  rgba(17, 17, 17, 0.8);
/*             filter: drop-shadow( 8px -5px 3px  rgb(216, 59, 59));*/        }.you::after{content: '';position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 95px;height: 95px;border-radius: 50%;border: 2px solid #000;animation: youcolor 2s linear forwards;}@keyframes youcolor{0%,30%{background-color: rgb(0, 0, 0);}100%{background-color: rgb(144, 130, 183);}}.dian{       position: absolute;top: 50%;left: 50%;              background-color: #000;transform: translate(-50%,-50%);border-radius: 50%;z-index: 10;animation: youda 3s linear forwards;}@keyframes youda{0%{height: 0px;width: 0px;}100%{height: 15px;width: 15px;}}.youYu{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);}.quan{position: absolute;border-radius: 50%;border: 2px solid #000;z-index: calc(1 - var(--r));animation: zhi 2s ease-out 2s forwards;}@keyframes zhi{0%{top: calc(var(--r) * 1px);left: calc(var(--r) * 1px);right: calc(var(--r) * 1px);bottom: calc(var(--r) * 1px);}100%{top: calc(var(--r) * -35px);left: calc(var(--r) * -35px);right: calc(var(--r) * -35px);bottom: calc(var(--r) * -35px);background-color: rgb(187, 177, 214);}}</style>
</head>
<body><!-- 血轮眼 --><div class="zuo"><!-- 眼睛最中间那个黑点 --><div class="zuoZong"><!-- 三勾玉所在的圈 --><div class="zuoYu"><!-- 三个勾玉 --><span class="yu"></span><span class="yu"></span><span class="yu"></span></div></div></div><!-- 轮回眼 --><div class="you"><!-- 眼睛最中间那个黑点 --><div class="dian"></div><!-- 3个轮回圈 --><div class="youYu">                        <span class="quan" style="--r:2;"></span><span class="quan" style="--r:3;"></span><span class="quan" style="--r:4;"></span></div>       </div>
</body>
</html>

其它:

血轮眼,开~

热烈宣布(敲锣打鼓,手舞足蹈),我的B站账号地址:space.bilibili.com/176586698

泪目( Ĭ ^ Ĭ )

转载自:北极光之夜

https://juejin.cn/post/6955052354664136712

如果觉得这篇文章还不错

点击下面卡片关注我

来个【分享、点赞、在看】三连支持一下吧

 “分享、点赞、在看” 支持一波 

如何实现一个惊艳女友的血轮眼轮回眼特效相关推荐

  1. html+css 血轮眼轮回眼特效!

    文章目录 html+css 血轮眼轮回眼特效! 1.首先请看效果图(完整代码在最底部) 2.实现(可以跟着一步一步写来实现) 1.先定义基本的标签结构 2.定义左右眼多基本样式 3.开始先定义血轮眼的 ...

  2. 轮回眼css,纯CSS如何实现血轮眼+轮回眼特效(代码详解)

    本篇文章给大家介绍一下使用纯CSS实现血轮眼+轮回眼特效的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助. 效果(完整代码在底部) 其实实现并不难,都是重复的代码比较多. 实现(可 ...

  3. 血轮眼轮回眼特效 html+css

    效果(完整代码在底部): 实现并不难,都是重复的代码比较多. 实现(可跟着一步一步写): 1. 先定义基本标签: <!-- 血轮眼 --><div class="zuo&q ...

  4. 【限时删除】一个惊艳的神器,可全网爬取各种资源......

    今天,想为大家推荐一款超惊艳的工具,可以用在生活.工作的方方面面,保证瞬间让你找到人生开挂的感觉! 在这之前,先跟大家分享个真实的故事. "这感觉真的是太爽了!" 我朋友小宇前段时 ...

  5. 【限时删除】一个惊艳的神器,可全网爬取各种资源..........

    今天,想为大家推荐一款超惊艳的工具,可以用在生活.工作的方方面面,保证瞬间让你找到人生开挂的感觉! 在这之前,先跟大家分享个真实的故事. "这感觉真的是太爽了!" 我朋友小宇前段时 ...

  6. 用Python写血轮眼

    用python写血轮眼 import turtle turtle.title('血轮眼') #画布标题 turtle.bgcolor("green") #背景颜色 turtle.p ...

  7. 安利一个惊艳的红楼梦可视化作品

    更新:<左手读红楼梦,右手写BUG,闲快活>一文对该数据集进行了分析挖掘,加了许多红楼梦的内容,以及几个书里的黄段子,逃.代码开源在:DesertsX/gulius-projects 直接 ...

  8. 【Opencv实战】如何快速Get专属头像?惊艳—女友要的头像终于找到了~

    导语 ☀Python不仅好用,而且好玩.☀ Ps 小故事 哦?今天又到了三天换一次头像的时间了~ 你是不是在辛苦的在各大头像网站翻来覆去!这不.....女朋友又开始催了: 其实心里的内心活动是这样子的 ...

  9. 人的一生会遇到三种人,一个惊艳了时光,一个温柔了岁月,一个讲懂了“堆”

    堆儿 堆的概念 堆的操作 向下调整 搞一个大堆 向上调整 入堆 出堆 使用Java中的堆 top-K问题 分享一个题目 堆排序 堆的概念 堆就是优先级队列 堆在逻辑上是一棵完全二叉树 堆在物理上是储存 ...

  10. deepin关机卡桌面_喜大普奔:发现一个惊艳的电脑操作系统Deepin

    前些天,我买了一块固态硬盘,准备给用了5年多的笔记本电脑换一下硬盘. 为什么要换硬盘呢? 因为我实在忍受不了它的开机和操作的速度,比乌龟还要慢.在多少个夜晚,我都有买一台新的笔记本电脑冲动,但早上起来 ...

最新文章

  1. 第一代狗狗币教父联合社区挽救狗狗币,并在国内布道狗狗币三年之久
  2. Ubuntu11.04在Win7下从硬盘安装 和 使用体验
  3. http 协议上传文件multipart form-data boundary 说明--转载
  4. mysql链表_MySql链表语句--博客园老牛大讲堂
  5. 保姆式参赛教程全公开,居然还送10万奖金?
  6. 编译MiniGUI 程序
  7. UOJ#449. 【集训队作业2018】喂鸽子 min-max容斥,FFT
  8. Vuejs 插值操作
  9. 严格对角占优矩阵特征值_盖尔金圆定理及严格对角占优矩阵(SDD)
  10. atom对比 vscode_Atom、Sublime Text、VSCode 三者比较
  11. 极路由3C【C103B】刷breed再刷老毛子教程
  12. [程序员学英语]英语句子结构
  13. 面试经历(纯属个人经历,仅供观看参考)
  14. 肖飒:币圈新“口袋罪”?
  15. 腾讯会议怎么录屏?几个步骤轻松录屏
  16. 钉钉小程序如何判断其当前环境
  17. 真正福建电信笔试题(专业对口请进)(转载)
  18. 操作系统之生产者与消费者
  19. 【vscode】 远程:Unauthorized client refused: auth mismatch)
  20. 个人一些学习python经历

热门文章

  1. VSCODE一个阴坑
  2. 【MC-CNN论文翻译】Computing the Stereo Matching Cost with a Convolutional Neural Network
  3. ITSM系统核心流程
  4. 统计思维(实例5)——变量之间的关系
  5. 服务器网站中断,如何解决无法打开网页及服务器已断开连接的问题?
  6. (八)Mybatis当中#{}常用属性的用法
  7. linux7开放3306端口,CentOS 7 开放3306端口
  8. C++大写字母转小写字母
  9. 新手必备:网关与网段、IP协议、主机与DNS 、访问控制 资料汇总110篇
  10. 2×3卡方检验prism_别错过,卡方检验实用总结