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

news2024/11/24 10:30:08

简介

博客园-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皮肤优化


结束

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2063946.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ES存量数据迁移优化措施

在将存量数据迁移到 Elasticsearch (ES) 时&#xff0c;可以采取多种优化措施&#xff0c;以提高迁移效率、减少对来源系统和目标系统的影响&#xff0c;并确保数据的完整性。以下是一些建议和优化措施&#xff1a; 1. 批量操作 使用 Bulk API&#xff1a;Elasticsearch 提供…

Linux虚拟机磁盘管理-新分区磁盘挂载

挂载mount 注意&#xff1a;挂载前一定要对磁盘进行文件系统创建&#xff0c;否则无法挂载磁盘 比如mkfs.ext4系统文件 磁盘挂载前和挂载后&#xff1a; linux系统重启后磁盘挂载没有了怎么办(不建议&#xff0c;哪怕输错一个字系统起不来&#xff0c;自己操作的时候出现过起不…

Flat Ads:全球金融应用的营销投放洞察

随着移动互联网的普及,金融应用在全球范围内迅速崛起。无论是移动银行、支付服务,还是理财工具,金融类应用已经成为现代生活中不可或缺的一部分。根据最新的行业报告,全球金融应用的下载量和用户活跃度在过去几年里持续增长,尤其是在新兴市场,用户对数字金融服务的需求不断攀升…

远程供水无障碍,管线车助力全面消防防护_鼎跃安全

夏季是各类自然灾害的高发季节&#xff0c;其中森林火灾尤为频繁。这一时期的气候特征是干旱少雨&#xff0c;伴随着高温和强风&#xff0c;使得森林火灾的发生频率大幅增加。由于夏季空气湿度低&#xff0c;植被含水量减少&#xff0c;一旦出现火源&#xff0c;火势极易蔓延。…

Win11搭建Angular开发环境

作为一名后端程序员&#xff0c;无论当前的工作是否需要&#xff0c;会一点点前端无疑对自己是有帮助的。今天就来介绍一下如何搭建Angular的开发环境。我也是摸着石头过河&#xff0c;所以很多东西也不熟悉&#xff0c;先按照Angular官网的介绍来配置吧。 这个是Angular最新版…

科技在日常生活中的革新

在科技日新月异的今天&#xff0c;‌我们的生活正经历着前所未有的变革。‌从智能家居到可穿戴设备&#xff0c;‌科技已经渗透到我们生活的每一个角落&#xff0c;‌深刻地影响着我们的生活方式和社会经济的发展。‌ 智能家居系统的出现&#xff0c;‌无疑是科技改变生活的典…

新手如何找到正确入行 Web3 路径?揭开职业启航新篇章

&#x1f3c4; Web3 新晋开发者如何找到心仪的工作&#xff1f;除了加强自身技术本领&#xff0c;开发创新优质项目以外&#xff0c;拓展社会人脉、接触行业资源同样重要。与此同时&#xff0c;风云变幻的 Web3 行业环境中&#xff0c;我们又该如何寻找优质潜力的项目生态实现深…

【本地网页控制远程开发板】使用Python的Paramiko库通过SSH连接开发板进行通信

最近想要在本地用flask框架创建网页&#xff0c;在网页端与远程开发板进行交互&#xff0c;里面有一项需求就是当我点击网页端的按钮时&#xff0c;开发板会执行相应的脚本文件进行预警。以下演示如何使用Python的Paramiko库来通过SSH连接开发板实现上述功能。 主要的代码思路如…

SSL/TLS协议信息泄露漏洞修复

概述&#xff1a;CVE-2016-2183 是一个涉及 SSL/TLS 协议信息泄露的漏洞&#xff0c;也被称为 "SWEET32" 攻击。该漏洞利用了某些对称加密算法&#xff08;如 3DES&#xff09;的弱点&#xff0c;攻击者可以通过捕获和分析大量的加密流量&#xff0c;可能会恢复明文数…

MySQL 配置免密码登陆(mysql_config_editor Configuration)

