如何使用纯CSS实现一只纸鹤(附源码)

本篇文章给大家带来的内容是关于如何使用纯css实现一只纸鹤(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

效果预览

3892307135-5b89db4600e00_articlex.gif

源代码下载

https://github.com/comehope/front-end-daily-challenges

代码解读

定义 dom,容器中包含 6 个元素,分别代表头、颈、身体侧面、翅、尾、胸:

居中显示:

立即学习“前端免费学习笔记(深入)”;

body {    margin: 0;    height: 100vh;    display: flex;    align-items: center;    justify-content: center;    background-color: dodgerblue;}

定义容器尺寸:

.cranes {    width: 52em;    height: 50em;    font-size: 7px;}

设置纸鹤的颜色为白色:

.cranes {    color: white;}

画出头部:

.cranes {    position: relative;}.head {    border-left: 13em solid transparent;    border-right: 6em solid transparent;    border-bottom: 2em solid;    position: absolute;    left: 0;    top: 21;    transform: rotate(-5deg);}

把以上创建三角形的代码抽象成一个模板,然后数据都改为变量,类似于调用函数的样子:

.cranes span {    border-left: calc(var(--left) * 1em) solid transparent;    border-right: calc(var(--right) * 1em) solid transparent;    border-bottom: calc(var(--bottom) * 1em) solid;    position: absolute;    transform: rotate(calc(var(--rotation) * 1deg));    left: calc(var(--x) * 1em);    top: calc(var(--y) * 1em);}.head {    --left: 13;    --right: 6;    --bottom: 2;        --x: 0;    --y: 21;    --rotation: -5;}

设置透明度,以便元素叠加处有折纸效果:

.cranes span {    filter: opacity(0.6);}

接下来就是逐个调用生成三角形的函数创建其他三角形:

颈:

.neck {    --left: 6;    --right: 6;    --bottom: 12;    --x: 14;    --y: 19;    --rotation: 75;}

身体侧面:

.side {    --left: 1.5;    --right: 11.5;    --bottom: 20;    --x: 18.8;    --y: 15.1;    --rotation: 20;}

翅:

.wing {    --left: 18.7;    --right: 30;    --bottom: 8;    --x: 6.7;    --y: 9.2;    --rotation: -41.9;}

尾:

.tail {    --left: 18.6;    --right: 7.7;    --bottom: 3.9;    --x: 19.6;    --y: 38.1;    --rotation: -126.5;}

胸:

.belly {    --left: 6.2;    --right: 1.8;    --bottom: 11.5;    --x: 17.5;    --y: 27.8;    --rotation: -99;}

至此,纸鹤画完。
最后,增加一点交互效果,当鼠标悬停时,由等腰直角三角形变形成鹤:

.cranes:hover span {    animation: appear 1s ease-in;}@keyframes appear {    from {        border-left: 3em solid transparent;        border-right: 3em solid transparent;        border-bottom: 3em solid;        position: absolute;        transform: rotate(0deg);        left: calc((52em - 3em) / 2);        top: calc((50em - 3em) / 2);    }}

大功告成!

相关推荐:

如何使用纯CSS实现苹果系统的相册图标(代码)

如何使用CSS和D3实现小鱼游动的交互动画(附代码)

以上就是如何使用纯CSS实现一只纸鹤(附源码)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1611341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 02:14:42
下一篇 2025年12月24日 02:14:56

相关推荐

  • 什么是BFC?css中的BFC有什么用?

    本篇文章给大家带来的内容是关于什么是bfc?css中的bfc有什么用?,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 什么是BFC(Block Formatting Context) Formatting context(格式化上下文) 是 W3C CSS2.1 规范中的一个概念。…

    2025年12月24日
    000
  • 如何使用纯CSS实现一个人独自行走的动画效果(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现一个人独自行走的动画效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 d…

    2025年12月24日
    000
  • css盒子模型的理解:5分钟搞懂css盒子模型是什么?

    css盒子模型是什么?毕竟在学习css时经常可以看到css盒子模型,所以,接下来的这篇文章创想鸟就跟大家来谈一谈css盒子模型的概念以及对css盒子模型的理解。 首先,我们来看一看css盒子模型是什么? 从百度百科上我们可以知道,网页设计中常听的属性名:内容(content)、内边距(padding…

    2025年12月24日 好文分享
    000
  • css继承是什么意思?css哪些属性可以继承?

    在css的学习过程中,我们会遇到一些属性可以继承,那么,css中的继承是什么意思?有哪些属性可以继承呢?本篇文章就给大家来介绍一下css中继承性的内容。 我们定义css继承前,先来看一看HTML DOM(文档树),HTML DOM(文档树)是由html元素组成,文档树和家族树类似,也有祖先、后代、父…

    好文分享 2025年12月24日
    000
  • 如何使用纯CSS实现抛盒子的loader (附源码)

    本篇文章给大家带来的内容是关于 如何使用纯css实现抛盒子的loader (附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 d…

    2025年12月24日
    000
  • 如何使用纯CSS实现徘徊的果冻怪兽(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现徘徊的果冻怪兽,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom,容器中包含 2…

    2025年12月24日
    000
  • 如何使用纯CSS实现小球变矩形背景的按钮悬停效果(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现小球变矩形背景的按钮悬停效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义…

    2025年12月24日
    000
  • 纯css如何实现瀑布流?css实现瀑布流的两种方式

    瀑布流的布局感觉还是蛮不错的,所以本篇文章就给大家来分享一下css实现瀑布流布局的两种方法,通过multi-column多列布局实现瀑布流和flex布局实现瀑布流。 1.multi-column多列布局实现瀑布流 先简单的讲下multi-column相关的部分属性 column-count设置列数 …

    2025年12月24日
    000
  • 如何使用纯CSS实现锡纸撕开的文字效果(附代码)

    本篇文章给大家带来的内容是关于如何使用纯css实现锡纸撕开的文字效果(附代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom…

    2025年12月24日
    000
  • css如何实现禁止文字被选择(代码)

    本篇文章给大家带来的内容是关于css如何实现禁止文字被选择(代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 css禁止文字被选择 .m-no-select { -webkit-touch-callout: none; /* iOS Safari */ -webkit-use…

    好文分享 2025年12月24日
    000
  • css如何实现图片右上角添加复选框 (代码)

    本篇文章给大家带来的内容是关于css如何实现图片右上角添加复选框 (代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 页面如下:  <base href="”> 测试 .main{ float:left; margin-left:8px; } @@##@…

    好文分享 2025年12月24日
    000
  • css与html的区别是什么?css与html区别对比

    很多同学在学习前端的时候,可能会对html与css之间的区别不太了解,今天的这篇文章创想鸟给需要的朋友们总结了关于html与css之间的比较,下面我们就来看一下具体的内容。 css与html区别: 1. 首先我们来看一下html: html是HyperTextMark-upLanguage的缩写,即…

    2025年12月24日
    000
  • 深入理解CSS伪类选择器的知识(代码示例)

    本篇文章给大家带来的内容是关于深入理解css伪类选择器的知识(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 前言 过去零零星星地了解和使用:link、::after和content等伪类、伪元素选择器,最近看书时发现这方面有所欠缺,于是决定稍微深入学习一下,以下为伪类部…

    好文分享 2025年12月24日
    000
  • 如何使用CSS和D3实现小鱼游动的交互动画(附代码)

    本篇文章给大家带来的内容是关于如何使用css和d3实现小鱼游动的交互动画(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 do…

    2025年12月24日
    000
  • 如何使用纯CSS实现苹果系统的相册图标(代码)

    本篇文章给大家带来的内容是关于如何使用css实现苹果系统的相册图标(代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom,容…

    2025年12月24日
    000
  • css如何实现水纹扩散的动画效果(纯代码)

    本篇文章给大家带来的内容是关于css如何实现水纹扩散的动画效果(纯代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 <!—-> <!—-> <!—-> css: .main{ position: relative; height:…

    好文分享 2025年12月24日
    000
  • css中reset重置样式的代码实现

    本篇文章给大家带来的内容是关于如何使用纯CSS3实现图片轮播的效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 重置样式,清除浏览器默认样式,并配置适合设计的基础样式(强调文本是否大多是粗体、主文字色,主链接色,主字体等)。 /* reset */html,body,h1,h2,…

    好文分享 2025年12月24日
    000
  • css实现类似图片画廊的图片排序(完整代码)

    本篇文章给大家带来的内容是关于css实现类似图片画廊的图片排序(完整代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 自学教程(如约智惠.com) div.img { margin:5px; border:1px solid #ccc; float:left; width:18…

    好文分享 2025年12月24日
    000
  • css实现垂直导航栏和水平导航栏的代码

    本篇文章给大家带来的内容是关于css实现垂直导航栏和水平导航栏的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 垂直导航栏的样式 自学教程(如约智惠.com) ul {list-style-type:none;margin:0;padding:0;}a:link, a:visi…

    好文分享 2025年12月24日
    000
  • css中伪元素的使用方法小结(代码)

    本篇文章给大家带来的内容是关于css中伪元素的使用方法小结(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 把文本的第一个字母设为特殊的字母 自学教程(如约智惠.com) p:first-letter {color:#ff0000;font-size:xx-large;}你可…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信