当前位置: 首页 > news >正文

Nanbeige 4.1-3B实战教程:重置按钮RESET红色高亮CSS实现细节

Nanbeige 4.1-3B实战教程:重置按钮RESET红色高亮CSS实现细节

1. 项目背景与设计理念

Nanbeige 4.1-3B是一款具有独特像素游戏风格的AI对话前端界面。与传统聊天界面不同,它采用了JRPG(日式角色扮演游戏)的视觉设计语言,让用户与AI的交互过程充满游戏化的乐趣。

在这个设计中,重置按钮(RESET)被赋予了特殊的视觉重要性。它采用醒目的红色高亮设计,不仅是一个功能按钮,更是整个交互体验中的关键视觉元素。当用户需要清空对话上下文、开始新的"冒险"时,这个按钮提供了明确的行动召唤。

2. RESET按钮的设计目标

2.1 视觉优先级

在JRPG风格的界面中,重要操作按钮需要具备:

  • 高对比度色彩
  • 明显的视觉重量
  • 符合游戏美学的设计细节

2.2 功能定位

RESET按钮承担着:

  • 清空当前对话上下文
  • 重置AI模型状态
  • 为用户提供"重新开始"的明确入口

3. CSS实现细节

3.1 基础按钮样式

首先定义按钮的基础样式,确保它在各种状态下都保持一致的视觉效果:

.reset-btn { font-family: 'Press Start 2P', cursive; /* 像素风格字体 */ font-size: 14px; padding: 12px 24px; border: none; border-radius: 0; /* 去除圆角,保持像素风格 */ cursor: pointer; text-transform: uppercase; letter-spacing: 1px; position: relative; overflow: hidden; box-shadow: 4px 4px 0 #2C2C2C; /* 像素风格的阴影效果 */ }

3.2 红色高亮效果

实现标志性的红色高亮效果:

.reset-btn { background-color: #FF3B30; /* 主红色 */ color: white; text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3); /* 文字阴影增强可读性 */ /* 发光效果 */ box-shadow: 0 0 8px rgba(255, 59, 48, 0.6), 4px 4px 0 #2C2C2C; } .reset-btn:hover { background-color: #FF5E54; /* 悬停时稍亮的红色 */ box-shadow: 0 0 12px rgba(255, 59, 48, 0.8), 4px 4px 0 #2C2C2C; } .reset-btn:active { transform: translate(2px, 2px); /* 点击时的像素风格反馈 */ box-shadow: 0 0 8px rgba(255, 59, 48, 0.6), 2px 2px 0 #2C2C2C; }

3.3 像素边框细节

为保持整体像素风格,添加边框细节:

.reset-btn::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent); } .reset-btn::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.3), transparent); }

4. 动画与交互增强

4.1 悬停动画

添加微妙的动画效果增强交互体验:

