2023春节祝福系列第一弹(放飞孔明灯,祝福大家身体健康)

news2024/11/19 14:27:16

2023年春节祝福第一弹

放飞孔明灯,祝福大家身体健康!

目录

一、前言

二、一片星光闪烁的旋转星空

(1)、效果展示:

(2)、相关源代码

(3)、语法解释

(3.1)、线性渐变 linear-gradient

(3.2)、径向渐变 radial-gradient() 

(3.3)、CSS3 transform 属性

三、一轮动态移动的明月

(1)、绘制基本明月效果

(2)、为明月添加阴影效果

(3)、让明月移动起来

四、画一朵真实的祥云;

五、循环上升的祝福孔明灯;

六、一个发光的祝福语显示框


一、前言

  今天是2023年1月8日,很快就要到中国农历新年了。但今年,每个人在期盼新年的同时更添加了几分对疾病的惆怅。

  其实这些年世界一直在全方面改变,我听过有人感叹:每天早上醒来的第一件事,就是看手机问自己:今日保住份工没?今日保住绿码没?。。。疫情直接影响着所有人基本的生活状态。

  虽然现在放开了,不再强调绿码,但周围很多人确确实实在生病中ing。如果现在每个人都必需要经过“阳”关大道,无法逃脱,那么我们只能以平常心从容面对。

  生老病s本是人生历练,不要过于悲观,相信你自己,一切会好起来的。每个人的身体体质不同,遇到的病株也可能不同。有人可能只是感觉得了场感冒,但有的人却真真实实地经历着生死关头。

  所以,如果你生病了,千万不要大意了,该吃药就要吃药,该休息就要好好休息,如果需要上医院医治就不要拖。感觉难受痛苦的时候,一定要相信自己,相信自己一定能打败疾病,重新夺回本属于你的健康,这是你在为你自己而战斗!!!

  如果家里人生病了,如果自己身体状况还好,就要多照顾一下家里人。互相关心,互相照顾,互相扶持,不分年龄和性别,这才是正常的家庭,努力保住了,这才是温暖的家,这才是属于你的避风港。

  经历一些事情能够让我们看清楚一些人。

  明代思想家、学者洪应明的《菜根谭》里有这么一句话:躁性偾事,和平徼福。 鱼得水逝而相忘乎水,鸟乘风飞而不知有风。 大概意思是:性情急躁粗心大意的人,作什么事都不容易成功;性情温和心绪平静的人,由于做事考虑周到而容易成功,所以各种福份也就自然到来。鱼有水才能优哉优哉地游 ,但 是它们何尝明白自己置身水中呢? 鸟借风力才能自由自在翱翔,但是它们却不知道自己置身在风中。

  一场疫情,让我们明白,这世上总有人把别人的善良当作理所当然,把自己的自私当作天经地义。

  人生就像一张无形信用卡,别人对你的善与付出,你对别人的善与付出,都在无形信用卡里面储蓄记录。可当你只懂得提取别人对你的好而不懂珍惜,不懂得感恩回报时,无形信用卡总有一天会被透支彻底,再也提不出任何东西来。就算你得到再多物质上的东西,你身边也再不会有真心对你好的人。你的自私,总有一天,会报应到自己身上。

  因为自己淋过雨,所以雨天时想给需要的人撑把伞。因为懂得,所以慈悲!

  村上春树曾经说过:你要记得那些大雨中为你撑伞的人,帮你挡住外来之物的人, 黑暗中默默抱紧你的人,逗你笑的人,陪你彻夜聊天的人,坐车来看望你的人,陪你哭过的人 在医院陪你的人,总是以你为重的人,带着你四处游荡的人,说想念你的人。是这些人组成你生命中一点一滴的温暖 是这些温暖使你远离阴霾。是这些温暖使你成为善良的人。

  工作认真对待,困难勇敢面对,生活细细品味,真情慢慢体会,珍惜人生中每一次相识,珍惜天地间每一分温暖,珍惜每一个无声的默契,不枉此生。

  如果你没有生病,或者病好了,那么就努力过好每一天,尽量让自己保持心情愉快,并带给身边的家人朋友快乐。

  例如快过年了,动动手吧,把一些小祝福带给身边的家人朋友。生活不易,能够多一点幸福快乐总是好的。

   我最近在写2023春节祝福系列的博文和代码,其中祝福第一弹就是想通过网上放飞孔明灯的方法为所有人祈福,祝福大家身体健康。

   株株幸运草,点点幸运星,朵朵幸福花,道道平安符,把把长命锁,颗颗平安豆,粒粒健康米,依依祝福情。。。

   如果过年想发祝福给朋友的可以留意一下这个系列博文(初步定了五弹,看有没时间完成)

 

  1. 2023春节祝福系列第一弹(放飞孔明灯为所有人祈福,祝福大家身体健康)
  2. 2023春节祝福系列第二弹(转运祝福页面,愿给所有人带来好运,不好事情尽快结束)
  3. 2023春节祝福系列第三弹(小白兔蹦蹦跳,愿给所有人都带来活力无限)
  4. 2023春节祝福系列第四弹(来杯可乐,愿所有人新年乐事不断)
  5. 2023春节祝福系列第五弹(烟花灿烂,多款烟花特效分享)
  6. 2023春节祝福系列第六弹()

   此文为:2023春节祝福系列第一弹(放飞孔明灯为所有人祈福,祝福大家身体健康),html和css,js的网页特效页面。效果截图如下:

  孔明灯又叫天灯,相传是由三国时的诸葛孔明所发明。当年,诸葛孔明被司马懿围困於平阳,无法派兵出城求救。孔明算准风向,制成会飘浮的纸灯笼,系上求救的讯息,其后果然脱险,於是后世就称这种灯笼为孔明灯。

  孔明灯,又称许愿灯或天灯!孔明灯现在多作为祈福之用。男女老少亲手写下祝福的心愿,象征丰收成功,幸福年年。民间已有许多地方的风俗是在重要日子的时候放孔明灯以求平安!

  2023年到来,许下新年的愿望,借着孔明灯的光去寻找新的路途。孔明灯是夜空中最闪亮的星星,心愿飘向遥远的星空,星星点点,与满天繁星无分彼此,也将祝福带到世界各地,祝福大家2023年身体健康!

