我正在参与掘金创作者训练营第5期,点击了解活动详情
前言
一年一度的七夕又要到了。想想去年是一个人过的七夕,没想到今年...还是一个人😭
虽然身为一个直男,可是也有追求浪漫的权利,所以有了这个垃圾demo牛逼项目!
实现
内容选择
七夕节作为我国民间的传统节日,很容易就想到了历史。再加上情人节的加持,答案呼之欲出——情诗!
(本来是打算用土味情话当内容的,但是实在太油)
配色
考虑用不停的渐变色填充网页背景,由于审美比较拉胯,所以配色选择去这个网站uigradients.com
编写css代码
body{
margin: 0;
padding: 0;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
/* 渐变背景 */
background: linear-gradient(145deg, #ee9ca7, #ffdde1, #FBD786, #f7797d, #c471ed, #2980b9, #8e44ad, #f7797d);
background-size: 500%;
font-family: "楷体","楷体_GB2312";
animation: bg 60s linear infinite;
}
这样,一个好看的网页就出来了。
内容处理
获得数据
去某个网站抓取了100个有关爱情的古诗,清洗后存入数据库,就有了这种数据
然后浅浅写个接口并且部署到服务器上面:api.love.babygao.cn/love
const url = 'http://api.love.babygao.cn/love'
var request = new XMLHttpRequest();
request.open('GET', url, isSync);
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
request.send(null);
if (request.status === 200) {
return request.responseText
}
这是最开始的处理方式,但是感觉为了这样一个简单的demo还要写个接口有点麻烦,所以后面选择把数据以json文件的形式读取。
文本处理
按照我的想法,我希望文字可以是渐隐渐显的显示在网页上,在完全消失后显示下一个/另外的内容。
// html
<body>
<div id="love-space" class="love-space">
<div id="love" class="love"></div>
<div id="love-from" class="love-from"></div>
</div>
</body>
// css
.love-space {
padding: 0 20px;
display: flex;
flex-direction: column;
align-items: center;
}
.love{
color: #fff;
font-size: 2rem;
margin-bottom: 0.2rem;
text-shadow: 0 0 10px rgba(255, 255, 255, .3);
}
.love-from{
padding: 0 20px;
color: #fff;
font-size: 1.5rem;
}
// js
let love_space = document.getElementById('love-space')
let love = document.getElementById('love')
let love_from = document.getElementById('love-from')
if (loves) {
love.innerHTML = say_love.title
love_from.innerHTML = say_love.author
love_space.style.animation = "textHide 10s linear infinite"
}
总结
代码比较简单,实现方式也比较粗糙,就不贴代码了
项目预览地址: love.babygao.cn