前端组件库——UIkit 知识点大全(二)

简介: 教程来源https://www.amwtm.cn/ UIkit采用`uk-`前缀命名规范,遵循组件/子对象/修饰符三层CSS架构;内置Less变量系统,支持主题定制;栅格系统支持10列、响应式断点、多种间距及嵌套排序,兼顾灵活性与一致性。

三、CSS 架构与命名规范

3.1 命名规范
为避免与其他 CSS 框架冲突,所有 UIkit 类都使用 uk- 前缀进行命名。组件分为组件本身、子对象和修饰符,它们的类名始终会拾取组件名称。
命名规则:
image.png
CSS 架构的三层结构:

组件(Component):将网站中重复出现的部分抽象为基于类的模块,如按钮、卡片等

子对象(Child Object):放置在组件内以增强其功能,如卡片中的头部、身体、页脚
https://amwtm.cn/
修饰符(Modifier):改变组件及其子对象的样式,如按钮颜色和大小

3.2 Less 变量系统
UIkit 使用 Less 编写,提供了丰富的变量系统。所有变量都定义在 variables.less 文件中,开发者可以通过覆盖这些变量来定制主题。

// 自定义主题变量
// 品牌色
@global-primary-background: #4c6ef5;
@global-success-background: #10b981;
@global-warning-background: #f59e0b;
@global-danger-background: #ef4444;

// 字体
@global-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
@global-font-size: 16px;
@global-line-height: 1.5;

// 圆角
@global-border-radius: 8px;

// 间距
@global-margin: 20px;
@global-small-margin: 10px;
@global-medium-margin: 40px;
@global-large-margin: 60px;

3.3 重写主题

// custom-theme.less
// 1. 覆盖 UIkit 变量
@global-primary-background: #7c3aed;
@global-border-radius: 12px;

// 2. 导入 UIkit 核心样式
@import "uikit/src/less/uikit.theme.less";

// 3. 添加自定义样式
.custom-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

四、栅格系统

UIkit 的栅格系统遵循移动优先方法,最多可容纳 10 个栅格列。它在每个栅格内使用具有预定义类的单元,这些类定义了列宽。

4.1 基础栅格
要创建栅格容器,请将 uk-grid 类添加到父元素。将 uk-width-* 类之一添加到子元素以确定单元格的大小。

<!-- 基础栅格示例 -->
<div class="uk-grid">
    <div class="uk-width-1-2">占一半宽度</div>
    <div class="uk-width-1-2">占一半宽度</div>
</div>

<div class="uk-grid">
    <div class="uk-width-1-3">占 1/3</div>
    <div class="uk-width-1-3">占 1/3</div>
    <div class="uk-width-1-3">占 1/3</div>
</div>

<div class="uk-grid">
    <div class="uk-width-2-5">占 2/5</div>
    <div class="uk-width-3-5">占 3/5</div>
</div>

4.2 栅格列宽类
类 描述
uk-width-1-1 填充可用宽度的 100%
uk-width-1-2 将栅格分成两半
uk-width-1-3 到 uk-width-2-3 将栅格分成三份
uk-width-1-4 到 uk-width-3-4 将栅格分成四份
uk-width-1-5 到 uk-width-4-5 将栅格分成五份
uk-width-1-6 到 uk-width-5-6 将栅格分成六份
uk-width-1-10 到 uk-width-9-10 将栅格分成十份
4.3 响应式宽度
UIkit 提供响应式宽度类,前缀决定了断点:
image.png

<!-- 响应式栅格:手机全宽,平板半宽,桌面 1/3 -->
<div class="uk-grid">
    <div class="uk-width-1-1 uk-width-medium-1-2 uk-width-large-1-3">
        响应式内容
    </div>
    <div class="uk-width-1-1 uk-width-medium-1-2 uk-width-large-1-3">
        响应式内容
    </div>
    <div class="uk-width-1-1 uk-width-medium-1-2 uk-width-large-1-3">
        响应式内容
    </div>
</div>

4.4 栅格间距
栅格会自动在列之间创建水平间距,在两个连续的栅格之间创建垂直间距。

<!-- 默认间距 -->
<div class="uk-grid">
    <div class="uk-width-1-3">...<\/div>
    <div class="uk-width-1-3">...<\/div>
</div>

<!-- 大间距 -->
<div class="uk-grid uk-grid-large">
    <div class="uk-width-1-3">...<\/div>
    <div class="uk-width-1-3">...<\/div>
</div>

<!-- 中等间距 -->
<div class="uk-grid uk-grid-medium">
    <div class="uk-width-1-3">...<\/div>
    <div class="uk-width-1-3">...<\/div>
</div>

<!-- 小间距 -->
<div class="uk-grid uk-grid-small">
    <div class="uk-width-1-3">...<\/div>
    <div class="uk-width-1-3">...<\/div>
</div>

<!-- 折叠间距(无间距) -->
<div class="uk-grid uk-grid-collapse">
    <div class="uk-width-1-3">...<\/div>
    <div class="uk-width-1-3">...<\/div>
</div>

4.5 嵌套栅格

<div class="uk-grid">
    <div class="uk-width-1-2">
        <!-- 外层列内容 -->
    </div>
    <div class="uk-width-1-2">
        <!-- 嵌套栅格 -->
        <div class="uk-grid">
            <div class="uk-width-1-2">嵌套列1<\/div>
            <div class="uk-width-1-2">嵌套列2<\/div>
        </div>
    </div>
</div>

4.6 源排序(Push/Pull)
可以更改列的显示顺序,以在源代码中保留特定的列顺序。添加 uk-push- 类向右移动列,添加 uk-pull- 类向左移动列。

<div class="uk-grid">
    <!-- 右边的列在源代码中排在前面 -->
    <div class="uk-width-medium-1-2 uk-push-1-2">右侧内容<\/div>
    <div class="uk-width-medium-1-2 uk-pull-1-2">左侧内容<\/div>
</div>
相关文章
|
10天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23444 10
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
14天前
|
人工智能 缓存 BI
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro,跑完 Skills —— OA 审批、大屏、报表、部署 5 大实战场景后的真实体验 ![](https://oscimg.oschina.net/oscnet/up608d34aeb6bafc47f
4758 15
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
|
15天前
|
人工智能 JSON BI
DeepSeek V4 来了!超越 Claude Sonnet 4.5,赶紧对接 Claude Code 体验一把
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro 的真实体验与避坑记录 本文记录我将 Claude Code 对接 DeepSeek 最新模型(V4Pro)后的真实体验,测试了 Skills 自动化查询和积木报表 AI 建表两个场景——有惊喜,也踩
5712 13
|
1月前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
24893 65
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
3天前
|
前端开发 API 内存技术
对比claude code等编程cli工具与deepseek v4的适配情况
DeepSeek V4发布后,多家编程工具因未适配其强制要求的`reasoning_content`字段而报错。本文对比Claude Code、GitHub Copilot、Langcli、OpenCode及DeepSeek-TUI等主流工具的兼容性:Claude Code需按官方方式配置;Langcli表现最佳,开箱即用且无报错;Copilot与OpenCode暂未修复问题;DeepSeek-TUI尚处早期阶段。
764 2
对比claude code等编程cli工具与deepseek v4的适配情况