文章摘要
7.css 是一个用于构建类似 Windows 7 界面组件的 CSS 框架,基于 XP.css 的 GUI 骨架扩展而来。它依赖语义化 HTML,强调可访问性,允许用户自定义样式而不影响整体外观。该框架不包含 JavaScript,仅通过 CSS 进行样式设计,兼容各种前端框架。
文章总结
7.css:构建复古UI界面的设计系统
简介
7.css 是一个用于构建类似 Windows 7 界面组件的 CSS 框架,基于 XP.css 的 GUI 骨架,而 XP.css 又是 98.css 的扩展。该框架依赖于语义化 HTML 的使用,例如使用 <button> 创建按钮,输入元素需要标签,选项卡则依赖 role="tab" 属性。7.css 不包含任何 JavaScript,仅通过 CSS 为 HTML 提供样式,因此可以与任何前端框架兼容。
安装与使用
最快的方式是通过 unpkg 导入 7.css:
html
<link rel="stylesheet" href="https://unpkg.com/7.css">
也可以通过 npm 安装:
bash
npm install 7.css
使用方式:
javascript
import "7.css/dist/7.css";
作用域与树摇
如果需要与其他 CSS 框架共存,可以使用 7.scoped.css,将样式限定在 .win7 类中。此外,如果只需要某些组件的样式,可以通过 unpkg 或 npm 单独导入,例如:
javascript
import "7.css/dist/gui/buttons.css";
import "7.css/dist/gui/tabs.css";
组件
7.css 提供了丰富的组件,包括但不限于:
- 按钮:支持默认、按下、禁用、聚焦等状态,样式可通过 CSS 自定义。
- 复选框:通过 <input type="checkbox"> 实现,支持选中和禁用状态。
- 下拉框:使用 <select> 和 <option> 元素实现,支持默认选中和禁用。
- 进度条:通过 role="progressbar" 实现,支持暂停、错误、动画等状态。
- 选项卡:使用 role="tablist" 和 role="tab" 实现,支持多标签切换。
- 窗口:包括标题栏、窗口主体、状态栏等,支持玻璃效果和自定义颜色。
其他功能
- 对话框:通过 URL 片段触发,使用 role="dialog" 定义。
- 树视图:通过 <ul> 和 <li> 实现,支持层级结构和可折叠部分。
- 搜索框:支持即时搜索和常规搜索两种模式。
贡献与许可
7.css 是一个 MIT 许可的开源项目,开发者可以在 GitHub 上提交问题或贡献代码。该项目最初是 XP.css 的克隆,旨在通过构建复古 UI 界面提升技术技能。如果你也喜欢 Windows 7,不妨给这个项目点个星!
评论总结
评论主要围绕以下几个方面展开:
对项目的积极评价
- 评论1:作者认为项目很棒,特别是README中的图片展示。
引用:This is awesome. I love that the readme contains pictures of everything. - 评论5:作者对项目的描述文字表示赞赏。
引用:Just an absolutely lovely line of text.
- 评论1:作者认为项目很棒,特别是README中的图片展示。
对知识产权的担忧
- 评论2:作者担心项目的视觉元素可能涉及知识产权问题,并询问微软是否曾对此类项目采取法律行动。
引用:These visual elements have to be protected by intellectual property somehow. Has Microsoft ever legally persecuted these types of projects before?
- 评论2:作者担心项目的视觉元素可能涉及知识产权问题,并询问微软是否曾对此类项目采取法律行动。
对Windows 7设计的怀念
- 评论9:作者表达了对Windows 7的怀念,认为它是微软最后一个优秀的操作系统。
引用:7 imo was the last good windows ms came up with. I remember upgrading to it was something worth bragging to your friends in school. - 评论3:作者对苹果设计师借鉴旧版Windows设计表示感慨。
引用:Sad to hear Apple designers are taking cues from old windows designs now.
- 评论9:作者表达了对Windows 7的怀念,认为它是微软最后一个优秀的操作系统。
对项目技术实现的讨论
- 评论4:作者探讨了项目是否可与Electron和Tauri集成,以实现跨平台的原生界面效果。
引用:I wonder if this can be integrated with Electron and Tauri to provide native-looking user interfaces. - 评论8:作者询问如何在不被TailwindCSS影响的情况下使用该项目。
引用:How can I use it without having tailwindcss changing all css?
- 评论4:作者探讨了项目是否可与Electron和Tauri集成,以实现跨平台的原生界面效果。
对设计美学的评价
- 评论11:作者认为Windows 7的设计经久不衰,现代UI设计可以从中汲取灵感。
引用:Very nice. Does anybody else find it a bit striking how gracefully this look has aged? - 评论7:作者指出复选框在iOS上的显示效果不够理想。
引用:The checkboxes doesn’t look quite right on iOS.
- 评论11:作者认为Windows 7的设计经久不衰,现代UI设计可以从中汲取灵感。
对其他设计风格的提及
- 评论6:作者询问是否存在类似Aqua风格的库。
引用:Anyone know if a similar library exists for Aqua? - 评论10:作者质疑为何没有人尝试KDE或GNOME风格。
引用:why nobody tries KDE or GNOME?
- 评论6:作者询问是否存在类似Aqua风格的库。
总结:评论者对项目整体持积极态度,赞赏其设计和实现,但也对知识产权、技术兼容性和设计美学提出了疑问和建议。同时,部分评论者表达了对Windows 7设计的怀念,并探讨了现代UI设计可以从中汲取的灵感。