教程目标
这篇教程演示如何在 WordPress 站点里给文章卡片增加毛玻璃背景、圆角阴影、悬浮上浮和进入视口淡入效果。适合博客首页、分类页、搜索页以及使用子比主题这类卡片式列表的网站。
实现方式尽量轻量:核心效果只依赖 CSS,滚动淡入使用一段原生 JavaScript,不需要安装额外插件。上线前建议先在子主题或「外观 - 自定义 - 额外 CSS」里测试,确认不影响现有主题结构。
一、准备工作
- 打开 WordPress 后台,进入「外观 - 自定义 - 额外 CSS」。如果你使用子主题,也可以把 CSS 写入子主题的 style.css。
- 用浏览器开发者工具检查文章卡片的 class。常见选择器可能是 .posts-item、.post-list-item、.article-list .item。下面代码已经做了多选择器兼容。
- 如果主题已经有强烈的阴影或边框样式,先把原样式备份,避免重复叠加导致页面显脏。
二、添加卡片美化 CSS
把下面代码复制到「额外 CSS」中保存。颜色、圆角、阴影可以按站点主色微调。
:root {
--cx-card-radius: 18px;
--cx-card-bg: rgba(255, 255, 255, .78);
--cx-card-border: rgba(255, 255, 255, .7);
--cx-card-shadow: 0 14px 38px rgba(22, 38, 64, .10);
--cx-card-shadow-hover: 0 22px 60px rgba(22, 38, 64, .18);
--cx-main-color: #2f7df6;
}
.posts-item,
.post-list-item,
.article-list .item {
position: relative;
overflow: hidden;
border: 1px solid var(--cx-card-border);
border-radius: var(--cx-card-radius);
background: var(--cx-card-bg);
box-shadow: var(--cx-card-shadow);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
transform: translateY(0);
transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.posts-item::before,
.post-list-item::before,
.article-list .item::before {
content: "";
position: absolute;
inset: 0;
pointer-events: none;
background: linear-gradient(135deg, rgba(47,125,246,.16), transparent 42%);
opacity: 0;
transition: opacity .28s ease;
}
.posts-item:hover,
.post-list-item:hover,
.article-list .item:hover {
transform: translateY(-6px);
box-shadow: var(--cx-card-shadow-hover);
border-color: rgba(47, 125, 246, .25);
}
.posts-item:hover::before,
.post-list-item:hover::before,
.article-list .item:hover::before {
opacity: 1;
}
.posts-item img,
.post-list-item img,
.article-list .item img {
transition: transform .35s ease, filter .35s ease;
}
.posts-item:hover img,
.post-list-item:hover img,
.article-list .item:hover img {
transform: scale(1.035);
filter: saturate(1.08) contrast(1.03);
}
.posts-item .item-heading,
.post-list-item .item-heading,
.article-list .item .item-heading {
letter-spacing: .01em;
}
@media (max-width: 768px) {
.posts-item,
.post-list-item,
.article-list .item {
border-radius: 14px;
box-shadow: 0 10px 26px rgba(22, 38, 64, .08);
}
.posts-item:hover,
.post-list-item:hover,
.article-list .item:hover {
transform: none;
}
}
三、可选:添加进入视口淡入效果
如果想让卡片滚动出现时更有层次,可以把下面代码放到子主题的 footer.php 底部,或者通过代码片段插件添加到前台页脚。
(function () {
const cards = document.querySelectorAll('.posts-item, .post-list-item, .article-list .item');
if (!cards.length || !('IntersectionObserver' in window)) return;
cards.forEach(function (card, index) {
card.style.opacity = '0';
card.style.transform = 'translateY(18px)';
card.style.transitionDelay = (index % 6) * 60 + 'ms';
});
const observer = new IntersectionObserver(function (entries) {
entries.forEach(function (entry) {
if (!entry.isIntersecting) return;
entry.target.style.opacity = '1';
entry.target.style.transform = 'translateY(0)';
observer.unobserve(entry.target);
});
}, { threshold: 0.12 });
cards.forEach(function (card) {
observer.observe(card);
});
})();
四、调试重点
- 如果效果没有生效,先确认文章卡片选择器是否匹配当前主题。打开开发者工具,选中文章卡片,查看真实 class。
- 如果毛玻璃效果不明显,通常是卡片下面没有复杂背景。可以给首页背景增加浅色渐变或淡纹理。
- 如果移动端卡顿,把 backdrop-filter 删除,保留圆角、边框和阴影即可。
- 如果主题自带懒加载导致图片缩放异常,把图片 hover 部分删除,只保留卡片 hover。
五、回滚方式
上线后如果发现和主题样式冲突,直接删除额外 CSS 和页脚 JavaScript 即可恢复。建议每次只改一类效果,先保存草稿或在测试环境预览,再同步到正式站点。
总结
WordPress 美化不一定要堆插件。优先用 CSS 解决视觉层级,用少量原生 JS 增加动效,既能保持页面轻量,也方便后续维护。这个方案适合文章卡片、资源列表和分类页模块二次开发。










暂无评论内容