当使用mysql, mysqldump, mysqladmin等客户端连接MySQL数据库服务器时&#xff0c;需要提供用户凭证信息。你可以在每次连接时都输入连接信息&#xff08;用户名/密码/地址/端口等&#xff09;或者将用户信息保存在my.cnf配置文件的[client]模块。 第一种方式每次都输入用户密…

JWT 基础知识

目录 什么是JWT JWT 的原理 JWT 的数据结构 Header Payload Signature 参考链接 什么是JWT Json Web Token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准&#xff08;RFC 7519。 该token被设计为紧凑且安全的&#xff0c;特别适用于分布式站…

gsap动画库入门

目录 前言 一、基本用法 (一) 安装 (二) 语法 (三) 简单动画 二、配置 (一) 动画方法 1. to 2. from 3. fromTo 4. set (二) 动画目标 (三) 动画属性 前言 官网&#xff1a;https://gsap.com/ 中文文档&#xff1a;GSAP 中文教程 中文文档 &#xff5c;官方文档 …

JAVA基础知识总结(上)(初识Java)

JDK的下载与环境变量的配置 JDK的下载 首先在官网找到JDK&#xff0c;然后根据电脑配置选择x64或者x32,然后一直next就可以了&#xff0c;不过重要的一点是记住存放的路径&#xff0c;因为后续环境配置需要复制这个路径。 为什么要配置环境变量 第一&#xff1a;JAVA_HOME环…

Vue | Vue 中的 refInForde 用法

refInFor&#xff1a;如果你在渲染函数中给多个元素都应用了相同的 ref 名&#xff0c;那么 $refs.myRef 会变成一个数组。 vue中的refInFor属性是Vue框架中用于在循环渲染的元素上设置引用的一种方式。‌ 在Vue中&#xff0c;‌ref属性通常用于给元素或子组件注册引用信息&am…

vue打包设置 自定义的NODE_ENV

默认NODE_ENV 自定义process.env.NODE_ENV的值_process.node.env的值-CSDN博客 ‌NODE_ENV开发环境下&#xff1a;NODE_ENVdevelopment(默认) 生产环境下&#xff1a;NODE_ENVproduction(默认) NODE_ENV 除了默认的 development 和 production 以外&#xff0c;确实可以自定义…

一款轻量级的Docker日志查看器!!【送源码】

今天给大家分享一款Docker日志查看神器。 背景 作为一名攻城狮&#xff0c;相信大家对Docker并不陌生&#xff0c;特别是现在盛行微服务时代&#xff0c;容器应用技术可谓是满天飞&#xff0c;Docker的好处和便捷就不多说了。 如今管你项目多大&#xff0c;先来个容器部署&a…

在Kubernetes中通过 pod 打开 pod所在宿主机上的shell

昨日一伙计突然问我 在么把自己打好的 docker镜像 上传到 kubernetes 的 节点的 local 镜像池。 现状大约如下&#xff1a; 1&#xff09;只有master节点的登录权限&#xff1b; 2&#xff09;不知道存在哪些worker节点也无法通过 master 借助SSH 登录到 worker节点 &#x…

算法的学习笔记—二叉搜索树的后序遍历序列(牛客JZ33)

&#x1f600;前言 在数据结构与算法的学习中&#xff0c;二叉搜索树&#xff08;BST&#xff09;是一个重要的概念&#xff0c;而后序遍历则是树的遍历方式之一。今天&#xff0c;我们将深入探讨一个经典问题&#xff1a;如何判断一个给定的整数数组是否是某个二叉搜索树的后序…

水利详细数据

有网友问水利数据的情况&#xff0c;前两天忙&#xff0c;没回应&#xff01;现在我将号内数据总结了一下&#xff0c;发给大家看看&#xff01;可以获取数据不限于以下&#xff0c;其它数据也可以根据需要转出和制作! 数据详细情况&#xff1a; 下面是关于水系方面的数据效果…

黑神话·悟空爆火,有哪些AI技术在助力?

北京时间8月20日上午10点&#xff0c;沉淀了4年的首款国产“3A”游戏《黑神话悟空》正式在各大游戏交易平台上线&#xff0c;迄今为止售出预计450万份。 昨天&#xff0c;各大社媒平台的热搜榜前列几乎都被「黑神话」相关词条霸占&#xff0c;并久居不下&#xff0c;大众的社交…