html制作成就徽章墙页面_html游戏化成就徽章收集展示页【入门】

酷敏大大_2252

酷敏大大_2252

2026-06-02

642人浏览

原创

JSON是更可持续的选择,建议用fetch加载本地achievements.json文件,结构清晰且易于维护复用;字段应包含id、title、desc、icon和unlocked,图标统一存icons/目录下用img引用,避免内联臃肿。

html制作成就徽章墙页面_html游戏化成就徽章收集展示页【入门】

徽章数据用 JSON 还是硬编码在 HTML 里? 直接写死在
里看着快,但加新徽章、改描述、调顺序就得翻 HTML,协作和维护全崩。JSON 是更可持续的选择——哪怕只是本地 achievements.json 文件,用 fetch() 加载,结构清晰,前端逻辑也容易复用。
  • 徽章字段建议至少包含:id(唯一,用于状态判断)、title、desc、icon(SVG 字符串或 CDN 路径)、unlocked(布尔值,决定是否加 unlocked class)
  • 不要用 localStorage 存整个徽章数组来模拟“已获得”,它没持久同步能力;真要存状态,优先用 localStorage.setItem('ach_123', 'true') 单 key 控制,避免序列化/解析出错
  • 如果徽章图标用 SVG,别直接贴大段内联 SVG 到 HTML;统一放在 icons/ 目录下,用 ,加载失败有 fallback,也方便换主题色

徽章“未解锁”状态怎么视觉降级又不丑? 纯灰度 + 透明度降低是最常见错误:设 opacity: 0.4 后文字可读性暴跌,且无法点击时连 hover 都失效。正确做法是保留完整 DOM 结构,只改视觉权重。
  • 用 filter: grayscale(70%) brightness(0.85) 替代 opacity,图标和文字仍保持清晰边缘
  • 加一层半透黑色遮罩 ::before,但只对 .badge--locked 生效,同时设 pointer-events: none 确保不影响下方元素交互
  • “解锁”动效别用 JS 手动 addClass + setTimeout 模拟;用 CSS transition 控制 transform 和 filter,例如:.badge { transition: transform 0.3s ease, filter 0.3s ease; },JS 只需切换 unlocked class

响应式徽章墙在小屏上撑开横向滚动怎么办?display: grid 布局在移动端默认单列没问题,但一旦设了 grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)),部分安卓 WebView 或旧版 Safari 会错误计算 minmax,导致列宽溢出视口。
  • 改用 grid-template-columns: repeat(auto-fit, minmax(140px, 1fr))(注意是 auto-fit),它会收缩空列,兼容性更好
  • 必须加 grid-auto-flow: dense 防止空隙卡住布局
  • 在容器上加 overflow-x: auto 和 -webkit-overflow-scrolling: touch,但关键是要限制最大宽度:max-width: 100vw,否则横向滚动条会藏在 viewport 外边,用户根本拉不到

徽章点击后弹窗详情,为什么 event.stopPropagation() 总被漏掉? 徽章墙常套在可拖拽容器或带全局点击关闭的 modal 外层里。点徽章触发详情弹窗,结果弹窗一闪就关——八成是父级监听了 document click 并无差别地关闭所有浮层,而徽章内部的 click 事件冒泡上去了。
  • 弹窗按钮的 onclick 或事件监听里,必须写 event.stopPropagation(),不能只靠 event.preventDefault()
  • 更稳妥的做法:给徽章容器加 data-no-close="true",然后在全局 click handler 里判断:if (e.target.closest('[data-no-close]')) return;
  • 弹窗本身用 position: fixed,但记得加 inert 属性到背景内容区域(如 document.body.setAttribute('inert', '')),防键盘焦点穿透,这是无障碍和实际体验的关键细节

徽章墙看似简单,真正卡住人的从来不是“怎么画一个徽章”,而是状态同步时机、CSS 布局容错边界、以及事件流里那些看不见的冒泡路径。尤其当你要加成就进度条、分享按钮或离线缓存时,这些点会立刻暴露出来。

HTML Text Extract
HTML Text Extract

从HTML页面(URL、文件或标准输入)中提取主体内容文本,去除导航、页脚、广告和模板文本。可直接传递给readability_check或其他文本工具。

下载

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

在线游戏
在线游戏

海量精品小游戏合集,无需安装即点即玩,休闲益智、动作闯关应有尽有,秒开即玩,轻松解压,快乐停不下来

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
html版权符号
html版权符号

html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

6915

7

html在线编辑器
html在线编辑器

html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。

2023.06.21

3812

4

html网页制作
html网页制作

html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.31

3490

5

html空格
html空格

html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.01

3519

5

html是什么
html是什么

HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。

2023.08.11

5099

6

html字体大小怎么设置
html字体大小怎么设置

在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。

2023.08.11

3461

3

html转txt
html转txt

html转txt的方法有使用文本编辑器、使用在线转换工具和使用Python编程。本专题为大家提供html转txt相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

3269

3

html文本框代码怎么写
html文本框代码怎么写

html文本框代码:1、单行文本框【<input type="text" style="height:..;width:..;" />】;2、多行文本框【textarea style=";height:;"></textare】。

2023.09.01

2828

6

HTML嵌入CSS样式的方法
HTML嵌入CSS样式的方法

HTML嵌入CSS样式的方法有内联样式、内部样式表和外部样式表。本专题为大家提供CSS样式相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.20

2968

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GDB 17.2 官方文档集合
GDB 17.2 官方文档集合

共0课时 | 0人学习

Bootstrap 入门安装配置
Bootstrap 入门安装配置

共0课时 | 0人学习

38+ PhpStorm 提示和技巧
38+ PhpStorm 提示和技巧

共1课时 | 230人学习