告别Steam原生灰冷!4类CSS/JS代码秒换专属美化界面
原生Steam灰冷沉闷千篇一律?别愁!用上本文整理的4类适配性强的CSS、JS美化代码,配合Tampermonkey或SteamDeck对应工具,就能轻松告别单调,秒换专属风格界面,4类代码覆盖氛围壁纸替换、暖系/小众个性色调定制、侧边栏等布局精简优化、个人徽章框等专属细节点缀,操作简单高效,大幅提升逛商店、看好友动态的视觉愉悦感与操作流畅度。
如果你是盯着Steam原生“万年灰黑+默认排版”快三年的老玩家,或者是想要给游戏库“贴上标签墙”“装上动态时钟挂件”的收集控,又或者只是单纯嫌弃商店筛选栏占地方、启动页推荐全是“玩腻的3A垃圾”,不需要复杂的定制软件(还怕不安全),学会基础的CSS/JS代码植入技巧,就能10分钟打造专属你的高颜Steam!
先搞懂:Steam美化代码是怎么生效的?
Steam不是浏览器,但它的商店、游戏库、社区等界面底层都是用Chromium内核渲染的HTML/CSS/JS——这和Chrome、Edge一模一样!所以我们只需要一个“能注入自定义代码到Chromium内核窗口”的小插件/脚本管理器就行。

