搜索
首页web前端html教程ionic css布局介绍(二)_html/css_WEB-ITnose

5. ionic 界面组件 表单输入
1.输入组件容器 : .item-input
在 ionic 中,各种输入组件被定义成不同的 HTML 模板,以便将描述标签和输入元素 打包在
一起。在这个模板的根元素上,需要声明.item-input 样式:
...

不同的输入元素有不同的模板定义。比如,文本输入通常包含一个描述标签:





ionic 预定义了文本输入、开关、复选按钮、单选按钮、选择框、滑动条等常用 输入组件
的样式:

2. 文本输入 : input[type="text"]
文本输入通常包含一个文本 input 元素和一个描述型标签:

在 ionic 中,使用以下 HTML 模板建立一个带有文本标签的输入框:

...


对于多个输入组件,可以将它们放到一个列表中,让表单更加整齐:

...
...
...

3. 文本输入:使用占位符做标签
有时可以将描述标签省略,这样可以获得一种简洁的效果:

这是 input 元素原生的功能,设置其 placeholder 属性 即可实现:

4. 文本输入:堆叠式标签
堆叠式标签意味着将描述性标签占据单独的一行:

使用.item-stacked-label 样式声明堆叠式标签:

5.开关 : .toggle input[type="checkbox"]
开关通常用来设置两种状态 - 开启和关闭:

正如上图中所见,开关的可视部件包括两部分:滑轨( .track)和手柄( .handle)。 ionic
使用如下 HTML 模板创建开关组件:






开关也有配色方案样式: .toggle-{color},用来改变滑轨的背景色。
6.复选按钮
复选框通常用来在一组列表中选中部分成员:

和开关一样,复选按钮也是基于 HTML 的 checkbox input 实现的。使用如下的 HTML 模板声
明复选按钮:





你也许已经猜到,复选按钮的配色方案样式为: .checkbox-{color}。

7.单选按钮 : .item-radio input[type="radio"]
单选按钮用来从一组选择中作出仅仅一个选择:

正如上图所见,单选按钮的可视部件包括两部分:选中图标( .radio-icon) 和描述内容
( .item-content),你可以在.item-content 随便添加 内容。
单选按钮基于 HTML 的 radio input 元素实现。使用如下的 HTML 模板 声明单选按钮:


...


单选按钮通常不单独使用,将他们放入一个列表中:

...

...
...

需要注意的是, group-name 决定了单选按钮的分组,所以对于互斥的选择项,必须 将它们
的 group-name 设置为相同的名称。
8.滑动条 : .range input[type="range"]
range 是 HTML5 新引入的元素,常用来进行连续值的调节:

从上图可以看到,滑动条的可视部件包括三部分:左右图标和中间的滑动条。 图标是可选
的,当不用图标时,滑动条将占据整个宽度。
在 ionic 中,使用如下 HTML 模板声明滑动条:





使用.range-{color}样式声明滑动条的配色方案,这主要影响滑轨的颜色。

9.选择框 : .item-select select
在每个平台上,选择框的表现形式都不一样,例如,在 PC 上,是一个传统的下拉框,在 Android
是一个单选弹出窗,而 iOS 上是一个覆盖半个窗体的定制滚动器:

通常总是将选择框与文字一起放入列表条目中,使用如下 HTML 模板创建选择框条目:

6. 界面组件选项卡

1. 选项卡 : .tabs

选项卡是一个可以包含多个按钮或链接的容器,通常用于提供一致的导航体验。 ionic 中
使用.tabs 样式声明选项卡,使用.tab-item 样式声明选项卡 成员

...
...
...

选项卡默认地位于屏幕底部。一旦元素应用了.tabs 样式,就可以继续 选用三类预定义样
式来进一步声明元素及其内容的外观:

1. 同级样式 - 同级样式与.tabs 应用在同一元素上,声明选项卡的位置、配色等。
2. 下级样式 - 下级样式只能应用在.tabs 的子元素上,声明子元素的大小等特征。
3. 上级样式 - 上级样式应用于.tabs 的父元素中,声明选项卡的平台特征。

2.tab-item : 使用图标
选项卡的选项默认的只包含文字,使用图标会使其更加生动:比如 微博( weibo)和微信
( wechat):

要在某个选项元素中插入图标,需要注意两点:
1. 使用 i 标签在.tab-item 中插入图标
2. 在.tabs 容器上使用.tabs-icon-{position}声明图标位置。
有三种方式定义图标位置:
 .tabs-icon-top - 将图标置于文字之上
 .tabs-icon-left - 将图标置于文字左侧
 .tabs-icon-only - 只使用图标,不显示文字

3. .tab-item : 使用徽章
微信( wechat)的选项卡中第三项包含了一个红色的信息元素,被称为徽章:

要在.tab-item 内包含徽章,需要注意两点:
使用.badge 样式插入徽章元素
在.tab-item 同级声明.has-badge 样式


...

...

