博客园-awescnb插件-geek皮肤优化--公众号卡片

简介

博客园-awescnb插件-geek皮肤暂不支持配置展示公众号二维码,此文章目的使用手动注入方式自定义实现公众号卡片效果

效果展示

  • 公众号卡片

  • 动态效果

鼠标移入前为公众号指引页
鼠标移入后显示公众号二维码
切换动画为动态反转

  • 首页展示

实现

在博客日历元素blog-calendar前插入自定义div卡片元素

  • 定义自定义HTML
    博客园->管理->设置->页脚 HTML 代码
    添加相关代码

  //添加微信公众号卡片
  function addWechat(){
    const tempDiv = document.createElement('div');
    tempDiv.innerHTML = '<div class="card-widget heo-right-widget wechat" id="card-wechat"><div id="flip-wrapper"><div id="flip-content"><div class="face"></div><div class="back face"></div></div></div></div>';
    const newElement = tempDiv.firstChild;
    document.getElementById("blog-calendar").before(newElement);
  }
  addWechat();

在博客日历blog-calendar之前添加自定义HTML元素
document.createElement:创建元素
innerHTML :写入元素HTML内容
firstChild:获取对应元素第一个子元素
document.getElementById:根据ID获取元素
before:在对应元素之前插入

  • 定义自定义CSS
    博客园->管理->设置->页面定制 CSS 代码
    添加代码
.card-widget#card-wechat.wechat::before {background: var(--wechat-ico-background-url) center center no-repeat;background-size: cover;}.card-widget#card-wechat::before {position: absolute;width: 100%;height: 100%;left: 0;top: 0;content: '';background-size: cover;transition: .2s cubic-bezier(.45,.04,.43,1.21);}.card-widget:hover {box-shadow: 0 8px 16px -4px #2c2d300c;}.card-widget#card-wechat.wechat {background: #57bd6a;}.card-widget#card-wechat {margin: 8px;background: #57bd6a;display: flex;justify-content: center;align-content: center;padding: 0;cursor: pointer;border: none;height: 110px;}.card-widget {box-shadow: 0 8px 16px -4px #2c2d300c;background: #fff;border: 1px solid #e3e8f7;border-radius: 12px;transition: .3s;position: relative;overflow: hidden;padding: 1rem;display: flex;gap: 8px;flex-direction: column;}#flip-wrapper {-webkit-perspective: 1000;perspective: 1000;}#flip-wrapper {position: relative;width: 100%;height: 100%;z-index: 1;display: flex;justify-content: center;}#flip-content {width: 235px;height: 110px;-webkit-transform-style: preserve-3d;transform-style: preserve-3d;transition: cubic-bezier(0,0,0,1.29) .3s;}.wechat .face {background: var(--face-background-url) center center no-repeat;background-size: cover;}.face {position: absolute;width: 100%;height: 100%;-webkit-backface-visibility: hidden;backface-visibility: hidden;}.wechat .back.face {background: var(--wechat-card-background-url) center center no-repeat;background-size: cover;}.back.face {display: block;-webkit-transform: rotateY(180deg);transform: rotateY(180deg);box-sizing: border-box;}body {position: relative;min-height: 100%;background: #f7f9fe;color: #363636;font-size: 16px;font-family: "PingFang SC","Hiragino Sans GB","Microsoft YaHei";line-height: 2;-webkit-tap-highlight-color: transparent;margin: 0;}#flip-wrapper:hover #flip-content {-webkit-transform: rotateY(180deg);transform: rotateY(180deg);}.card-widget#card-wechat:hover:before {top: 100%;opacity: 0;transition: .3s ease-out;}

:root {
    --wechat-ico-background-url: url(https://img2024.cnblogs.com/blog/1289898/202408/1289898-20240822093316430-1716103993.png);
    --face-background-url: url(https://img2024.cnblogs.com/blog/1289898/202408/1289898-20240822093440102-947878034.png);
    --wechat-card-background-url: url(https://img2024.cnblogs.com/blog/1289898/202408/1289898-20240822163713759-1772776461.png);
}

:hover 是一个伪类选择器,用于选择用户将指针悬停在某个元素上时的状态。通常用于添加交互效果,如此处的反转效果
rotateY() 函数是用来沿着 Y 轴旋转一个元素的方法。这是 transform 属性的一部分,可以用来创建三维变换。
transition 属性用于定义元素从一种样式逐渐改变为另一种样式的过渡效果。它可以应用于任何 CSS 属性的变化,只要这个属性是可以通过 CSS 动画平滑过渡的
var()函数允许你使用自定义属性(也称为CSS变量)来定义和重用值。自定义属性提供了一种创建可重用值的方法,这些值可以在不同的作用域中定义,并且可以被子元素继承

其中对应了三张背景图片,均可自行上传和修改,图片原图如下:

  1. 微信图标

  2. 公众号提示

  3. 公众号二维码

公众号二维码底图

可自行与公众号二维码进行组合
公众号二维码获取地址:公众号设置->账号详情->二维码

其他文章

博客园自定义皮肤工具推荐:awescnb

博客园-awescnb插件-geek皮肤优化


结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丿似锦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值