超简单好看的HTML5七夕情人节表白网页(表白直接拿去用) HTML+CSS+JS
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
博主命运之光
目录
2.将上面的源代码复制粘贴到记事本里面将文件另存为HTML文件点击保存即可
✨简介
在这个数字时代爱情表白方式也随之改变。在过去我们可能会写情书或亲自表达情感但现在我们可以利用互联网和编程技术来创造独特而有趣的方式来表达爱意。本篇博客将介绍如何使用HTML、CSS和JavaScript创建一个令人惊喜的爱心表白网页。
✨前言
最近天气一直在下雨本来是像写一个有着下雨效果的网页的我也不知道怎么写着写着就开始表白了(●'◡'●)废话不多说我们直接看网页的效果展示好了有下雨效果的网页我也写了都在专栏里有兴趣的小伙伴可以去看看。
图片看不清的我们下面有视频展示图片这块大小超过5M所以传输的时候就会有点问题
✨视频展示
爱心——命运之光表白
✨源代码
这里先直接放上源代码需要的直接复制粘贴即可
这里我们先放源代码为的就是让即便没有学过代码的小伙伴们也可以直接拿上代码用不用看太多大道理(●'◡'●)
注意源代码后面有使用的方法记得看哈
<!DOCTYPE html>
<html>
<head>
<title>下雪背景效果和爱心</title>
<style type="text/css">
body {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
margin: 0;
overflow: hidden;
background-color: #FCE8F8;
}
#snow-container {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: -1;
}
.snowflake {
position: absolute;
width: 10px;
height: 10px;
background-color: #fff;
border-radius: 50%;
opacity: 0.8;
pointer-events: none;
animation: snowfall linear infinite;
}
@keyframes snowfall {
0% {
transform: translateY(-100%);
}
100% {
transform: translateY(100vh);
}
}
.heart {
width: 200px;
height: 200px;
position: relative;
animation: heartbeat 1s infinite;
transform-origin: center center;
}
.heart:before,
.heart:after {
content: "";
background-color: red;
border-radius: 50px 50px 0 0;
position: absolute;
top: 0;
}
.heart:before {
left: 100px;
width: 100px;
height: 160px;
transform: rotate(-45deg);
transform-origin: 0 100%;
}
.heart:after {
left: 0;
width: 100px;
height: 160px;
transform: rotate(45deg);
transform-origin: 100% 100%;
}
#timeElapsed {
text-align: center;
font-size: 24px;
margin-top: 20px;
}
@keyframes heartbeat {
0% {
transform: scale(1);
}
50% {
transform: scale(1.2);
}
100% {
transform: scale(1);
}
}
@keyframes falling {
0% {
transform: translateY(-100vh);
}
100% {
transform: translateY(100vh);
}
}
.sakura {
position: absolute;
top: -20px;
left: -20px;
width: 40px;
height: 40px;
background-image: url('https://www.unicode.org/emoji/charts/full-emoji-list.html#1f338'); /* 的Unicode转义序列 */
background-size: cover;
animation: falling linear infinite;
animation-duration: 10s;
}
</style>
</head>
<body>
<div id="snow-container"></div>
<div class="heart"></div>
<div id="timeElapsed"></div>
<script>
function getTimeElapsed() {
var startDate = new Date("2022-01-01"); // 设置开始日期替换为实际的起始日期
var currentDate = new Date();
var timeDiff = currentDate - startDate;
var milliseconds = timeDiff % 1000;
timeDiff = Math.floor(timeDiff / 1000);
var seconds = timeDiff % 60;
timeDiff = Math.floor(timeDiff / 60);
var minutes = timeDiff % 60;
timeDiff = Math.floor(timeDiff / 60);
var hours = timeDiff % 24;
timeDiff = Math.floor(timeDiff / 24);
var days = timeDiff;
var timeString = "宝贝我们已经在一起 " + days + " 天 " + hours + " 小时 " + minutes + " 分钟 " + seconds + " 秒了";
document.getElementById("timeElapsed").textContent = timeString;
}
setInterval(getTimeElapsed, 1000);
</script>
<script>
function createSnowflake() {
const snowflake = document.createElement('div');
snowflake.classList.add('snowflake');
snowflake.style.left = Math.random() * window.innerWidth + 'px';
snowflake.style.animationDuration = Math.random() * 3 + 2 + 's';
snowflake.style.opacity = Math.random();
snowflake.style.fontSize = Math.random() * 10 + 10 + 'px';
const randomColor = getRandomColor();
snowflake.style.backgroundColor = randomColor;
snowflake.innerHTML = '命运之光'; // You can customize the snowflake symbol here
return snowflake;
}
function getRandomColor() {
const letters = '0123456789ABCDEF';
let color = '#';
for (let i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
function snowfall() {
const snowContainer = document.getElementById('snow-container');
const numSnowflakes = 50; // Adjust the number of snowflakes here
for (let i = 0; i < numSnowflakes; i++) {
const snowflake = createSnowflake();
snowContainer.appendChild(snowflake);
}
}
snowfall();
</script>
<script>
function createSakura() {
var sakura = document.createElement("div");
sakura.className = "sakura";
sakura.style.left = Math.random() * 100 + "vw";
sakura.style.animationDelay = Math.random() * 5 + "s";
document.body.appendChild(sakura);
setTimeout(function () {
sakura.remove();
}, 10000);
}
setInterval(createSakura, 200);
</script>
</body>
</html>
✨代码的使用方法超简单什么都不用下载
1.打开记事本
2.将上面的源代码复制粘贴到记事本里面将文件另存为HTML文件点击保存即可
3.打开html文件大功告成(●'◡'●)
✨代码讲解选看小白看到这里就可以结束了哈不用再往下看了哈
这里必须说一下代码不难会使用HTML,CSS,JS就行小白看也看不明白所以以下内容选看哈写在最后就是为了不影响小白们的观看体验哈(●'◡'●)祝大家开心快乐
下面逐行解释代码的功能和作用
1. `<!DOCTYPE html>`声明文档类型为HTML这里使用HTML5的文档类型声明。
2. `<html>`表示整个HTML文档的根元素。
3. `<head>`包含了文档的元数据信息和样式表。
4. `<title>`设置网页的标题。
5. `<style>`定义内部样式表用于设置网页的样式。
6. `body`定义页面的内容。
- `display: flex;`设置页面的布局为弹性布局使其内容在垂直和水平方向上居中显示。
- `align-items: center;`使页面内容在垂直方向上居中对齐。
- `justify-content: center;`使页面内容在水平方向上居中对齐。
- `height: 100vh;`设置页面高度为视窗的高度使其充满整个屏幕。
- `margin: 0;`移除页面的默认边距。
- `overflow: hidden;`隐藏页面内容溢出部分。
- `background-color: #FCE8F8;`设置页面背景颜色为粉色。
7. `#snow-container`一个用于容纳下雪效果的元素。
- `position: fixed;`将元素的定位方式设置为固定定位相对于浏览器窗口固定位置。
- `top: 0; left: 0;`将元素定位到页面的左上角。
- `width: 100%; height: 100%;`将元素的宽度和高度设置为100%使其充满整个屏幕。
- `pointer-events: none;`禁用元素的鼠标事件使其不接收用户的交互操作。
- `z-index: -1;`将元素的堆叠顺序设置为-1使其在其他内容的下方。
8. `.snowflake`定义雪花元素的样式。
- `position: absolute;`将元素的定位方式设置为绝对定位。
- `width: 10px; height: 10px;`设置元素的宽度和高度为10像素。
- `background-color: #fff;`设置元素的背景颜色为白色。
- `border-radius: 50%;`将元素的边框半径设置为50%使其呈现圆形。
- `opacity: 0.8;`设置元素的透明度为0.8。
- `pointer-events: none;`禁用元素的鼠标事件。
- `animation: snowfall linear infinite;`应用名为`snowfall`的动画效果设置为线性运动
- 并无限循环播放。
9. `@keyframes snowfall`定义名为`snowfall`的关键帧动画。
- `0%`动画的起始状态将元素向上移动到-100%的位置。
- `100%`动画的结束状态将元素向下移动到视窗高度100vh的位置。
10. `.heart`定义爱心元素的样式。
- `width: 200px; height: 200px;`设置元素的宽度和高度为200像素。
- `position: relative;`将元素的定位方式设置为相对定位。
- `animation: heartbeat 1s infinite;`应用名为`heartbeat`的动画效果设置为1秒的循环播放。
- `transform-origin: center center;`设置元素的变换原点为中心点。
11. `.heart:before` 和 `.heart:after`定义爱心元素的伪元素样式用于绘制爱心的两个半边。
- `content: "";`设置伪元素的内容为空。
- `background-color: red;`设置伪元素的背景颜色为红色。
- `border-radius: 50px 50px 0 0;`设置伪元素的边框半径实现爱心形状。
- `position: absolute;`将伪元素的定位方式设置为绝对定位。
- `top: 0;`将伪元素定位到顶部位置。
12. `#timeElapsed`显示时间流逝的元素。
- `text-align: center;`设置文本内容在水平方向上居中对齐。
- `font-size: 24px;`设置文本的字体大小为24像素。
- `margin-top: 20px;`设置文本距离顶部的边距为20像素。
13. `<script>`嵌入JavaScript代码用于实现网页的交互和动态效果。
14. `function getTimeElapsed()`定义一个获取时间流逝的函数。
- `var startDate = new Date("2022-01-01");`设置开始日期可以替换为实际的起始日期。
- `var currentDate = new Date();`获取当前日期和时间。
- `var timeDiff = currentDate - startDate;`计算当前日期与开始日期之间的时间差。
- 然后通过一系列的计算将时间差转换为天、小时、分钟和秒并拼接成一个时间字符串。
- 最后将时间字符串设置为`timeElapsed`元素的文本内容。
15. `setInterval(getTimeElapsed, 1000);`每隔一秒调用一次`getTimeElapsed`函数更新时间流逝的显示。
16. `function createSnowflake()`定义创建雪花的函数。
- 创建一个`<div>`元素作为雪花。
- 设置
雪花的样式包括位置、动画持续时间、透明度、字体大小和背景颜色。
- 随机生成雪花的背景颜色。
- 设置雪花的内容为"命运之光"可自定义。
- 返回创建的雪花元素。
17. `function getRandomColor()`定义获取随机颜色的函数。
- 生成一个随机的十六进制颜色。
- 返回随机颜色。
18. `function snowfall()`定义雪花下落效果的函数。
- 获取雪花容器元素。
- 设置生成的雪花数量。
- 循环生成雪花并将其添加到雪花容器中。
19. `snowfall();`调用`snowfall`函数开始下雪效果。
20. `function createSakura()`定义创建樱花的函数。
- 创建一个`<div>`元素作为樱花。
- 设置樱花的样式包括位置和动画延迟时间。
- 将樱花添加到页面中。
- 设置一个定时器在10秒后移除樱花。
21. `setInterval(createSakura, 200);`每隔200毫秒调用一次`createSakura`函数创建樱花效果。
这段代码实现了一个带有下雪背景效果和爱心的网页同时显示了两个倒计时效果一个是从指定日期开始计算的时间流逝另一个是每秒钟刷新的下雪效果。通过CSS和JavaScript的配合实现了页面的布局、样式和动态效果。
✨结语
能看到这里的就说明你一定是一个十分有耐心且浪漫的人最后的最后祝愿你开开心心快快乐乐早日脱单就不用再为如何表白发愁啦(●'◡'●)