Install
openclaw skills install @thcjp/css-freeopenclaw skills install @thcjp/css-free核心功能: 本技能提供中文交互、化工作流场景等能力。
CSS样式与布局辅助引擎,覆盖现代CSS布局、动画效果、响应式设计与组件样式生成。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
需要配置对应API Key,详见上文环境配置章节
API Key配置方式:
export API_KEY="${API_KEY:?请设置环境变量}"
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统。
/* Flexbox 居中 */
.center { display: flex; align-items: center; justify-content: center; }
/* Grid 响应式网格 */
.grid-auto {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 1.5rem;
}
/* Holy Grail 布局 */
.holy-grail {
display: grid;
grid-template: auto 1fr auto / auto 1fr auto;
grid-template-areas:
"header header header"
"nav main aside"
"footer footer footer";
min-height: 100vh;
}
/* Container Queries */
@container sidebar (min-width: 400px) {
.card { flex-direction: row; }
}
输出: 返回现代CSS布局的执行结果,包含操作状态和输出数据。
/* 过渡效果 */
.btn { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.btn:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0,0,0,0.15); }
/* @keyframes 动画 */
@keyframes slideIn {
from { opacity: 0; transform: translateX(-30px); }
to { opacity: 1; transform: translateX(0); }
}
.animate-slide-in { animation: slideIn 0.5s ease-out forwards; }
/* Scroll-driven Animations */
@keyframes fade-in {
from { opacity: 0; }
to { opacity: 1; }
}
.scroll-fade {
animation: fade-in linear;
animation-timeline: view();
animation-range: entry 0% cover 40%;
}
输出: 返回CSS动画与过渡效果的执行结果,包含操作状态和输出数据。- 验证执行结果,确认输出符合预期格式
css动画与过渡效果 选项/* 移动优先断点策略 */
.container {
width: 100%;
padding: 1rem;
}
@media (min-width: 768px) {
.container { max-width: 720px; padding: 2rem; }
}
@media (min-width: 1024px) {
.container { max-width: 960px; }
}
/* 暗色模式 */
:root { --bg: #ffffff; --text: #1a1a1a; }
@media (prefers-color-scheme: dark) {
:root { --bg: #0f172a; --text: #f1f5f9; }
}
/* clamp() 流体排版 */
h1 { font-size: clamp(1.5rem, 4vw, 3rem); }
输出: 返回响应式设计的执行结果,包含操作状态和输出数据。- 验证执行结果,确认输出符合预期格式
响应式设计 选项支持多种CSS方法论:
.block__element--modifier输出: 返回组件样式生成的执行结果,包含操作状态和输出数据。
| 场景 | 输入 | 输出 |
|---|---|---|
| 布局实现 | 布局描述+目标 | Flexbox/Grid CSS代码 |
| 动画效果 | 动效描述 | @keyframes + transition代码 |
| 响应式适配 | 设计稿+断点 | 媒体查询CSS |
| 组件样式 | 组件描述+风格 | BEM/Tailwind样式代码 |
不适用于:Canvas/WebGL渲染、SVG路径动画、CSS预处理器编译。
.card-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 1.5rem;
padding: 2rem;
}
.card {
background: var(--surface, #fff);
border-radius: 12px;
padding: 1.5rem;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}
@media (max-width: 640px) {
.card-grid { grid-template-columns: 1fr; padding: 1rem; }
}
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| Flexbox子元素溢出不换行 | 未设置flex-wrap或min-width | 添加flex-wrap: wrap,子元素设置min-width防止压缩过小,或使用flex: 0 0 auto |
| Grid布局在旧浏览器不显示 | IE不支持CSS Grid | 添加@supports (display: grid)渐进增强,旧浏览器回退到Flexbox或Float布局 |
position: sticky不生效 | 父元素设置了overflow: hidden或高度不足 | 移除父元素的overflow: hidden,确保滚动容器是sticky元素的直接或间接父级,检查父元素是否有固定高度 |
| CSS变量在旧浏览器报错 | IE不支持var() | 使用PostCSS插件postcss-custom-properties编译为静态值,或提供回退值color: #3b82f6; color: var(--primary) |
Flexbox用于一维布局(行或列),适合导航栏、工具栏、按钮组、卡片内容排列。Grid用于二维布局(行和列同时控制),适合页面整体布局、画廊网格、仪表盘面板。经验法则:如果需要在两个方向上对齐和控制间距用Grid,如果只是沿一个方向排列用Flexbox。两者可以嵌套使用——Grid控制页面布局,Flexbox控制组件内部排列。
现代CSS推荐三种方式:1) Flexbox:display: flex; align-items: center; justify-content: center;(最常用);2) Grid:display: grid; place-items: center;(最简洁);3) 绝对定位+transform:position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);(兼容性优质但需定位上下文)。避免使用line-height或vertical-align,它们只适用于行内元素。
Tailwind适合快速原型开发和团队协作(工具类即标准),减少命名负担。手写CSS适合需要高度定制动画、复杂选择器、CSS变量主题系统的场景。混合策略:用Tailwind处理布局和间距(flex gap-4 p-6),用@layer components或CSS文件处理复杂组件样式和动画。如果项目已有设计系统token,Tailwind配置映射token值可两者兼得。
本免费版提供基础功能。升级到完整版 css 获取全部能力和高级特性。
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 5-10分钟/个 | <5秒/个 | 60-120x |
| 批量文件处理(100个) | 8-16小时 | <5分钟 | 96-192x |
| API调用与响应解析 | 2-3分钟/次 | <1秒/次 | 120-180x |
| 多接口数据聚合 | 15-30分钟 | <10秒 | 90-180x |
| 命令执行与结果收集 | 3-5分钟/次 | <2秒/次 | 90-150x |
| 重复任务批量执行 | 因任务而异 | 线性缩减 | 5-50x |
| 错误排查与修复 | 10-30分钟 | <30秒 | 20-60x |
| 对比维度 | 本技能 | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 核心功能 | 通用场景 | 通用场景 |