过年挂灯笼是中国的一个习俗,家里挂灯笼,博客也是自己的家,当然也要挂一个了。很多年前Flash流行时,网上可以随便找一个Flash动画的灯笼,很方便就可以加到网站主题模板上,如今Flash已成过眼云烟,在国内甚至已变成流氓插件,网上找了找没有合适CSS3动画灯笼,那就自己写一个吧,效果如图。
点击图片查看演示效果
代码这里也分享一下,有喜欢的朋友拿去用,将灯笼挂在自己的博客上,增加点过年的气氛。
这个灯笼只是简单应用一下CSS3动画,纯HTML+CSS手敲出来的,由于时间短写的不是很严谨,但不影响使用,具体实现方法,文章最后有打包文件下载。
第一步、添加HTML代码
将下面的HTML代码添加到主题页脚模板footer.php,</body>标签的上面。
<!-- 灯笼1 --> <div class="deng-box"> <div class="deng"> <div class="xian"></div> <div class="deng-a"> <div class="deng-b"><div class="deng-t">节</div></div> </div> <div class="shui shui-a"><div class="shui-c"></div><div class="shui-b"></div></div> </div> </div> <!-- 灯笼2 --> <div class="deng-box1"> <div class="deng"> <div class="xian"></div> <div class="deng-a"> <div class="deng-b"><div class="deng-t">春</div></div> </div> <div class="shui shui-a"><div class="shui-c"></div><div class="shui-b"></div></div> </div> </div>
因为代码中有中文,编辑后需要将模板文件保存为UTF-8 无BOM(无签名)的格式,后台主题编辑中修改可以忽略,上面的代码可以只加一个,个人感觉挂两个灯笼更灵动些。
如果只想在首页显示灯笼,可以用下面的判断语句把HTML代码包裹起来:
<?php if (is_home()) { ?> <!-- 代码放这里 --> <?php } ?>
第二步、添加样式
将样式代码添加到WP后台 → 外观 → 自定义 → 额外CSS 中,点击“发布”即可。
.deng-box { position: fixed; top: -40px; right: -20px; z-index: 999; } .deng-box1 { position: fixed; top: -30px; right: 10px; z-index: 999; } .deng-box1 .deng { position: relative; width: 120px; height: 90px; margin: 50px; background: #d8000f; background: rgba(216, 0, 15, 0.8); border-radius: 50% 50%; -webkit-transform-origin: 50% -100px; -webkit-animation: swing 5s infinite ease-in-out; box-shadow: -5px 5px 30px 4px rgba(252, 144, 61, 1); } .deng { position: relative; width: 120px; height: 90px; margin: 50px; background: #d8000f; background: rgba(216, 0, 15, 0.8); border-radius: 50% 50%; -webkit-transform-origin: 50% -100px; -webkit-animation: swing 3s infinite ease-in-out; box-shadow: -5px 5px 50px 4px rgba(250, 108, 0, 1); } .deng-a { width: 100px; height: 90px; background: #d8000f; background: rgba(216, 0, 15, 0.1); margin: 12px 8px 8px 10px; border-radius: 50% 50%; border: 2px solid #dc8f03; } .deng-b { width: 45px; height: 90px; background: #d8000f; background: rgba(216, 0, 15, 0.1); margin: -4px 8px 8px 26px; border-radius: 50% 50%; border: 2px solid #dc8f03; } .xian { position: absolute; top: -20px; left: 60px; width: 2px; height: 20px; background: #dc8f03; } .shui-a { position: relative; width: 5px; height: 20px; margin: -5px 0 0 59px; -webkit-animation: swing 4s infinite ease-in-out; -webkit-transform-origin: 50% -45px; background: #ffa500; border-radius: 0 0 5px 5px; } .shui-b { position: absolute; top: 14px; left: -2px; width: 10px; height: 10px; background: #dc8f03; border-radius: 50%; } .shui-c { position: absolute; top: 18px; left: -2px; width: 10px; height: 35px; background: #ffa500; border-radius: 0 0 0 5px; } .deng:before { position: absolute; top: -7px; left: 29px; height: 12px; width: 60px; content: " "; display: block; z-index: 999; border-radius: 5px 5px 0 0; border: solid 1px #dc8f03; background: #ffa500; background: linear-gradient(to right, #dc8f03, #ffa500, #dc8f03, #ffa500, #dc8f03); } .deng:after { position: absolute; bottom: -7px; left: 10px; height: 12px; width: 60px; content: " "; display: block; margin-left: 20px; border-radius: 0 0 5px 5px; border: solid 1px #dc8f03; background: #ffa500; background: linear-gradient(to right, #dc8f03, #ffa500, #dc8f03, #ffa500, #dc8f03); } .deng-t { font-family: 华文行楷,Arial,Lucida Grande,Tahoma,sans-serif; font-size: 3.2rem; color: #dc8f03; font-weight: bold; line-height: 85px; text-align: center; } .night .deng-t, .night .deng-box, .night .deng-box1 { background: transparent !important; } @-moz-keyframes swing { 0% { -moz-transform: rotate(-10deg) } 50% { -moz-transform: rotate(10deg) } 100% { -moz-transform: rotate(-10deg) } } @-webkit-keyframes swing { 0% { -webkit-transform: rotate(-10deg) } 50% { -webkit-transform: rotate(10deg) } 100% { -webkit-transform: rotate(-10deg) } }
也可以将样式代码直接加到主题样式文件style.css的最后。可能灯笼上的文字字号在有些主题上有点大,可以适当修改第133行的字号:font-size: 3.2rem;
打包文件下载
使用方法:
第一步,解压后将deng.php文件上传到当前主题根目录中。
第二步,打开当前主题页脚模板footer.php,在<?php wp_footer(); ?>上面添加:
<?php require get_template_directory() . '/deng.php'; ?>
添加判断函数
如果只想在首页显示灯笼,可以用下面的判断语句把上面的代码包裹起来:
<?php if (is_home()) { ?> <!-- 代码放这里 --> <?php } ?>
手机移动端不显示:
<?php if (!wp_is_mobile()) { ?> <?php require get_template_directory() . '/deng.php'; ?> <?php } ?>
提示:加显示判断函数,代码必须添加在页脚模板<?php wp_footer(); ?>函数上面,否则无效。
这里也提前预祝大家春节快乐,万事如意,鼠年吉祥!
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!
甘肃省武威市 1F
鸟哥真是及时雨。。。
江苏省无锡市 2F
100分
山东省潍坊市寿光市 3F
感谢鸟哥!已经成功运用上
重庆市 4F
这个牛逼,我也去搞一个。
河北省 5F
谢谢,去试试
浙江省衢州市 6F
原来代码的源头还是鸟叔呀。强!
湖南省长沙市 7F
非常好的代码,已经使用并且转载
天津市 8F
https://suibi.qian.lu/1139.html 改了一点 单侧灯笼 总觉得不完整 变成双侧灯笼了!!
北京市 9F
感谢鸟哥,我这就挂上去,顺便文章也转走了,方便以后使用
——–https://erlong.org
北京市 10F
借鸟哥帖子祝大家春节快乐,阖家安康!
北京市 11F
这个灯笼效果在电脑上看起来很不错,但在手机上会遮挡文字。
天津市 B1
@ 夜未央 可以加个if(!wp_is_mobile()){echo ‘HTML代码’;},这样就只在电脑端加载了。
江西省萍乡市 12F
挺漂亮的
山西省长治市 13F
会不会影响加载速度
广东省深圳市 14F
感谢!!!找来找去还是这个好看!!!
广东省东莞市 15F
灯笼会飘动的吗?
广东省梅州市 16F
非常漂亮,可惜我是个phper不会改前端。如果能改为双侧的会更好看一些。
辛苦博主了。