成品主要分成五大部分:

  • 1、一片星光闪烁的旋转星空;
  • 2、一轮动态移动的明月;
  • 3、画一朵真实的祥云;
  • 4、循环上升的祝福孔明灯;
  • 5、一个发光的祝福语显示框

二、一片星光闪烁的旋转星空

(1)、效果展示:

(2)、相关源代码

  首先我们使用的是一个画布,新建一个画布,将画布设置为定位,设置画布的位置高度,样式中设置画布为基于最底部的样式,在将画布的背景设置一下就好了。这个天空的背景颜色我调了一段时间,这是我觉得比较好看的颜色效果。不喜欢的,可以在代码里设置一下自己喜欢的颜色。

  因为做的是旋转星空效果,需要用到 jquery-3.6.3.min.js,大家可以从官方下载最新版本的js。

  调用方法:

  <script src="js/jquery-3.6.3.min.js"></script>

  “星光闪烁的旋转星空”这部分的css代码:

body {
    background: radial-gradient(220% 105% at top center, #01040d 30%, #0043b2 60%, #e96f92 85%, #ca5631);
    background-attachment: fixed;
    overflow: hidden;
}

@keyframes rotate {
    0% {
        transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(0);
    }

    100% {
        transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(-360deg);
    }
}

.stars {
    transform: perspective(500px);
    transform-style: preserve-3d;
    position: absolute;
    bottom: 0;
    perspective-origin: 50% 100%;
    left: 50%;
    animation: rotate 90s infinite linear;
}

.star {
    width: 2px;
    height: 2px;
    background: #F7F7B6;
    position: absolute;
    top: 0;
    left: 0;
    transform-origin: 0 0 -300px;
    transform: translate3d(0, 0, -300px);
    backface-visibility: hidden;
}

“星光闪烁的旋转星空”这部分的js代码:

    $(document).ready(function () {
            var stars = 800;
    var $stars = $(".stars");
    var r = 800;
    for (var i = 0; i < stars; i++) {
                var $star = $("<div />").addClass("star");
    $stars.append($star);
            }
    $(".star").each(function () {
                var cur = $(this);
    var s = 0.2 + (Math.random() * 1);
    var curR = r + (Math.random() * 300);
    cur.css({
        transformOrigin: "0 0 " + curR + "px",
    transform: " translate3d(0,0,-" + curR + "px) rotateY(" + (Math.random() * 360) + "deg) rotateX(" + (Math.random() * -50) + "deg) scale(" + s + "," + s + ")"

                })
            })
        })

“星光闪烁的旋转星空”这部分的html代码:

<div class="stars"></div>

(3)、语法解释

  CSS 渐变 <image> 类型的一种特殊类型 <gradient> 表示,由两种或多种颜色之间的渐进过渡组成。

  您可以选择三种类型的渐变:

  线性 (由 linear-gradient (en-US) 函数创建),

  径向 (由 radial-gradient (en-US) 函数创建),

  圆锥 (由 conic-gradient (en-US) 函数创建)。

  重复渐变: repeating-linear-gradient (en-US) 和 repeating-radial-gradient (en-US) 函数创建重复渐变。

  渐变可以在任何使用 <image> 的地方使用,例如在背景中。由于渐变是动态生成的,因此它们可以消除对传统用于实现类似效果的栅格图像文件的需求。此外,由于渐变是由浏览器生成的,因此在放大时它们看起来比栅格图像更好,并且可以动态调整大小。

(3.1)、线性渐变 linear-gradient

  线性渐变创建了一条沿直线前进的颜色带。要创建最基本的渐变类型,您只需指定两种颜色即可。这些被称为色标。至少指定两个色标,也可以指定任意数量。还可以实现不同方向(指定为一个角度)的渐变效果,如果不指定方向,默认从上到下渐变。

/* 从上到下,蓝色渐变到红色 */
linear-gradient(blue, red);
 
/* 渐变轴为45度,从蓝色渐变到红色 */
linear-gradient(45deg, blue, red);
 
/* 从右下到左上、从蓝色渐变到红色 */
linear-gradient(to left top, blue, red);
 
/* 从下到上,从蓝色开始渐变、到高度40%位置是绿色渐变开始、最后以红色结束 */
linear-gradient(0deg, blue, green 40%, red);

线性渐变语法效果

<style>
#lineargradient1 {
    height: 80px;
    background-color: red; /* 不支持线性的时候显示 */
    background-image: linear-gradient(to right, red , yellow);
}
</style>