4. .tabs : 顶部选项卡
默认情况下,选项卡位于屏幕底部, 可以使用.tabs-top 样式将选项卡置于顶部。

顶部选项卡应用也很广泛:

5. .tab-striped .tabs: 条带风格选项卡
条带风格的选项卡起源于 Android 平台,它使用一个细长的条带表示选项的选中状态:

在 ionic 中,使用.tabs-striped 样式声明条带风格选项卡:


...
...
...


7. 定制布局 栅格系统
1. 栅格系统
ionic 的栅格系统采用了 CSS3 的弹性盒( Flexible Box)模型,这使得它与大多数 栅格系
统都有所区别。
Flex 布局主要思想是让容器有能力改变其子元素的宽度、高度甚至先后顺序, 从而以最佳
方式填充可用空间。 CSS3 引入 Flex 容器的主要目的是为了适应所 有类型的显示设备和屏
幕大小:

在 ionic 中使用栅格系统主要使用两个类:
 .row - 在容器元素上使用.row 类,表示将其设置为弹性容器,即 Flexible Box。
 .col - 在子元素上使用.col 类,其扩展系数和收缩系数都被设置为 1。这意味着 所
有的子元素将平分容器的宽度。

2. .col : 默认的定宽列
在 ionic 的栅格中,每一行的各列默认是等宽的,这使得实现一个图片 浏览界面非常简单。
下图是 instagram app 的截图:

3. .col-{width-percent} : 指定列宽
当然,我们也可以显式地指定某些列的宽度。 ionic 提供了一些预置的 CSS 类, 供我们
快速指定列宽:

.col-10 - 占据容器 10%宽度
.col-90 - 占据容器 90%宽度

如果你有特殊的需求,比如,非要指定 78%的宽度,可以这样:
.col-78{
-webkit-box-flex: 0;
-webkit-flex: 0 0 78%;
-moz-box-flex: 0;
-moz-flex: 0 0 %78;
-ms-flex: 0 0 78%;
flex: 0 0 78%;
}

4. .col-{width-percent} : 指定列宽

windows phone 的 metro 风格在信息展示方面有很大的优势,虽然携程的 APP 没有突出这一
点:-( :

通过定制栅格的列宽,我们可以简单地实现类似的界面。
5. .col-offset-{width-percent} : 指定列偏移
列可以从默认位置偏移, ionic 预置了一些 CSS 类供我们快速设置列偏移:

.col-offset-10 - 偏移默认位置 10%容器宽度

.col-offset-90 - 偏移默认位置 90%容器宽度
这实际上是通过设置子元素的 margin-left 样式实现的,所以如果你需要让它 偏移正常位
置 78%,可以这样:

.col-offset-78{
margin-left:78%;
}

6. .col-{align} : 列纵向对齐
如果一行中各元素的高度不一样,那么比较矮的那些元素将自动被拉伸以适应 整行的
高度。
有时你不想这样,希望那些元素保持自身的高度。 ionic 提供了一些预置的 CSS 类用来
指定这些元素纵向的对齐方式:
.col-top - 让元素纵向顶对齐
.col-center - 让元素居中对齐
.col-bottom - 让元素向底对齐

这是通过设置元素的 CSS3 样式 align-self 来实现的。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
> gt;的目的是什么 元素?> gt;的目的是什么 元素?Mar 21, 2025 pm 12:34 PM

本文讨论了HTML< Progress>元素,其目的,样式和与< meter>元素。主要重点是使用< progress>为了完成任务和LT;仪表>对于stati

< datalist>的目的是什么。 元素?< datalist>的目的是什么。 元素?Mar 21, 2025 pm 12:33 PM

本文讨论了html< datalist>元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

< meter>的目的是什么。 元素?< meter>的目的是什么。 元素?Mar 21, 2025 pm 12:35 PM

本文讨论了HTML< meter>元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了< meter>从< progress>和前

视口元标签是什么?为什么对响应式设计很重要?视口元标签是什么?为什么对响应式设计很重要?Mar 20, 2025 pm 05:56 PM

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

我如何使用html5< time> 元素以语义表示日期和时间?我如何使用html5< time> 元素以语义表示日期和时间?Mar 12, 2025 pm 04:05 PM

本文解释了HTML5< time>语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit

HTML5中跨浏览器兼容性的最佳实践是什么?HTML5中跨浏览器兼容性的最佳实践是什么?Mar 17, 2025 pm 12:20 PM

文章讨论了确保HTML5跨浏览器兼容性的最佳实践,重点是特征检测,进行性增强和测试方法。

如何使用HTML5表单验证属性来验证用户输入?如何使用HTML5表单验证属性来验证用户输入?Mar 17, 2025 pm 12:27 PM

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

< iframe>的目的是什么。 标签?使用时的安全考虑是什么?< iframe>的目的是什么。 标签?使用时的安全考虑是什么?Mar 20, 2025 pm 06:05 PM

本文讨论了< iframe>将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。