# 表单
轻松创建拥有不同样式与布局的漂亮表单。
## 用法
为了应用这个组件,需要添加 `.uk-form` 类到表单元素中。所有表单控件都被并排放置在下面这行。
### 示例
![](https://box.kancloud.cn/2016-05-12_57346f3049d92.jpg)
注意 在这个例子中,我们使用了一个[按钮组件](http://iyunye.com/uikit/docs/button.html)中的按钮。当表单元素在较小的视口中堆叠时,只需要添加 [效果组件](../docs/utility.html) 中的 `data-uk-margin` 属性到它的父元素中,即可实现添加顶部margin。
### Code
```
<form class="uk-form">
<fieldset data-uk-margin>
<legend>...</legend>
<input type="text" placeholder="">
<input type="password" placeholder="">
<select>
<option>...</option>
<option>...</option>
</select>
<button class="uk-button">...</button>
<label><input type="checkbox"> ...</label>
</fieldset>
</form>
```
* * *
### 行
为一个 `<div>` 元素添加 `.uk-form-row` 用来放置表单控件。
#### 示例
![](https://box.kancloud.cn/2016-05-12_57346f305aabf.jpg)
#### Code
```
<form class="uk-form">
<fieldset>
<legend>...</legend>
<div class="uk-form-row">...</div>
<div class="uk-form-row">...</div>
</fieldset>
</form>
```
* * *
## 控件的状态
通过表单控件上反馈的状态,为用户提供基础信息。
### 禁用
添加 `disabled` 属性到表单控件中,它的颜色会变淡,并禁止操作。
### 示例
![](https://box.kancloud.cn/2016-05-12_57346f306b976.jpg)
#### Code
```
<input type="text" placeholder="" disabled>
```
* * *
### 有效性状态
添加 `.uk-form-danger` 或 `.uk-form-success` 类到表单控件中,用于提示用户某个值是否通过有效性验证。
#### 示例
![](https://box.kancloud.cn/2016-05-12_57346f307ee87.jpg)
#### Code
```
<input type="text" placeholder="" class="uk-form-danger">
<input type="text" placeholder="" class="uk-form-success">
```
* * *
## 控件的修饰
### 尺寸的调整
添加 `.uk-form-large` 或 `.uk-form-small` 类到 `<input>`, `<select>` 或 `<textarea>` 元素中使之变大或变小。
#### 示例
![](https://box.kancloud.cn/2016-05-12_57346f308f590.jpg)
#### Code
```
<input type="text" placeholder="" class="uk-form-large">
<input type="text" placeholder="" class="uk-form-small">
```
* * *
### 宽度的调整
添加 `.uk-form-width-large`, `.uk-form-width-medium`, `.uk-form-width-small` 或 `.uk-form-width-mini` 类到一个 `<input>`, `<select>` 或 `<textarea>` 元素中,调整它的宽度。
#### 示例
![](https://box.kancloud.cn/2016-05-12_57346f30a0894.jpg)
#### Code
```
<input type="text" placeholder="" class="uk-form-width-large">
<input type="text" placeholder="" class="uk-form-width-medium">
<input type="text" placeholder="" class="uk-form-width-small">
<input type="text" placeholder="" class="uk-form-width-mini">
```
你还可以在表单控件里使用 [网格组件](grid.html) 中的 `.uk-width-*` 类。这是非常有用的,如果你想让表单控件的宽度扩展填满它的父级容器的宽度。
#### 示例
![](https://box.kancloud.cn/2016-05-12_57346f30b409b.jpg)
#### Code
```
<input type="text" placeholder="" class="uk-width-1-1">
```
* * *
### 白板表单
添加 `.uk-form-blank` 类使表单控件的样式极简化。
#### 示例
![](https://box.kancloud.cn/2016-05-12_57346f30c5197.jpg)
#### Code
```
<input type="text" placeholder="" class="uk-form-blank">
```
* * *
### 帮助文本
使用 `.uk-form-help-inline` 或 `.uk-form-help-block` 类,为表单控件添加行内的或者块级的帮助文本。
#### 示例
![](https://box.kancloud.cn/2016-05-12_57346f30d5837.jpg)
#### Code
```
<div class="uk-form-row">
<input type="text" placeholder=""> <span class="uk-form-help-inline">...</span>
</div>
<div class="uk-form-row">
<textarea cols="" rows="" placeholder="">...</textarea>
<p class="uk-form-help-block">...</p>
</div>
```
* * *
## 布局的调整
这里有两个可用的类可以用于布局调整: `.uk-form-stacked` and `.uk-form-horizontal`。它们都要求表单空间被放置在带有 `.uk-form-row` 类的容器中。 Label 必须添加 `.uk-form-label` 类,并把相应的空间放置在带有 `.uk-form-controls` 类的容器中。
### Code
```
<form class="uk-form uk-form-stacked">
<div class="uk-form-row">
<label class="uk-form-label" for="">...</label>
<div class="uk-form-controls">...</div>
</div>
</form>
```
注意 布局调整类同样可以用于 `<fieldset>` 元素中。这意味着如果你使用了多个fieldset,你可以为每个 fieldset设置不同的布局。
* * *
### 表单叠放
添加 `.uk-form-stacked` 类使label标签显示在控件上方。
#### 示例
![](img/base-form-stack.jpg)
* * *
### 水平放置表单
添加 `.uk-form-horizontal` 类使label标签和控件水平并排放置。
#### 示例
![](https://box.kancloud.cn/2016-05-12_57346f30e7c26.jpg)
* * *
### 表单控件中的文本
如果你在表单控件中同时使用了文本与单选框或者文本与复选框,只需要添加 `.uk-form-controls-text` 类就能使文本适当地对齐。
#### Code
```
<div class="uk-form-controls uk-form-controls-text">...</div>
```
* * *
### 表单控件中的垂直间距
如果你在表单控件中创建了段落,添加 `.uk-form-controls-condensed` 类可以减小段落间的间隔。
#### 示例
![](https://box.kancloud.cn/2016-05-12_57346f3105587.jpg)
#### Code
```
<div class="uk-form-controls uk-form-controls-text">
<p class="uk-form-controls-condensed">...</p>
<p class="uk-form-controls-condensed">...</p>
</div>
```
* * *
## 表单与网格
这个例子展示了如何用 [网格组件](../docs/grid.html) 空间表单。
### 示例
![](https://box.kancloud.cn/2016-05-12_57346f3114693.jpg)
### Code
```
<form class="uk-form">
<div class="uk-grid">
<div class="uk-width-1-2"><input type="text" placeholder="" class="uk-width-1-1"></div>
<div class="uk-width-1-4"><input type="text" placeholder="" class="uk-width-1-1"></div>
<div class="uk-width-1-4"><input type="text" placeholder="" class="uk-width-1-1"></div>
</div>
</form>
```
* * *
## 表单与图标
这个例子展示了怎么为表单添加 [图标](../docs/icon.html)。
### 示例
![](https://box.kancloud.cn/2016-05-12_57346f3129228.jpg)
### Code
```
<div class="uk-form-icon">
<i class="uk-icon-calendar"></i>
<input type="text">
</div>
```
* * *
## 表单增强
表单可以用 [表单增强组件](../docs/form-advanced.html) 进行扩展,以定义单选框与复选框的样式。
- UIkit 中文文档
- 开始使用
- 初学者
- 开始使用
- 如何自定义
- 布局示例
- 开发者
- 项目结构
- Less & Sass 文件
- 创建主题
- 创建样式
- Customizer.json
- JavaScript
- 自定义前缀
- 核心组件
- 默认
- 基础
- 打印
- 布局类组件
- 网格
- 面板/Panel
- 块/Block
- 文章
- 评论/Comment
- 效果/Utility
- Flex 布局
- 覆盖/Cover
- 导航类组件
- 导航菜单
- 导航栏
- 二级导航
- 面包屑/Breadcrumb
- 分页
- 选项卡
- 缩略图导航/Thumbnav
- 页面元素
- 列表
- 描述列表
- 表格
- 表单
- 常用组件
- 按钮
- 图标
- 关闭/Close
- 徽章/Badge
- 提示框
- 缩略图/Thumbnail
- 遮罩/Overlay
- 文本
- 列
- 动画
- 对比度/Contrast
- JAVASCRIPT组件
- 下拉菜单
- 模态对话框
- 抽屉/Off-canvas
- 切换器/Switcher
- 拨动/toggle
- 滚动监听/Scrollspy
- 平滑滚动
- 附加组件
- 布局类组件
- 动态网格
- 视差网格
- 导航类组件
- 圆点导航
- 滑动导航/Slidenav
- 动态分页
- 常用组件
- 高级表单
- 文件表单/Form file
- 密码表单
- 选择表单
- 占位符
- 进度条/Progress
- JAVASCRIPT组件
- 灯箱/Lightbox
- 自动完成/Autocomplete
- 日期选择器/Datepicker
- HTML 编辑器
- 滚动条/Slider
- 滑块集/Slideset
- 幻灯片/Slideshow
- 视差/Parallax
- 手风琴/Accordion
- 通知/Notify
- 搜索/Search
- 可嵌套/Nestable
- 可排序/Sortable
- 附着/Sticky
- 时间选择器
- 工具提示/Tooltip
- 上传