<div id="lineargradient1"></div>


线性渐变 - 从左到右
从左边开始的线性渐变。

 起点是红色,慢慢过渡到黄色

<style>
#lineargradient2 {
    height: 80px;
    background-color: red; /* 不支持线性的时候显示 */
    background-image: linear-gradient(to bottom right, red , yellow);
}
</style>
<div id="lineargradient2 "></div>


线性渐变 - 对角
从左上角开始(到右下角)的线性渐变。

起点是红色,慢慢过渡到黄色

<style>
#lineargradient3 {
  height: 80px;
  background-color: red; /* 浏览器不支持的时候显示 */
  background-image: linear-gradient(180deg, red, yellow); 
}

</style>
<div id="lineargradient3"></div>


使用不同的角度(此处180deg)

在使用角度的时候,

0deg 代表渐变方向为从下到上,

90deg 代表渐变方向为从左到右,

正角度都属于顺时针方向。

负角度意味着逆时针方向。

Internet Explorer 9 及之前的版本不支持渐变。

<style>
#lineargradient4 {
    height: 80px;
    background-color: red; /* 浏览器不支持的时候显示 */
    background-image: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet); /* 标准的语法(必须放在最后) */
}
</style>
<div id="lineargradient4"></div>

多个终止色的线性渐变

你不需要让你设置的颜色在默认位置终止。

你可以通过给每个颜色设置 0,1% 或者 2% 或者其他的绝对数值来调整它们的位置。

如果你将位置设置为百分数, 0% 表示起始点,而 100% 表示终点,但是如果需要的话你也可以设置这个范围之外的其他值来达到你想要的效果。

如果有些位置你没有明确设置,那么它将会被自动计算,第一种颜色会在 0% 处停止,而最后一种颜色是 100%,至于其他颜色则是在它邻近的两种颜色的中间停止。

.lineargradient5 {
   background: linear-gradient(to left, lime 28px, red 77%, cyan);
}


 Internet Explorer 8 及之前的版本不支持渐变。

<style>
#lineargradient6{
    height: 80px;
    background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));
}
</style>

<div id="lineargradient6"></div>


线性渐变 - 透明度
为了添加透明度,我们使用 rgba() 函数来定义颜色结点。

 rgba() 函数中的最后一个参数定义了颜色的透明度:0 表示完全透明,1 表示完全不透明。

可以堆叠多个背景以实现一些非常花哨的效果。背景从上到下堆叠,第一个指定的背景位于顶部。

background: linear-gradient(to right, transparent, mistyrose),url("critters.png");

<style>
#lineargradient7{
    height: 80px;
    background-image: linear-gradient(to bottom left, cyan 50%, palegoldenrod 50%);
}
</style>

<div id="lineargradient7"></div>

创建实线
要在两种颜色之间创建一条硬线,即创建一个条纹而不是逐渐过渡,可以将相邻的颜色停止设置为相同的位置。

在此示例中,两种颜色在 50% 标记处共享一个颜色停止点,即渐变的一半

<style>
#lineargradient8{
    height: 80px;
    background: linear-gradient(to left,lime 20%, red 30%, red 45%, cyan 55%, cyan 70%, yellow 80% );
}
</style>

<div id="lineargradient8"></div>
 

创建色带和条纹
要在渐变中包含一个实心的非过渡颜色区域,请包含颜色起止点的两个位置。颜色起止点可以有两个位置,这相当于两个连续颜色在不同位置具有相同的颜色起止点。颜色将在第一个颜色起止点时达到完全饱和,保持该饱和度到第二个颜色起止点,并通过相邻颜色起止点的第一个位置过渡到相邻颜色起止点的颜色。

background: linear-gradient(to left,lime 20%, red 30% 45%, cyan 55% 70%, yellow 80% );

<style>
#lineargradient9{
    height: 80px;
   background: linear-gradient(to left,lime 25%, red 25%, red 50%, cyan 50%, cyan 75%, yellow 75% );
</style>

<div id="lineargradient9"></div>

创建色带和条纹

background: linear-gradient(to left,lime 25%, red 25% 50%, cyan 50% 75%, yellow 75% );

<style>
#lineargradient10{
    height: 80px;
    background:
      linear-gradient(217deg, rgba(255,0,0,.8), rgba(255,0,0,0) 70.71%),
      linear-gradient(127deg, rgba(0,255,0,.8), rgba(0,255,0,0) 70.71%),
      linear-gradient(336deg, rgba(0,0,255,.8), rgba(0,0,255,0) 70.71%);
</style>

<div id="lineargradient10"></div>

