Argon主题美化
Argon主题美化

常言道:“工欲善其事,必先利其器。” 搭建好博客后,一个舒适、顺手的写作与阅读环境,确实能激励我们更好地创作。但我也时刻提醒自己,好的内容才是博客的灵魂,一切美化都应以不妨碍阅读、不喧宾夺主为前提。

这篇文章是我长期使用 Argon 主题过程中,不断调整和筛选出的美化方案汇总。它可能不是最炫酷的,但每一项调整都基于“实用”和“美观”的平衡。希望能给正在折腾主题的你一些参考。


让侧边栏更灵动

增加年度进度条

在侧边栏中显示一个当前年份的进度条,既能增加一点趣味性,也能提醒自己珍惜时间。效果和代码都很轻量。

操作路径:外观 -> 主题设置 -> 左侧栏 -> 工具(简码)

将以下代码粘贴到简码内容中:

<div class="progress-wrapper" style="padding: 0">
<div class="progress-info">
<div class="progress-label">
<span id="yearprogress_yearname"></span>
</div>
<div id="yearprogress_text_container" class="progress-percentage">
<span id="yearprogress_progresstext"></span>
<span id="yearprogress_progresstext_full"></span>
</div>
</div>
<div class="progress">
<div id="yearprogress_progressbar" class="progress-bar bg-primary"></div>
</div>
</div>
<script no-pjax="">
function yearprogress_refresh() {
let year = new Date().getFullYear();
$("#yearprogress_yearname").text(year);
let from = new Date(year, 0, 1, 0, 0, 0);
let to = new Date(year, 11, 31, 23, 59, 59);
let now = new Date();
let progress = (((now - from) / (to - from + 1)) * 100).toFixed(7);
let progressshort = (((now - from) / (to - from + 1)) * 100).toFixed(2);
$("#yearprogress_progresstext").text(progressshort + "%");
$("#yearprogress_progresstext_full").text(progress + "%");
$("#yearprogress_progressbar").css("width", progress + "%");
}
yearprogress_refresh();
if (typeof yearProgressIntervalHasSet == "undefined") {
var yearProgressIntervalHasSet = true;
setInterval(function () {
yearprogress_refresh();
}, 500);
}
</script>
<style>
#yearprogress_text_container {
width: 100%;
height: 22px;
overflow: hidden;
user-select: none;
}
#yearprogress_text_container > span {
transition: all 0.3s ease;
display: block;
}
#yearprogress_text_container:hover > span {
transform: translateY(-45px);
}
</style>

为头像增加交互动效

让侧边栏的头像在鼠标悬停时有一些细腻的反馈,能提升浏览的愉悦感。

操作路径:外观 -> 自定义 -> 额外CSS

/* 头像容器增加过渡效果 */
#leftbar_overview_author_image {
    width: 100px;
    height: 100px;
    margin: auto;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: rgba(127, 127, 127, 0.1);
    overflow: hidden;
    box-shadow: 0 0 5px rgba(116, 8, 204, 0.3);
    transition: transform 0.3s ease; /* 过渡速度 */
}

/* 悬停时放大并调亮 */
#leftbar_overview_author_image:hover {
    transform: scale(1.2);
    filter: brightness(150%);
}

让头像和姓名可点击跳转

让侧边栏的头像和姓名变成一个链接,点击后可以跳转到“关于我”等页面,增加导航的便捷性。

操作路径:外观 -> 主题文件编辑器 -> 边栏文件 (sidebar.php)

  • 头像跳转(大约在第126行):在 <div id="leftbar_overview_author_image"...> 外层包裹 <a> 标签。
  • 姓名跳转(大约在第130行):在 <h6 id="leftbar_overview_author_name"...> 外层包裹 <a> 标签。

修改后的代码示例:

<!-- 头像链接 -->
<a href="https://你的域名.com">
    <div id="leftbar_overview_author_image" style="background-image: ..."></div>
</a>

<!-- 姓名链接 -->
<a href="https://你的域名.com">
    <h6 id="leftbar_overview_author_name"><?php echo get_option('argon_sidebar_auther_name'); ?></h6>
</a>

底部信息区的改造

我倾向于将底部改造为一个信息聚合区,用于显示备案、版权、运行时间和技术支持等信息,整洁且信息量大。

添加 CSS 基础样式

操作路径:外观 -> 自定义 -> 额外CSS