.reset-btn { transition: all 0.1s ease; } .reset-btn:hover { animation: pulse 1.5s infinite; } @keyframes pulse { 0% { box-shadow: 0 0 8px rgba(255, 59, 48, 0.6), 4px 4px 0 #2C2C2C; } 50% { box-shadow: 0 0 16px rgba(255, 59, 48, 0.8), 4px 4px 0 #2C2C2C; } 100% { box-shadow: 0 0 8px rgba(255, 59, 48, 0.6), 4px 4px 0 #2C2C2C; } }

4.2 点击反馈

点击时添加像素风格的反馈:

.reset-btn:active { animation: click 0.2s; } @keyframes click { 0% { transform: translate(0, 0); } 50% { transform: translate(2px, 2px); } 100% { transform: translate(0, 0); } }

5. 在Streamlit中的实现

5.1 集成到Streamlit界面

由于Nanbeige使用Streamlit作为前端框架,需要通过特殊方式注入CSS:

import streamlit as st # 在Streamlit中注入自定义CSS reset_button_css = """ <style> /* 这里放置前面所有的CSS代码 */ </style> """ st.markdown(reset_button_css, unsafe_allow_html=True) # 创建重置按钮 if st.button('RESET', key='reset_chat'): # 重置对话状态的逻辑 st.session_state.messages = []

5.2 解决Streamlit的限制

Streamlit的默认按钮样式会覆盖自定义样式,需要强制覆盖:

/* 强制覆盖Streamlit默认样式 */ button[kind="primary"] { all: unset !important; } .stButton>button { all: unset !important; /* 重新应用我们的自定义样式 */ font-family: 'Press Start 2P', cursive !important; font-size: 14px !important; padding: 12px 24px !important; /* 其他样式属性... */ }

6. 兼容性考虑

6.1 字体回退

确保在没有像素字体时的显示效果:

.reset-btn { font-family: 'Press Start 2P', 'Courier New', monospace; }

6.2 移动端适配

调整移动设备上的显示效果:

@media (max-width: 768px) { .reset-btn { font-size: 12px; padding: 8px 16px; } }

7. 总结

通过以上CSS实现,我们为Nanbeige 4.1-3B的RESET按钮创建了:

  1. 醒目且符合游戏美学的红色高亮效果
  2. 流畅的交互反馈动画
  3. 完美的像素风格细节
  4. 在Streamlit框架中的稳定表现

这种设计不仅提升了功能可见性,也强化了整个产品的游戏化体验,让AI对话变得更加生动有趣。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

http://www.jsqmd.com/news/507965/

相关文章:

  • ChatGPT提示‘unable to load site‘的AI辅助诊断与修复实战
  • 2026全屋定制板材品牌排行:环保性能与技术实力解析 - 品牌排行榜
  • 无刷电机霍尔线序快速诊断:六种组合的波形特征与实战排查指南
  • ResNet50人脸重建一文详解:cv_resnet50_face-reconstruction镜像免配置+噪点问题避坑
  • YOLOv11轻量化实战:集成MobileNetV4实现边缘端高效检测
  • Qwen3-32B教育行业应用:校内知识库+作业辅导AI助手的RTX4090D部署方案
  • RMBG-2.0实战:3步完成人像/商品背景移除,效果惊艳
  • WeChatExporter:解决微信聊天记录完整备份难题的开源方案
  • 7-MySQL_复合查询
  • GVM安装避坑指南:如何用proxychains解决greenbone-feed-sync同步失败问题
  • Phi-3-Mini-128K多语言能力展示:中英日韩语翻译与内容生成对比
  • 为什么 Spring Boot 要单元测试?
  • 安卓逆向与自动化框架技术选型指南:LAMDA全场景解决方案深度分析
  • Qwen3.5-9B步骤详解:CUDA环境检测→模型加载→Web UI暴露全流程
  • Fun-ASR真实体验:热词功能实测,金融术语识别准确率跃升至96.3%
  • 工业软件辅助设计新思路:百川2-13B模型解析与生成SolidWorks相关技术文档
  • 基于CLIP模型的零样本图片分类与检索实践
  • VOOHU 沃虎电子 | 共模电感选型全攻略:信号线/功率线怎么选?
  • 【研报245】车路协同路侧激光雷达技术规范:性能要求+测试方法的行业合规指引
  • Qwen3.5-9B汽车服务:车辆图识别+故障诊断+维修报价生成系统
  • Leather Dress Collection 网络问题排查指南:从模型加载失败到服务超时
  • Fish-Speech-1.5在QT框架中的集成:跨平台语音应用开发
  • CREO三维绘图软件入门:如何利用草绘检查功能提升设计效率
  • STM32定时器捕获模式实战:从方波时间差到相位差精准测量
  • 解锁开源测试管理工具难题:Kiwi TCMS的实战指南
  • Qwen3-ASR-0.6B效果展示:52种语言识别实测,语音转文字精准度惊人
  • 5分钟解锁你的QQ音乐收藏:终极解密工具完整指南
  • Xilinx(AMD)7系列FPGA配置引脚实战指南:从理论到设计优化
  • 【研报246】2026年锂电行业研究报告:固态电池技术领航与产业链龙头机会
  • FireRedASR-AED-L本地部署实战教程:3步启动中文方言语音识别工具