堆叠渐变
您甚至可以将渐变与其他渐变堆叠在一起。只要顶部渐变不是完全不透明的,下面的渐变仍然可见。

(3.2)、径向渐变 radial-gradient() 

 径向渐变由中心点定义。

为了创建径向渐变你必须设置两个终止色。

 background-image: radial-gradient(shape size at position, start-color, ..., last-color);

描述
shape确定圆的类型:

ellipse (默认): 指定椭圆形的径向渐变。

circle :指定圆形的径向渐变

size定义渐变的大小,可能值:

farthest-corner (默认) : 指定径向渐变的半径长度为从圆心到离圆心最远的角

closest-side :指定径向渐变的半径长度为从圆心到离圆心最近的边

closest-corner : 指定径向渐变的半径长度为从圆心到离圆心最近的角

farthest-side :指定径向渐变的半径长度为从圆心到离圆心最远的边

position定义渐变的位置。可能值:

center(默认):设置中间为径向渐变圆心的纵坐标值。

top:设置顶部为径向渐变圆心的纵坐标值。

bottom:设置底部为径向渐变圆心的纵坐标值。

start-color, ..., last-color用于指定渐变的起止颜色。

径向渐变语法效果
<style>
#radialgradient1 {
    height: 200px;
    width: 200px;
    background-color: black; /* 浏览器不支持的时候显示 */
    background-image: radial-gradient(red 5%, yellow 45%, green 80%); /* 标准的语法(必须放在最后) */
}
</style>
<div id="lineargradient1 "></div>

<style>
#radialgradient2 {
    height: 100px;
    width: 200px;
    background-color: red; /* 浏览器不支持的时候显示 */
    background-image: radial-gradient(yellow, white, red); /* 标准的语法(必须放在最后) */
}
</style>
<div id="lineargradient2 "></div>

椭圆形 Ellipse(默认):

<style>
#radialgradient3 {
    height: 100px;
    width: 200px;
    background-color: red; /* 浏览器不支持的时候显示 */
    background-image: radial-gradient(circle,yellow, white, red); /* 标准的语法(必须放在最后) */
}
</style>
<div id="lineargradient3 "></div>

圆形 Circle:

<style>
#radialgradient4 {
    height: 200px;
    width: 200px;
    background-color: red; /* 浏览器不支持的时候显示 */
    background-image: radial-gradient(closest-side at 60% 55%,green, yellow, black); 
}
</style>

<div id="lineargradient4 "></div>

closest-side:

closest-side :指定径向渐变的半径长度为从圆心到离圆心最近的边

<style>
#radialgradient5 {
    height: 200px;
    width: 200px;
    background-color: red; /* 浏览器不支持的时候显示 */
    background-image: radial-gradient(farthest-side at 60% 55%, green, yellow, black); 
}
</style>

<div id="lineargradient5 "></div>

farthest-side

farthest-side :指定径向渐变的半径长度为从圆心到离圆心最远的边

<style>
#radialgradient6 {
    height: 200px;
    width: 200px;
    background-color: red; /* 浏览器不支持的时候显示 */
    background-image: radial-gradient(closest-corner at 60% 55%, green, yellow, black);
}
</style>

<div id="lineargradient6 "></div>

closest-corner

closest-corner : 指定径向渐变的半径长度为从圆心到离圆心最近的角

<style>
#radialgradient7 {
    height: 200px;
    width: 200px;
    background-color: red; /* 浏览器不支持的时候显示 */
    background-image: radial-gradient(farthest-corner at 60% 55%, green, yellow, black); 
}
</style>

<div id="lineargradient7 "></div>

farthest-corner

指定径向渐变的半径长度为从圆心到离圆心最远的角

<style>
#radialgradient8 {
    height: 200px;
    width: 200px;
    background-color: red; /* 浏览器不支持的时候显示 */
  background:
      radial-gradient(circle at 50% 0,
        rgba(255,0,0,.5),
        rgba(255,0,0,0) 70.71%),
      radial-gradient(circle at 6.7% 75%,
        rgba(0,0,255,.5),
        rgba(0,0,255,0) 70.71%),
      radial-gradient(circle at 93.3% 75%,
        rgba(0,255,0,.5),
        rgba(0,255,0,0) 70.71%) beige;
  border-radius: 50%;
}
</style>

<div id="lineargradient8 "></div>
 

堆叠径向渐变
就像线性渐变一样,您也可以堆叠径向渐变。第一个指定在顶部,最后一个在底部。

<style>
#radialgradient9 {
    height: 200px;
    width: 200px;
    background: repeating-linear-gradient(-45deg, red, red 5px, yellow 5px, blue 10px);
}
</style>

<div id="lineargradient9 "></div>

重复线性渐变
使用重复线性渐变 (en-US) 创建沿直线重复前进的渐变。随着渐变的重复,颜色会再次循环。本例中,渐变线的长度为 10px。

使用重复渐变
线性渐变  和径向渐变 属性不支持自动重复色标。但是,重复线性梯度 和重复径向梯度属性可用于提供此功能。