/* 核心样式 */
.github-badge {
display: inline-block;
border-radius: 4px;
text-shadow: none;
font-size: 13.1px;
color: #fff;
line-height: 15px;
margin-bottom: 5px;
font-family: "Open Sans", sans-serif;
}
.github-badge .badge-subject {
display: inline-block;
background-color: #4d4d4d;
padding: 4px 4px 4px 6px;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
font-family: "Open Sans", sans-serif;
}
.github-badge .badge-value {
display: inline-block;
padding: 4px 6px 4px 4px;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
font-family: "Open Sans", sans-serif;
}
.github-badge-big {
display: inline-block;
border-radius: 6px;
text-shadow: none;
font-size: 14.1px;
color: #fff;
line-height: 18px;
margin-bottom: 7px;
}
.github-badge-big .badge-subject {
display: inline-block;
background-color: #4d4d4d;
padding: 4px 4px 4px 6px;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
.github-badge-big .badge-value {
display: inline-block;
padding: 4px 6px 4px 4px;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
.bg-orange { background-color: #ec8a64 !important; }
.bg-red { background-color: #cb7574 !important; }
.bg-apricots { background-color: #f7c280 !important; }
.bg-casein { background-color: #dfe291 !important; }
.bg-shallots { background-color: #97c3c6 !important; }
.bg-ogling { background-color: #95c7e0 !important; }
.bg-haze { background-color: #9aaec7 !important; }
.bg-mountain-terrier { background-color: #99a5cd !important; }

组合底部 HTML 信息

操作路径:Argon 主题设置 -> 全局 -> 页脚 HTML

将以下代码填入“页脚 HTML”中,记得替换其中的链接和年份信息。


<!-- 技术支持与版权 -->
<div class="github-badge-big">
    <span class="badge-subject"><i class="fa fa-cloud"></i> CDN</span>
    <span class="badge-value bg-shallots"><a href="https://www.upyun.com/" target="_blank">Upyun</a></span>
    <span class="badge-subject"><i class="fa fa-wordpress"></i> Powered</span>
    <span class="badge-value bg-green"><a href="https://cn.wordpress.org/" target="_blank">WordPress</a></span>
</div>

<div class="github-badge-big">
    <span class="badge-subject"><i class="fa fa-copyright"></i>Copyright </span>
    <span class="badge-value bg-red">2022-2023 <i class="fa fa-copyright"></i> <a href="https://你的域名.com" target="_blank">Echo</a></span>
</div>

<!-- 网站运行时间 -->
<div class="github-badge-big">
    <span class="badge-subject"><i class="fa fa-clock-o"></i> Running Time</span>
    <span class="badge-value bg-apricots">
        <span id="blog_running_days" class="odometer odometer-auto-theme"></span> days
        <span id="blog_running_hours" class="odometer odometer-auto-theme"></span> H
        <span id="blog_running_mins" class="odometer odometer-auto-theme"></span> M
        <span id="blog_running_secs" class="odometer odometer-auto-theme"></span> S
    </span>
</div>

<!-- 运行时间脚本 -->
<script no-pjax="">
var blog_running_days = document.getElementById("blog_running_days");
var blog_running_hours = document.getElementById("blog_running_hours");
var blog_running_mins = document.getElementById("blog_running_mins");
var blog_running_secs = document.getElementById("blog_running_secs");
function refresh_blog_running_time() {
    // 注意:月份参数比实际月份小1,例如6月需填5
    var time = new Date() - new Date(2022, 5, 31, 0, 0, 0); 
    var d = parseInt(time / 24 / 60 / 60 / 1000);
    var h = parseInt((time % (24 * 60 * 60 * 1000)) / 60 / 60 / 1000);
    var m = parseInt((time % (60 * 60 * 1000)) / 60 / 1000);
    var s = parseInt((time % (60 * 1000)) / 1000);
    blog_running_days.innerHTML = d;
    blog_running_hours.innerHTML = h;
    blog_running_mins.innerHTML = m;
    blog_running_secs.innerHTML = s;
}
refresh_blog_running_time();
if (typeof bottomTimeIntervalHasSet == "undefined") {
    var bottomTimeIntervalHasSet = true;
    setInterval(function () { refresh_blog_running_time(); }, 500);
}
</script>

沉浸式体验增强

添加全局背景音乐

为博客添加一个不打扰阅读的悬浮音乐播放器,我使用了 APlayer 和 Meting 组件,支持从网易云音乐歌单拉取。

操作路径:Argon 主题设置 -> 全局 -> 页尾脚本

在“页尾脚本”中添加以下代码:

<!-- 引入 APlayer 核心库 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css">
<script src="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/meting@2.0.1/dist/Meting.min.js"></script>

<!-- 播放器配置 -->
<meting-js 
    server="netease"        <!-- 平台:netease(网易), tencent(QQ) -->
    type="playlist"         <!-- 类型:playlist(歌单), song(单曲) -->
    id="7373135320"         <!-- 歌单或歌曲ID -->
    fixed="true"            <!-- 吸底模式 -->
    mini="true"             <!-- 迷你模式 -->
    order="list"            <!-- 播放顺序:list, random -->
    loop="all"              <!-- 循环模式 -->
    preload="auto"          <!-- 预加载 -->
    list-folded="true"      <!-- 默认折叠播放列表 -->
    lrc-type="0"            <!-- 歌词类型 -->
>
</meting-js>

提示:歌单 ID 可以从网易云音乐网页版的 URL 中获取,例如 https://music.163.com/#/playlist?id=7373135320

可选:动态视频背景

动态背景能极大提升首页的视觉冲击力,但要注意视频体积不宜过大。以下代码实现了白天和夜间模式使用不同视频源的效果。

操作路径:Argon 主题设置 -> 全局 -> 页尾脚本

<!-- 白天视频 -->
<video src="https://你的域名.com/" class="bg-video bg-video-day" autoplay loop muted></video>
<!-- 夜间视频 -->
<video src="https://你的域名.com/" class="bg-video bg-video-night" autoplay loop muted></video>

<style>
video.bg-video {
    position: fixed;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    pointer-events: none;
}
html.darkmode video.bg-video.bg-video-day { opacity: 0; }
html.darkmode video.bg-video.bg-video-night { opacity: 1; }
video.bg-video.bg-video-day { opacity: 1; }
video.bg-video.bg-video-night { opacity: 0; }
#banner, #banner .shape { background: transparent !important; }
</style>

高阶自定义与优化

个性化全局字体

通过 @font-face 引入自定义字体,能让博客的视觉风格更统一、更具辨识度。

操作路径:外观 -> 自定义 -> 额外CSS

/* 引入自定义字体 */
@font-face{
    font-family: 'EchoFont';
    src: url('https://你的CDN域名.com') format('woff2');
}

body {
    font-family: 'EchoFont', Georgia, -apple-system, 'PingFang SC', 'Microsoft Yahei', sans-serif;
}

/* 修改顶栏菜单字体 */
.navbar-nav .nav-link {
    font-size: 1rem;
    font-family: 'EchoFont';
}
.navbar-brand {
    font-family: 'EchoFont';
    font-size: 1.2rem;
}

为 Banner 标题添加渐变文字

让首页大标题更吸睛,使用 CSS 渐变实现彩色文字。

.banner-subtitle{
    font-size: 28px;
    -webkit-text-fill-color: transparent;        
    background: linear-gradient(94.75deg, rgb(60, 172, 247) 0%, rgb(131, 101, 253) 43.66%, rgb(255, 141, 112) 64.23%, rgb(247, 201, 102) 83.76%, rgb(172, 143, 100) 100%);        
    -webkit-background-clip: text;
}

让页面“呼吸”起来 — 半透明玻璃效果

这是 Argon 主题美化的一个核心点,通过调整卡片、背景的透明度,营造出毛玻璃的质感。

操作路径:外观 -> 自定义 -> 额外CSS

/* 白天卡片背景透明 */
.card{
    background-color: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

/* 小工具栏背景完全透明,避免叠加变色 */
.card .widget, .darkmode .card .widget {
    background-color: #ffffff00 !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* 夜间透明适配 */
html.darkmode .card, html.darkmode #footer {
    background: rgba(66, 66, 66, 0.9) !important;
}

为博客增添趣味的小功能

添加看板娘

这是一个很受喜欢的互动元素。在“页尾脚本”中添加以下任意一种代码即可。

方案一(自动加载)

<script src="https://fastly.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/autoload.js"></script>

方案二(自定义配置)

<script src="https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d-pony/live2dw/lib/L2Dwidget.min.js"></script>
<script>
    L2Dwidget.init({
        "model": {
            // 在此处更换模型地址,下方有模型列表
            jsonPath: "https://unpkg.com/live2d-widget-model-koharu@1.0.5/assets/koharu.model.json",
            "scale": 1
        },
        "display": {
            "position": "right",
            "width": 75,
            "height": 150,
            "hOffset": 0,
            "vOffset": -20
        },
        "mobile": { "show": true, "scale": 0.5 },
        "react": { "opacityDefault": 0.7, "opacityOnHover": 0.2 }
    });
</script>

可选模型

  • 萌娘:live2d-widget-model-shizuku
  • 小可爱(女):live2d-widget-model-koharu
  • 初音:live2d-widget-model-miku
  • 黑猫:live2d-widget-model-hijiki
  • 更多模型可替换 koharu 部分。

让评论头像显示更稳定(国内访问)

将 Gravatar 头像服务替换为国内的 Cravatar,提升加载速度。

操作路径:外观 -> 主题文件编辑器 -> 模板函数 (functions.php)

在文件末尾添加以下代码:

if ( ! function_exists( 'get_cravatar_url' ) ) {
    function get_cravatar_url( $url ) {
        $sources = array(
            'www.gravatar.com', '0.gravatar.com', '1.gravatar.com',
            '2.gravatar.com', 'secure.gravatar.com', 'cn.gravatar.com'
        );
        return str_replace( $sources, 'cravatar.cn', $url );
    }
    add_filter( 'um_user_avatar_url_filter', 'get_cravatar_url', 1 );
    add_filter( 'bp_gravatar_url', 'get_cravatar_url', 1 );
    add_filter( 'get_avatar_url', 'get_cravatar_url', 1 );
}

插件推荐

为了让博客功能更完善,以下插件是我正在使用并觉得不错的:

插件名称功能描述
WP Statistics在侧边栏显示网站访问数据
Akismet Anti-Spam强大的评论垃圾过滤
WP Mail SMTP确保邮件通知(如评论回复)能够正常发送
WP Word Count统计文章字数

参考与致谢


作 者:Bleaz.Xin
链 接: https://blog.bleaz.net/archives/160
来 源:Bleaz‘s Blog
版 权 声 明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议。文章版权归作者所有,未经允许请勿转载!


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