使用表单布局创建响应式的精美的表单布局。表单布局就是 列表,但是会有一些拓展。
简单的表单布局
让我们看一种最简单的表单布局:
- <div class="list-block">
- <ul>
- ...
- <li>
- <div class="item-content">
- <div class="item-media">... icon here ...</div>
- <div class="item-inner">
- <div class="item-title label">Name</div>
- <div class="item-input">
- <input type="text" name="name">
- </div>
- </div>
- </div>
- </li>
- ...
- </ul>
- </div>
从上面的例子可以看出,表单布局几乎和 列表 一样,但是有如下一些不同:
-
item-title
- 单行的label,应该有一个额外的 label class。可选的。 -
item-input
- 包含了你的表单输入框等。 必选
对表单元素的支持
下面是所有你可以放进 item-input
中的表单元素:
All text inputs |
Supported types: text, password, email, tel, url, date, number, datetime-local
复制
复制
|
Select |
复制
|
Textarea |
复制
Note that List View element with textarea should have additional "align-top" class on <li>:
复制
|
Resizable Textarea |
Resiable textarea. Just add "resizable" class to textarea and it will resize automatically depending on its content
复制
|
Switch (Checkbox) |
Switch (Checkbox) requires additional wrapper:
复制
|
Slider (Range input) |
Slider (Range input) requires additional wrapper:
复制
|
示例
完整的布局
- <div class="content-block-title">Full Layout</div>
- <div class="list-block">
- <ul>
- <!-- Text inputs -->
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-form-name"></i></div>
- <div class="item-inner">
- <div class="item-title label">Name</div>
- <div class="item-input">
- <input type="text" placeholder="Your name">
- </div>
- </div>
- </div>
- </li>
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-form-email"></i></div>
- <div class="item-inner">
- <div class="item-title label">E-mail</div>
- <div class="item-input">
- <input type="email" placeholder="E-mail">
- </div>
- </div>
- </div>
- </li>
- ...
- <!-- Select -->
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-form-gender"></i></div>
- <div class="item-inner">
- <div class="item-title label">Gender</div>
- <div class="item-input">
- <select>
- <option>Male</option>
- <option>Female</option>
- </select>
- </div>
- </div>
- </div>
- </li>
- <!-- Date -->
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-form-calendar"></i></div>
- <div class="item-inner">
- <div class="item-title label">Birth date</div>
- <div class="item-input">
- <input type="date" placeholder="Birth day" value="2014-04-30">
- </div>
- </div>
- </div>
- </li>
- <!-- Date time-->
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-form-calendar"></i></div>
- <div class="item-inner">
- <div class="item-title label">Date time</div>
- <div class="item-input">
- <input type="datetime-local">
- </div>
- </div>
- </div>
- </li>
- <!-- Switch (Checkbox) -->
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-form-toggle"></i></div>
- <div class="item-inner">
- <div class="item-title label">Switch</div>
- <div class="item-input">
- <label class="label-switch">
- <input type="checkbox">
- <div class="checkbox"></div>
- </label>
- </div>
- </div>
- </div>
- </li>
- <!-- Slider (Range input) -->
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-form-settings"></i></div>
- <div class="item-inner">
- <div class="item-title label">Slider</div>
- <div class="item-input">
- <div class="range-slider">
- <input type="range" min="0" max="100" value="50" step="0.1">
- </div>
- </div>
- </div>
- </div>
- </li>
- <!-- Textarea -->
- <li class="align-top">
- <div class="item-content">
- <div class="item-media"><i class="icon icon-form-comment"></i></div>
- <div class="item-inner">
- <div class="item-title label">Textarea</div>
- <div class="item-input">
- <textarea></textarea>
- </div>
- </div>
- </div>
- </li>
- </ul>
- </div>
图标和输入框
因为 item-title
是可选元素,所以可以不写:
- <div class="content-block-title">Icons and inputs</div>
- <div class="list-block">
- <ul>
- <!-- Text inputs -->
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-form-name"></i></div>
- <div class="item-inner">
- <div class="item-input">
- <input type="text" placeholder="Your name">
- </div>
- </div>
- </div>
- </li>
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-form-email"></i></div>
- <div class="item-inner">
- <div class="item-input">
- <input type="email" placeholder="E-mail">
- </div>
- </div>
- </div>
- </li>
- <!-- Select -->
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-form-gender"></i></div>
- <div class="item-inner">
- <div class="item-input">
- <select>
- <option>Male</option>
- <option>Female</option>
- </select>
- </div>
- </div>
- </div>
- </li>
- <!-- Date -->
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-form-calendar"></i></div>
- <div class="item-inner">
- <div class="item-input">
- <input type="date" placeholder="Birth day" value="2014-04-30">
- </div>
- </div>
- </div>
- </li>
- <!-- Switch (Checkbox) -->
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-form-toggle"></i></div>
- <div class="item-inner">
- <div class="item-input">
- <label class="label-switch">
- <input type="checkbox">
- <div class="checkbox"></div>
- </label>
- </div>
- </div>
- </div>
- </li>
- <!-- Slider (Range input) -->
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-form-settings"></i></div>
- <div class="item-inner">
- <div class="item-input">
- <div class="range-slider">
- <input type="range" min="0" max="100" value="50" step="0.1">
- </div>
- </div>
- </div>
- </div>
- </li>
- </ul>
- </div>
label和输入框
因为 item-media
是可选元素,所以可以不写:
- <div class="content-block-title">Labels and inputs</div>
- <div class="list-block">
- <ul>
- <!-- Text inputs -->
- <li>
- <div class="item-content">
- <div class="item-inner">
- <div class="item-title label">Name</div>
- <div class="item-input">
- <input type="text" placeholder="Your name">
- </div>
- </div>
- </div>
- </li>
- <li>
- <div class="item-content">
- <div class="item-inner">
- <div class="item-title label">E-mail</div>
- <div class="item-input">
- <input type="email" placeholder="E-mail">
- </div>
- </div>
- </div>
- </li>
- <!-- Select -->
- <li>
- <div class="item-content">
- <div class="item-inner">
- <div class="item-title label">Gender</div>
- <div class="item-input">
- <select>
- <option>Male</option>
- <option>Female</option>
- </select>
- </div>
- </div>
- </div>
- </li>
- <!-- Date -->
- <li>
- <div class="item-content">
- <div class="item-inner">
- <div class="item-title label">Birth date</div>
- <div class="item-input">
- <input type="date" placeholder="Birth day" value="2014-04-30">
- </div>
- </div>
- </div>
- </li>
- <!-- Switch (Checkbox) -->
- <li>
- <div class="item-content">
- <div class="item-inner">
- <div class="item-title label">Switch</div>
- <div class="item-input">
- <label class="label-switch">
- <input type="checkbox">
- <div class="checkbox"></div>
- </label>
- </div>
- </div>
- </div>
- </li>
- <!-- Slider (Range input) -->
- <li>
- <div class="item-content">
- <div class="item-inner">
- <div class="item-title label">Slider</div>
- <div class="item-input">
- <div class="range-slider">
- <input type="range" min="0" max="100" value="50" step="0.1">
- </div>
- </div>
- </div>
- </div>
- </li>
- </ul>
- </div>
只有输入框
- <div class="content-block-title">Just inputs</div>
- <div class="list-block">
- <ul>
- <li>
- <div class="item-content">
- <div class="item-inner">
- <div class="item-input">
- <input type="text" placeholder="Your name">
- </div>
- </div>
- </div>
- </li>
- <li>
- <div class="item-content">
- <div class="item-inner">
- <div class="item-input">
- <input type="email" placeholder="E-mail">
- </div>
- </div>
- </div>
- </li>
- <li>
- <div class="item-content">
- <div class="item-inner">
- <div class="item-input">
- <select>
- <option>Male</option>
- <option>Female</option>
- </select>
- </div>
- </div>
- </div>
- </li>
- <li>
- <div class="item-content">
- <div class="item-inner">
- <div class="item-input">
- <input type="date" placeholder="Birth day" value="2014-04-30">
- </div>
- </div>
- </div>
- </li>
- </ul>
- </div>
Inset
因为表单也是 列表布局 的一种, 所以可以变成 inset:
- <div class="content-block-title">Just inputs</div>
- <!-- "inset" class on list-block -->
- <div class="list-block inset">
- ...
-
</div>
复制
相关推荐
资源名称:iOS开发视频教程资源目录:【】iOS开发视频教程-第01讲-iOS历史介绍【】iOS开发视频教程-第02讲-XCode安装【】iOS开发视频教程-第03讲-UIView_PPT【】iOS开发视频教程-第04讲-UILabel【】iOS开发视频教程-...
Framework7 是免费开源的 HTML 移动端框架,用来开发混合移动端应用或者 iOS 7 的 Web 应用,并且带有 iOS 7 的原生外观和感觉。Framework7 也是独立的原型应用工具。Framework7 使用 Javascript,CSS 和 HTML 来...
Framework7是一款免费、开源的移动应用框架,旨在为开发者提供构建iOS和Android应用的全套工具。它提供了丰富的组件库,包括导航、表单、视图、滑块等,使开发者能够轻松实现原生应用的界面和交互效果。 二、Vue.js...
framework7-icons, Framework7的免费iOS图标字体 Framework7图标Framework7的高级和免费ios图标字体。这种字体可以用在 Framework7插件中,但是你可以在任何地方看到它适合它,个人或者商业。 它是免费的使用和许可...
之前遇到的需求,ios上没有类似的实现。搞了好久在网上搜了很多资料都不能解决最后找到了一个c/c++的底层源码,才实现了最后整理了下上传了。是个ios的demo很详细你定能看懂的。运行在xcode环境下,关键算法的文件是...
Objective-C是苹果公司开发的一种面向对象的编程语言,广泛应用于MacOS和iOS平台的软件开发。Cocoa是Apple为这两种操作系统提供的原生开发框架,包含了大量用于构建图形用户界面、处理事件、管理文件系统等任务的...
Framework7是一款强大的、免费的HTML5移动应用框架,专为构建具有原生iOS和Android界面风格的混合式移动应用而设计。它允许开发者使用Web技术(如HTML, CSS, JavaScript)来创建高度交互且功能丰富的应用程序,同时...
iPhone开发入门到精通视频教程资源目录:【】iOS开发源码系列---工具【】iOS开发源码系列---应用【】iOS开发源码系列---游戏【】iOS开发源码系列---类库与框架【】iOS开发真机测试与发布【】iOS开发视频教程01~05...
iOS Debug环境 arm64与x86_64架构 WebRTC.framework Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64] Mach-O 64-bit dynamically linked ...
LMForm是一款专为iOS开发设计的表单配置框架,它极大地简化了在iOS应用中创建和管理各种表单的过程。这个框架的核心理念是通过代码配置而非手动布局来构建表单,提高了开发效率并降低了出错的可能性。下面我们将深入...
提供的【应用】★★★★-iOS framework 制作教程【非静态包】源码示例,应该包含了完整的框架创建过程和相关代码,你可以通过阅读和运行这个项目来加深理解。在实践中,你可以尝试修改源代码,添加新的功能,或者...
移动端兼容安卓IOS的高仿支付密码输入功能。 类似支付宝,微信的支付密码功能。
总之,手机移动端电商在iOS和Android平台上的实现涉及多方面的技术和策略。从H5页面的构建到原生功能的集成,再到用户体验的优化,每一个环节都需要精心设计和实施。随着技术的不断发展,未来的移动端电商将更加智能...
Framework7 是免费开源的 HTML 移动端框架,用来开发混合移动端应用或者 iOS 7 的 Web 应用,并且带有 iOS 7 的原生外观和感觉。Framework7 也是独立的原型应用工具。
### Delphi XE8 开发 iOS 和 Android 移动应用知识点总结 #### 一、Delphi XE8 概述 - **RAD Studio**: RAD Studio 是 Embarcadero 公司旗下的集成开发环境 (IDE),它支持多种编程语言,包括 Delphi、C++Builder ...
7. **自动布局和动态类型**:为了适应不同屏幕尺寸和辅助功能设置,框架可能会包含自动布局的解决方案,支持动态字体大小和间距。 8. **依赖注入**:通过依赖注入容器(如Swift中的Dependency Injection或Obj-C的...
"ios开发-使用mpass移动开发框架在ios端抓包hook脚本.zip"是一个针对iOS开发者的重要资源,它包含了一套利用mpass移动开发框架在iOS设备上实现抓包功能的hook脚本。本文将详细介绍如何使用这个框架和脚本来实现iOS端...
road-ios-framework, 道路- 快速 Objective C 应用程序开发 一组重用组件利用额外的维度属性定向程序 。##Components基础类的属性。反射和辅助扩展支持核心 。服务 implementation服务定位器 Pattern的实现,集中...
总之,《精通iOS框架 第2版》是一本全面且深入的教程,适合希望在iOS开发领域更上一层楼的开发者。无论你是想增强Objective-C编程技能,还是想更好地掌握iOS框架的使用,这本书都能为你提供宝贵的知识和实践经验。
Framework7用于构建iOS和Android应用程序支持的全功能移动HTML框架Framework7 Framework7是用于MIT授权的开源项目Project7用于构建iOS和Android应用程序的全功能移动HTML框架Framework7 Framework7是MIT许可的开放源...