重复的渐变线的大小是第一个色标值和最后一个色标长度值之间的长度。如果最后一个色标只有一个颜色而没有色标长度,则该值默认为 0,这意味着线性渐变不会重复,并且径向渐变仅在渐变的半径小于渐变中心与最远拐角之间的长度时才会重复。

<style>
#radialgradient10 {
    height: 200px;
    width: 200px;

  background:
      repeating-linear-gradient(190deg, rgba(255, 0, 0, 0.5) 40px,
        rgba(255, 153, 0, 0.5) 80px, rgba(255, 255, 0, 0.5) 120px,
        rgba(0, 255, 0, 0.5) 160px, rgba(0, 0, 255, 0.5) 200px,
        rgba(75, 0, 130, 0.5) 240px, rgba(238, 130, 238, 0.5) 280px,
        rgba(255, 0, 0, 0.5) 300px),
      repeating-linear-gradient(-190deg, rgba(255, 0, 0, 0.5) 30px,
        rgba(255, 153, 0, 0.5) 60px, rgba(255, 255, 0, 0.5) 90px,
        rgba(0, 255, 0, 0.5) 120px, rgba(0, 0, 255, 0.5) 150px,
        rgba(75, 0, 130, 0.5) 180px, rgba(238, 130, 238, 0.5) 210px,
        rgba(255, 0, 0, 0.5) 230px),
      repeating-linear-gradient(23deg, red 50px, orange 100px,
        yellow 150px, green 200px, blue 250px,
        indigo 300px, violet 350px, red 370px);

}
</style>

<div id="lineargradient10 "></div>

多个重复线性梯度
与常规线性和径向渐变类似,您可以包括多个渐变,一个渐变位于另一个梯度之上。

仅当渐变部分透明,允许后续渐变通过透明区域显示,或者为每个渐变图像包含不同的背景大小(可选)具有不同的背景位置属性值时,这才有意义。我们正在使用透明度。

在本例中,渐变线的长度为 300px、230px 和 300px。

<style>
#radialgradient11 {

    height: 200px;
    width: 200px;

  background:
      repeating-linear-gradient(90deg, transparent, transparent 50px,
        rgba(255, 127, 0, 0.25) 50px, rgba(255, 127, 0, 0.25) 56px,
        transparent 56px, transparent 63px,
        rgba(255, 127, 0, 0.25) 63px, rgba(255, 127, 0, 0.25) 69px,
        transparent 69px, transparent 116px,
        rgba(255, 206, 0, 0.25) 116px, rgba(255, 206, 0, 0.25) 166px),
      repeating-linear-gradient(0deg, transparent, transparent 50px,
        rgba(255, 127, 0, 0.25) 50px, rgba(255, 127, 0, 0.25) 56px,
        transparent 56px, transparent 63px,
        rgba(255, 127, 0, 0.25) 63px, rgba(255, 127, 0, 0.25) 69px,
        transparent 69px, transparent 116px,
        rgba(255, 206, 0, 0.25) 116px, rgba(255, 206, 0, 0.25) 166px),
      repeating-linear-gradient(-45deg, transparent, transparent 5px,
        rgba(143, 77, 63, 0.25) 5px, rgba(143, 77, 63, 0.25) 10px),
      repeating-linear-gradient(45deg, transparent, transparent 5px,
        rgba(143, 77, 63, 0.25) 5px, rgba(143, 77, 63, 0.25) 10px);

  background:
      repeating-linear-gradient(90deg, transparent 0 50px,
        rgba(255, 127, 0, 0.25) 50px 56px,
        transparent 56px 63px,
        rgba(255, 127, 0, 0.25) 63px 69px,
        transparent 69px 116px,
        rgba(255, 206, 0, 0.25) 116px 166px),
      repeating-linear-gradient(0deg, transparent 0 50px,
        rgba(255, 127, 0, 0.25) 50px 56px,
        transparent 56px 63px,
        rgba(255, 127, 0, 0.25) 63px 69px,
        transparent 69px 116px,
        rgba(255, 206, 0, 0.25) 116px 166px),
      repeating-linear-gradient(-45deg, transparent 0 5px,
        rgba(143, 77, 63, 0.25) 5px 10px),
      repeating-linear-gradient(45deg, transparent 0 5px,
        rgba(143, 77, 63, 0.25) 5px 10px);
}

</style>

<div id="lineargradient11 "></div>

格纹渐变

为了创建格子,

我们包括几个具有透明度的重叠渐变。

在第一个背景声明中,我们分别列出了每个色标。

使用多位置颜色停止语法的第二个背景属性声明:

<style>
#radialgradient12 {
    height: 200px;
    width: 200px;
    background: repeating-radial-gradient(black, black 5px, white 5px, white 10px);
}
</style>

<div id="lineargradient12 "></div>

重复径向渐变


本示例使用重复径向渐变 (en-US) 创建从中心点重复辐射的渐变。

随着渐变的重复,颜色会一遍又一遍地循环。

