前言
最近在搭建Hexo-Butterfly博客,搜索到了好多魔改的Butterfly主题,并且特别好看,特别是张洪HEO的那个魔改主题,然后自己也跃跃欲试,参考了他的主题的打赏名单,自己做了一个类似的样式
效果
具体实现
此展示样式是js加css编写,在主目录下新建js和css文件夹,分别建showAppreciation.js和showAppreciation.css两个文件,然后在_config.butterfly.yml里面inject位置引入
1 2 3 4 5
| inject: head: - <link rel="stylesheet" href="/css/showAppreciation.css"> bottom: - <script src="/js/showAppreciation.js"></script>
|
新建一个md文件,我的是放在关于本站里面,在md文件最下面添加
1
| <div class="reward-wrap" id='reward'></div>
|
作为样式的展示地方,然后就是写对应的css和js了,css里面为了适配手机端,加了媒体查询,直接上代码
注意事项:
当改了一版本css之后,发布到环境上发现不生效,这是因为缓存导致的,因为我们的css文件名称没换,建议修改样式之后加一个v1这样后缀名,然后再发布
showAppreciation.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| const data = [ { name: 'tiger', money: '5.20', date: '2023/10/30'}, { name: '哎哟喂傻了吧你', money: '1', date: '2023/10/30'}, { name: '像风一样', money: '1.66', date: '2023/11/1'}, { name: 'Simpson', money: '5', date: '2023/11/1'}, ];
(function(){ const rewardDom = document.getElementById('reward'); var html = ''; for(var i = 0; i < data.length; i++) { html += `<div class="reward-item-content"> <div class="reward-item-name">${data[i].name}</div> <div class="reward-item-time"> <div class="reward-item-money">¥${data[i].money}</div> <div>${data[i].date}</div> </div> </div>`; }; rewardDom.innerHTML = html; })();
|
showAppreciation.css
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| .reward-wrap { display: flex; flex-wrap: wrap; flex-direction: row; margin: 1rem -0.25rem 0.5rem -0.25rem }
.reward-item-content { padding: 1rem; border-radius: 12px; border: 1px solid #e3e8f7; width: calc((100% / 4) - 0.5rem); box-shadow: 0 8px 16px -4px #2c2d300c; margin: 0 .25rem .5rem .25rem }
.reward-item-name { font-size: 20px; font-weight: 700; font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei" }
.reward-item-time { display: flex; justify-content: space-between; margin-top: 5px; align-items: center; }
.reward-item-money { padding: 4px; background: #363636; color: #fff; font-size: 12px; border-radius: 4px; margin-right: 4px; white-space: nowrap; height: 26px; line-height: 18px; }
@media screen and (max-width: 700px){ .reward-item-content { width: 100%; } }
|
后续有时间,还会继续站在巨人的肩膀上改动博客样式,但是其实觉得基础版本的Hexo-Butterfly样式也够用了,我还是挺喜欢这种简洁风格的。