入门级安全选择:
浏览器插件移植类(仅美化非游戏内界面)
推荐Stylus(用于纯CSS美化)+Tampermonkey(用于JS功能增强)组合:
- 操作门槛0星:不用改Steam本地文件,随时可以一键关闭/删除代码
- 适用范围广:几乎覆盖所有Web端Steam页面(商店、库、社区、创意工坊、愿望单)
- 安全系数5星:所有代码都是透明开源的,你可以逐行检查(嫌麻烦选高评分、高下载量的也没问题)
本地文件修改类(能美化启动页+游戏内覆盖层?其实没必要,不安全!)
早期流行用SteamUI\packages\steamui\clientui里的文件替换,但每次Steam更新都会被覆盖,而且替换来历不明的文件很容易触发Steam VAC(虽然游戏内界面美化一般没问题,但没必要冒风险!)
入门必试:5个“复制粘贴就能用”的超火纯CSS美化代码
纯CSS是入门首选——它只改“视觉”,不碰“数据/交互逻辑”,完全不会出bug!
代码1:直接把游戏库改成“全屏背景墙”模式
原生游戏库的封面排列太挤?把背景换成收藏的游戏壁纸瞬间高级感拉满!
/* 适用浏览器插件:Stylus,需在「设置→域」选store.steampowered.com + steamcommunity.com + steam://rendering/overlay(可选) */
/* 全屏背景替换为你的游戏壁纸链接(建议用Steam创意工坊的高清图或PNG/JPG的CDN链接) */
.apphub_AppHubBackground_2y7qk,
.appdetails_GameHero_1r0cL,
.apphub_AppHub_Hero_15Z0D,
.library_AppDetailsMain_2R3e9 .library_AppDetailsBackground_1OJ2M,
.library_LibraryWindow_2gFqF {
background-image: url('https://media.st.dl.pinyuncloud.com/steam/apps/1245620/ss_8e11978c8d1d6f5e3a2c0c5c0c5c0c5c0c5c0c5c.1920x1080.jpg') !important;
background-size: cover !important;
background-position: center !important;
background-attachment: fixed !important;
filter: brightness(0.6) !important; /* 调暗背景防止文字看不清 */
}
/* 把游戏库卡片改成透明磨砂质感 */
.library_LibraryWindow_2gFqF .library_LibraryHome_3Jg7g,
.library_LibraryWindow_2gFqF .appdetailssidebar_AppDetailsSidebar_275Lh,
.library_LibraryWindow_2gFqF .library_AppDetailsMain_2R3e9,
.library_LibraryWindow_2gFqF .steamdesktop_TopBar_3Z7VQ,
.library_LibraryWindow_2gFqF .steamdesktop_SidebarSection_25q2X,
.library_LibraryWindow_2gFqF .library_CollectionItem_2U2bV {
background: rgba(0, 0, 0, 0.7) !important;
backdrop-filter: blur(10px) !important;
-webkit-backdrop-filter: blur(10px) !important;
border-radius: 12px !important;
margin: 10px !important;
}
代码2:一键隐藏Steam商店所有“烦人广告位”
原生启动页/首页的“精选游戏”“热门推荐”“好友动态(不想看社死游戏时长)”是不是看烦了?直接全部删掉!
/* 适用域同上 */
/* 隐藏启动页广告 */
#ad-placeholder,
.home_featured_apps,
.home_new_releases,
.home_top_sellers,
.home_community_recommendations,
.home_news,
.home_friends_activity {
display: none !important;
}
/* 隐藏商店顶部横幅广告 */
.page_header_ctn .game_page_background_ctn,
.home_page_content_ctn .home_ctn_banner {
display: none !important;
}
代码3:把愿望单/游戏库卡片改成“圆角+彩色边框”
根据游戏类型自动加边框(比如生存类加绿色、射击类加红色、二次元加粉色)太复杂?先给所有卡片加个统一的软圆角+奶白色磨砂边框过过瘾!
/* 适用域同上 */
.library_CollectionItem_2U2bV,
.appgrid_GridItem_1gNp7,
.wishlist_row {
border-radius: 16px !important;
border: 2px solid rgba(255, 255, 255, 0.2) !important;
overflow: hidden !important;
transition: all 0.3s ease !important;
}
/* 鼠标悬停时放大卡片+变亮边框 */
.library_CollectionItem_2U2bV:hover,
.appgrid_GridItem_1gNp7:hover,
.wishlist_row:hover {
transform: scale(1.03) !important;
border-color: rgba(255, 255, 255, 0.6) !important;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
}
进阶玩家专属:2个“Tampermonkey能实现的魔法功能”
纯CSS玩腻了?试试JS——它能修改交互逻辑、添加额外功能、甚至调用Steam API!
代码1:给Steam愿望单加“一键复制游戏英文名+折扣计算插件”
买外区Key必备!再也不用一个字一个字地抄游戏英文名,也不用算外区Key换算成人民币是赚是亏!
// ==UserScript==
// @name Steam愿望单神器(一键复制英文名+汇率换算)
// @namespace http://tampermonkey.net/
// @version 1.0
// @description 给Steam愿望单每个游戏添加一键复制按钮和人民币实时汇率换算(用的是某API,国内可能需要科学上网?不想的话可以自己换汇率硬编码)
// @author 匿名玩家
// @match *://store.steampowered.com/wishlist/*
// @grant GM_xmlhttpRequest
// ==/UserScript==
(function() {
'use strict';
// 硬编码的汇率(不想用API的话直接改这里,比如当前美元汇率7.25)
const HARDCODED_USD_TO_CNY = 7.25;
const USE_API = false; // 改成true用API
// 获取汇率函数
async function getExchangeRate() {
if (!USE_API) return HARDCODED_USD_TO_CNY;
return new Promise((resolve) => {
GM_xmlhttpRequest({
method: 'GET',
url: 'https://api.exchangerate-api.com/v4/latest/USD',
onload: (response) => {
if (response.status === 200) {
const data = JSON.parse(response.responseText);
resolve(data.rates.CNY);
} else {
resolve(HARDCODED_USD_TO_CNY);
}
},
onerror: () => resolve(HARDCODED_USD_TO_CNY)
});
});
}
// 主循环
async function main() {
const rate = await getExchangeRate();
const wishlistRows = document.querySelectorAll('.wishlist_row');
wishlistRows.forEach(row => {
// 跳过已经处理过的行
if (row.querySelector('.custom_wishlist_buttons')) return;
// 获取游戏英文名
const appLink = row.querySelector('.app_link');
if (!appLink) return;
const appName = appLink.textContent.trim();
const appId = row.getAttribute('data-app-id');
// 创建自定义按钮容器
const buttonContainer = document.createElement('div');
buttonContainer.className = 'custom_wishlist_buttons';
buttonContainer.style.cssText = `
position: absolute;
top: 10px;
right: 10px;
display: flex;
gap: 8px;
z-index: 10;
`;
// 一键复制英文名按钮
const copyButton = document.createElement('button');
copyButton.textContent = '复制英文名';
copyButton.style.cssText = `
padding: 4px 8px;
border-radius: 4px;
border: none;
background: rgba(255, 255, 255, 0.9);
color: #171a21;
font-size: 12px;
cursor: pointer;
`;
copyButton.addEventListener('click', () => {
navigator.clipboard.writeText(appName).then(() => {
copyButton.textContent = '复制成功!';
setTimeout(() => copyButton.textContent = '复制英文名', 1000);
});
});
// 获取价格并换算
const priceDiv = row.querySelector('.price');
let cnyPrice = '暂无折扣/无法获取';
if (priceDiv) {
const priceText = priceDiv.textContent.trim();
const usdMatch = priceText.match(/\$(\d+\.\d{2})/);
if (usdMatch) {
const usd = parseFloat(usdMatch[1]);
cnyPrice = `≈¥${(usd * rate).toFixed(2)}`;
}
}
// 显示人民币价格按钮
const priceButton = document.createElement('div');
priceButton.textContent = cnyPrice;
priceButton.style.cssText = `
padding: 4px 8px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.9);
color: #171a21;
font-size: 12px;
white-space: nowrap;
`;
buttonContainer.appendChild(copyButton);
buttonContainer.appendChild(priceButton);
row.style.position = 'relative';
row.appendChild(buttonContainer);
});
}
// 监听DOM变化(愿望单加载比较慢,或者滚动加载新游戏)
const observer = new MutationObserver(main);
observer.observe(document.body, { childList: true, subtree: true });
// 初始加载
main();
})();
避坑指南:用Steam美化代码要注意什么?
- VAC绝对安全吗? 纯CSS/JS只美化非游戏内核界面(商店、库、社区),绝对不会触发VAC!但不要碰本地SteamUI.dll、clientui.dll这类二进制文件!
- Steam更新后代码失效了怎么办? 这是正常的——Steam会不定期更新界面的HTML类名!这时候去原代码发布平台(比如Userstyles.world(Stylus代码)、Greasy Fork(Tampermonkey代码))找作者的更新版就行!
- 不想折腾找现成的?
Userstyles.world和Greasy Fork上有成千上万的高评分Steam美化/增强代码!
- Stylus端:Steam Metro(全屏背景+简洁卡片)、Steam Old UI(怀念2019年的旧界面?这个直接还原)
- Tampermonkey端:Steam Inventory Helper(炒币?不,是帮你整理库存、查看皮肤磨损、一键出售)、SteamDB Extension(直接在商店页面显示SteamDB的数据:历史最低价格、在线人数、锁区情况)
写在最后:Steam美化不是目的,快乐玩游戏才是!
花10分钟打造专属界面,每次打开Steam都能心情愉悦地找到自己想玩的游戏——这才是我们折腾代码的初衷!别沉迷于美化忘了玩游戏哦~
你有什么超好用的Steam美化/增强代码?欢迎在评论区分享!