<style>
#radialgradient13 {
  height: 200px;
  width: 200px;
  background:
      repeating-radial-gradient(ellipse at 80% 50%,rgba(0,0,0,0.5),
        rgba(0,0,0,0.5) 15px, rgba(255,255,255,0.5) 15px,
        rgba(255,255,255,0.5) 30px) top left no-repeat,
      repeating-radial-gradient(ellipse at 20% 50%,rgba(0,0,0,0.5),
        rgba(0,0,0,0.5) 10px, rgba(255,255,255,0.5) 10px,
        rgba(255,255,255,0.5) 20px) top left no-repeat yellow;
  background-size: 200px 200px, 150px 150px;

}
</style>

<div id="lineargradient13 "></div>

多个重复径向梯度

(3.3)、CSS3 transform 属性

语法:transform: none|transform-functions;

描 述
none定义不进行转换。
matrix(n,n,n,n,n,n)定义 2D 转换,使用六个值的矩阵。
matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n)定义 3D 转换,使用 16 个值的 4x4 矩阵。
translate(x,y)定义 2D 转换。
translate3d(x,y,z)定义 3D 转换。
translateX(x)定义转换,只是用 X 轴的值。
translateY(y)定义转换,只是用 Y 轴的值。
translateZ(z)定义 3D 转换,只是用 Z 轴的值。
scale(x[,y]?)定义 2D 缩放转换。
scale3d(x,y,z)定义 3D 缩放转换。
scaleX(x)通过设置 X 轴的值来定义缩放转换。
scaleY(y)通过设置 Y 轴的值来定义缩放转换。
scaleZ(z)通过设置 Z 轴的值来定义 3D 缩放转换。
rotate(angle)定义 2D 旋转,在参数中规定角度。
rotate3d(x,y,z,angle)定义 3D 旋转。
rotateX(angle)定义沿着 X 轴的 3D 旋转。
rotateY(angle)定义沿着 Y 轴的 3D 旋转。
rotateZ(angle)定义沿着 Z 轴的 3D 旋转。
skew(x-angle,y-angle)定义沿着 X 和 Y 轴的 2D 倾斜转换。
skewX(angle)定义沿着 X 轴的 2D 倾斜转换。
skewY(angle)定义沿着 Y 轴的 2D 倾斜转换。
perspective(n)为 3D 转换元素定义透视视图。

三、一轮动态移动的明月

(1)、绘制基本明月效果

通过css设置就能完成:

.moon {
    position: absolute;
    z-index: -1;
    width: 100px;
    height: 100px;
    background-image: linear-gradient(to right,#e4e0b7 10%,#fff 90%);
    box-shadow: 0 0 60px 40px rgba(0,0,255,0.2),inset 0 0 20px 5px rgba(0,0,255,0.1);
    border-radius: 50%;
    filter: blur(2px);
    animation: moon-move 200s linear infinite alternate;
}

 相关的html代码:

    <div class="moon">
    </div>

(2)、为明月添加阴影效果

 通过css设置就能完成:

.moon-shadow {
    width: 3vw;
    height: 5vw;
    border-radius: 100%;
    position: absolute;
    top: 1vw;
    left: 2.6vw;
    background: linear-gradient(51deg, #e4e0b7, #e4e0b7, #eae895, #feff7f, #fefec6);
}

#moonShadow {
    filter: url(#filter);
}

相关的html代码:

        <div class="moon">
            <div class="moon-shadow" id="moonShadow"></div>
            <svg width="0" height="0">
                <filter id="filter">
                    <feTurbulence type="fractalNoise" baseFrequency="0.034" numOctaves="4" seed="0" />
                    <feDisplacementMap in="SourceGraphic" scale="150" />
                </filter>
            </svg>
        </div>

(3)、让明月移动起来

月亮走,我也走,在我们印象中,月亮总是跟着我们一起走,那就添加个动画,让月亮走起来吧。

通过css设置就能完成:

@keyframes moon-move {
    0% {
        left: 10%;
        top: 30%;
    }
    50% {
        left: 68%;
        top: 20%;
    }
    75% {
        left: 88%;
        top: 15%;
    }
    100% {
        left: 95%;
        top: 10%;
    }
}

四、画一朵真实的祥云;

五、循环上升的祝福孔明灯;

六、一个发光的祝福语显示框

篇幅过长,另文更新,稍侯!

  1. 2023春节祝福系列第一弹(放飞孔明灯为所有人祈福,祝福大家身体健康)
  2. 2023春节祝福系列第二弹(转运祝福页面,愿给所有人带来好运,不好事情尽快结束)
  3. 2023春节祝福系列第三弹(小白兔蹦蹦跳,愿给所有人都带来活力无限)
  4. 2023春节祝福系列第四弹(来杯可乐,愿所有人新年乐事不断)
  5. 2023春节祝福系列第五弹(烟花灿烂,多款烟花特效分享)
  6. 2023春节祝福系列第六弹()

 推荐阅读:

25

2023春节祝福系列第一弹(放飞孔明灯,祝福大家身体健康)
24

HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)

23

​草莓熊python绘图(春节版,圣诞倒数雪花版)附源代码

22

【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)

21

0a4256d5e96d4624bdca36433237080b.png

​​

python爱心源代码集锦
20

4d9032c9cdf54f5f9193e45e4532898c.png

​​

巴斯光年python turtle绘图__附源代码
19

074cd3c255224c5aa21ff18fdc25053c.png

​​​

Three.js实例详解___旋转的精灵女孩(附完整代码和资源)
18

daecd7067e7c45abb875fc7a1a469f23.png

​​​​

​草莓熊python turtle绘图(玫瑰花版)附源代码

17

fe88b78e78694570bf2d850ce83b1f69.png

​​​​

立体多层玫瑰绘图源码__玫瑰花python 绘图源码集锦

16

c5feeb25880d49c085b808bf4e041c86.png

​​​​

皮卡丘python turtle海龟绘图(电力球版)附源代码

15

38266b5036414624875447abd5311e4d.png

​​​​

【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)

14

03ed644f9b1d411ba41c59e0a5bdcc61.png

​​​​

草莓熊python turtle绘图(风车版)附源代码

13

09e08f86f127431cbfdfe395aa2f8bc9.png

​​​​

用代码过中秋,python海龟月饼你要不要尝一口?

12

40e8b4631e2b486bab2a4ebb5bc9f410.png

​​​​

《 Python List 列表全实例详解系列》__系列总目录

11

938bc5a8bb454a41bfe0d4185da845dc.jpeg

​​​​

用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

10

0f09e73712d149ff90f0048a096596c6.png

​​​​

Python函数方法实例详解全集(更新中...)

9

93d65dbd09604c4a8ed2c01df0eebc38.png

​​​​

matplotlib 自带绘图样式效果展示速查(28种,全)

8

aa17177aec9b4e5eb19b5d9675302de8.png

​​​​

手机屏幕坏了____怎么把里面的资料导出(18种方法)

7

1750390dd9da4b39938a23ab447c6fb6.jpeg

​​​​

2023年1月多家权威机构____编程语言排行榜__薪酬状况

6

dc8796ddccbf4aec98ac5d3e09001348.jpeg

​​​​

Python中Print()函数的用法___实例详解(全,例多)

5

1ab685d264ed4ae5b510dc7fbd0d1e55.jpeg

​​​​

色彩颜色对照表(300种颜色)(16进制、RGB、CMYK、HSV、中英文名)

4

80007dbf51944725bf9cf4cfc75c5a13.png

​​​​

Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细)

3

c6374d75c29942f2aa577ce9c5c2e12b.png

​​​​

Tomcat 启动闪退问题解决集(八大类详细)

2

5218ac5338014f389c21bdf1bfa1c599.png

​​​​

Tomcat端口配置(详细)

1

fffa2098008b4dc68c00a172f67c538d.png

​​​​

Tomcat10 安装(Windows环境)(详细)sss

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[ 数据结构 ] 堆排序--------思路、图解、代码

0 基本介绍 堆定义:首先是完全二叉树,分为大顶堆和小顶堆大顶堆:顾名思义,如果将父子节点看成一个堆(三个节点的组合),那么顶的值需要大于其两个子节点的值,即顶大;小顶堆即顶小升序排序使用大顶堆,降序使用小顶堆回顾顺序存储二叉树中,父子节点的关系为:下标为n的节点,它的左…

Java开发 - Spring框架初体验

目录 前言 了解框架的概念 Spring框架 关于Spring 在Maven中使用Spring Spring怎么管理对象 spring怎么创建对象 通过Bean注解创建对象 通过组件扫描创建对象 关于ComponentScan("xxxxxx") Spring Bean的作用域 自动装配技术 什么是自动装配 补充 Io…

MATLAB循环码编译码实验

标题循环码编译码实验一、实验目的1、掌握循环码编码原理和译码原理2、练习使用Matlab编程实现循环码编码和译码二、实验原理伴随式译码捕错译码三、实验要求1、编程实现码长n15的各种循环码的编码、译码&#xff0c;给出相应的码生成多项式、&#xff08;典型&#xff09;监督…

Java设计模式中装饰者模式/装饰者模式具体内容是什么/静态代理与装饰者模式联系与区别是什么

继续整理记录这段时间来的收获&#xff0c;详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用&#xff01; 5.4 装饰者模式 5.4.1 概述 在不改变现有对象结构的情况下&#xff0c;动态给对象增加某些职责或功能的模式 5.4.2 结构 抽象构件(Component)&#xff1a;定义…

Javascript 中的堆、栈、引用和值

学透CSS-强烈推荐 Javascript 中的内存存储 栈-Stack&#xff1a; 这是当前 Javascript 线程的暂存空间。由于 Javascript 通常只有单线程&#xff0c;因此通常只有一个堆栈。堆栈的大小也是有限的。 堆-Heap &#xff0c;它是应用程序级别的动态内存存储。从堆中访问和检索…

java 手把手带你创建一个spring入门案例

查看本文 首先 您需要下载spring 如果没有安装 可以查看我的文章 java spring下载步骤 首先 我们打开idea开发工具 选择左上角 File > New > Project 如下图操作 勾选 然后点击下一步 然后我们选择项目目录 这里我直接用了个中文目录 最好不要跟我学哦 因为个人英文不…

微信语音转换成mp3文件保存的简单详细步骤

目录 读者手册 一、前言 二、操作步骤一 把语音转化为silk文件&#xff08;silk后缀的文件&#xff09; 1.长按语音收藏&#xff08;手机操作&#xff09; 2.找到主页收藏 3.找到收藏的语音 4.转存为笔记 5.点击笔记里面的语音&#xff08;下面全部电脑操作&#xff0…

Kubernetes(k8s) 笔记总结(一)

文章目录1. 云平台2. 私有网络 VPC(重点&#xff01;&#xff01;&#xff01;)3. Kubernetes 介绍4. k8s 架构5. kubectl 和 kubeadm6. 三台云服务器的 安装部署7. Kubernetes 环境搭建7.1 安装docker环境7.2 安装k8s的 预备环境8. kubernetes集群 安装的三大件(kubelet、kube…

三句话,让Ai帮你画18万张图

本文介绍Stable Diffusion的快速上手&#xff0c;本地部署&#xff0c;以及更多有趣的玩法展示。 在 DALL-E 2 和 Imagen 之后&#xff0c;AI绘图领域又一个热乎的深度学习模型出炉——Stable Diffusion 。8月份发布的 Stable Diffusion 更加高效且轻量&#xff0c;可以在消费…

P4:Transforms的使用

transform.py就像是一个工具箱&#xff0c;里面有很多工具&#xff08;如&#xff1a;totensor、resize等不同的工具&#xff09;。 使用规则&#xff1a; 拿特定格式的图片&#xff0c;通过使用工具&#xff0c;得到想要的结果。 1、transforms.ToTensor()的使用 1、作用&a…

实战1:基于tensorflow卷积网络实现面部关键点检测详细教程(代码+数据)

项目概述: 此任务的目标是预测面部图像上的关键点位置。这可以用作多个应用程序中的构建块,例如:检测面部关键点是一个非常具有挑战性的问题。人脸特征因人而异,即使是单个人,由于 3D 姿势、大小、位置、视角和光照条件等因素也存在很大差异。 直接上结果: 数据集描…

JSP SSM 个人博客系统系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 JSP SSM 个人博客系统系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代 码和数据库&#xff0c;系统主要采…

vue3-Teleport笔记

简单来写一下Teleport src/components/TeleportLearn.vue <script setup></script><template><div><Teleport to"body"><div>你好</div></Teleport></div> </template><style scoped></style&…

NVMe IO数据传输如何选择PRP or SGL?

在Host与Controller之间有数据交互时&#xff0c;Controller会多次访问Host内存。比如执行NVMe Read/Write:当Host下发NVMe Write命令时&#xff0c;Host会先放数据放在Host内存中&#xff0c;然后通知Controller过来取数据。Controller接到信息后&#xff0c;会通过PCIe Memor…

Python下载ts文件视频并合并

目录 一、ts文件的由来 二、下载ts文件 1.下载index.m3u8&#xff0c;并做相应处理 2.下载ts文件 三、合并ts文件 一、ts文件的由来 ts文件&#xff0c;ts即"Transport Stream"的缩写&#xff0c;特点就是要求从视频流的任一片段开始都是可以独立解码的&#x…

C 程序设计教程(06)—— C 语言的运算符与表达式

C 程序设计教程&#xff08;06&#xff09;—— C 语言的运算符与表达式 该专栏主要介绍 C 语言的基本语法&#xff0c;作为《程序设计语言》课程的课件与参考资料&#xff0c;用于《程序设计语言》课程的教学&#xff0c;供入门级用户阅读。 目录C 程序设计教程&#xff08;0…

【每日一题】【LeetCode】【第七天】盛最多水的容器

解决之路 因为是周日&#xff0c;找个中等题挑战一下。 题目描述 测试案例&#xff08;部分&#xff09; 第一次 想一下&#xff0c;因为涉及到底乘高&#xff0c;所以不能排序。逆序也没必要。 简化一下题干&#xff0c;盛水最多&#xff0c;也就是算面积最大&#xff0c…

【北邮果园大三上】运筹学期中前

第一章.线性规划 1.1例题 根据现实世界中的问题建立模型 一般表达式 ①和式 ②向量式 1.2变化标准&#xff1a; 1.3线性规划求解的基础原理和单纯解法 1.3.1解 ①基础概念 基 可行解与基础解 其他分类 ②判断举例 原式子&#xff1a; 判断标准 将一个未知数作为常熟&#…

从Wireshark看TCP连接的建立与关闭

http://t.zoukankan.com/jonathanlin-p-4282582.html TCP是一种面向连接、可靠的协议。TCP连接的建立与断开&#xff0c;都是需要经过通信双方的协商。用一句话概括就是&#xff1a;三次握手say hello&#xff08;建立连接&#xff09;&#xff1b;四次握手say goodbye&#x…

蓝桥杯Python组排序算法与函数

目录 一、排序算法 二、排序函数 1、Python 的 sort() 函数和 sorted() 函数 2、sort() 例子 3、sorted() 例子 4、部分排序 三、例题 1、统计数字&#xff08;lanqiaoOJ题号535&#xff09; 2、错误票据&#xff08;lanqiaoOJ题号205&#xff09; 3、奖学金&#xf…