ionic css 框架

ionic 的 CSS 框架主要提供预定义的 CSS 类,来帮助我们快速构建适用于手机端的 UI。

ionic 的预定义 CSS 类主要分四个方面:

1、基本布局类
2、颜色和图标类
3、界面组件类
4、栅格系统类

1、基本布局类

手机App开发实践中,用户界面通常划分为几个区域 -

标题header
内容content
页脚footer

1.1标题header 页脚footer

定高条块bar

样式 .bar 将元素声明为屏幕上绝对定位的块状区域,具有固定的高度(44px)


bar 子元素

有三种.bar子元素的样式是预定义的:

1,标题文字 - 对包含标题文字的元素应用.title样式,通常使用h1元素。
2,按钮 - 对用作按钮的元素,应用.button样式,通常使用button 或a元素作为按钮。注意按钮将使用.bar的配色方案。
3,工具栏 - 工具栏包含一组按钮。对用作工具栏的元素,应用.button-bar样式,通常 使用div元素作为工具栏。

bar 嵌入 input

在 bar 元素中嵌入 input 元素,需要注意两点:

1,在条块元素上应用 item-input-inset 样式
2,将input包裹在应用 item-input-wrapper 样式的元素内

1.2内容:content/scroll-content

ionic预定义了两个内容容器样式:

content - 流式定位,内容在文档流中按顺序定位
scroll-content - 绝对定位,内容元素占满整个屏幕

2、颜色和图标类

2.1颜色

2.2图标

ionic 使用 ionicons 图标样式库。
使用图标很简单,在元素上声明以下两个 CSS 类即可:

.icon - 将元素声明为图标

.ion-{icon-name} - 声明要使用的具体图标

要了解有哪些图标及具体名称,需要访问http://ionicons.com/。 点击图标即可查看其类名称。

2.3内边距


样式名很直白,边距统一为10px。可以在任何元素上应用这些样式。

3,界面组件

3.1列表:list

列表非常适合于手机屏幕上的信息的显示。使用.list定义列表容器, 使用.item定义列表成员:
对列表外观的定制化主要集中在.item元素上,.list元素仅有 少数的几个样式定义:

3.2成员项 : item

列表的样式定制主要发生在.item元素上。
可以插入文本、徽章、图标、图像、按钮元素:


在ionic中,头像被设置为40x40固定大小
在ionic中,缩略图被定义为80px大小,比头像大,适合新闻图片
注意:将img标签放到.item内容的开头!

3.3按钮:button

ionic 使用 .button 样式定义按钮元素:
一旦应用了 .button 样式,可以继续选用两类预定义样式来进一步声明元素及其内容的外观:

同级样式 - 同级样式与.button应用在同一元素上,声明元素的位置、配色等。

下级样式 - 下级样式只能应用在.button的子元素上,声明子元素的大小等特征。

3.4输入组件容器:item-input

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

<any class="item-input">...</any>

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

<div class="item-input">
<label class="input-label">用户名</label>
<input type="text" placeholder="请输入你的用户账号">
</div>


onic 预定义了文本输入、开关、复选按钮、单选按钮、选择框、滑动条等常用输入组件。

堆叠式标签

<any class="item-input item-stacked-label">
<any class="input-label">...</any>
<input type="text" placeholder="...">
</any>

开关

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

<any class="toggle">
<input type="checkbox">
<any class="track">
<any class="handle"></any>
</any>
</any>

复选按钮

复选框通常用来在一组列表中选中部分成员,
复选按钮的配色方案样式为:.checkbox-{color}。
和开关一样,复选按钮也是基于HTML的checkbox input实现的:

<li class="item item-checkbox">
<label class="checkbox">
<input type="checkbox">
</label>
<span>Do you agree?</span>
</li>

单选按钮

单选按钮的可视部件包括两部分:选中图标(.radio-icon) 和描述内容(.item-content),你可以在内容随便添加 内容。
单选按钮通常不单独使用,需要将他们放入一个列表中。

<label class="item item-radio">
<input type="radio" name="group">
<div class="item-content">支付宝网页支付</div>
<i class="radio-icon ion-checkmark calm"></i>
</label>

选择框

在每个平台上,选择框的表现形式都不一样,例如,在PC上,是一个传统的下拉框,在Android 是一个单选弹出窗

<label class="item item-select">
<span class="input-label">前端技术</span>
<select>
<option>HTML5</option>
<option selected>CSS3</option>
<option>ES6</option>
</select>
</label>

3.5滑动条

滑动条的可视部件包括三部分:左右图标和中间的滑动条。 图标是可选的,当不用图标时,滑动条将占据整个宽度。
使用.range-{color}样式声明滑动条的配色方案,这主要影响滑轨的颜色。

<div class="item range range-positive">
<i class="icon ion-ios-volume-low"></i>
<input type="range" name="volume" value="30">
<i class="icon ion-ios-volume-high"></i>
</div>

3.6选项卡:tabs

ionic 中使用 .tabs 样式声明选项卡,使用 .tab-item 样式声明选项卡成员
选项卡默认地位于屏幕底部。

<ul class="tabs">
<li class="tab-item">...</any>
<li class="tab-item">...</any>
...
</ul>

图标


标记


顶部选项卡


条带风格选项卡

Paste_Image.png

4、栅格系统

和 Bootstrap 一样,ionic 也提供了栅格系统。不过 ionic 的实现是基于 CSS3 的 Flex Box 模型,更为灵活。

在ionic中使用栅格系统主要使用两个类:

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

4.1默认的定宽列

在ionic的栅格中,每一行的各列默认是等宽的,这使得实现一个图片 浏览界面非常简单。

4.2col-{w-p} 指定列宽

我们也可以显式地指定某些列的宽度:
.col-10 - 占据容器10%宽度
.col-20 - 占据容器20%宽度
.col-25 - 占据容器25%宽度
.col-33 - 占据容器33%宽度
.col-50 - 占据容器50%宽度
.col-67 - 占据容器67%宽度
.col-75 - 占据容器75%宽度
.col-80 - 占据容器80%宽度

4.3.col-offset-{w-p} 指定列偏移

列可以从默认位置偏移:
.col-offset-10 - 偏移默认位置10%容器宽度
.col-offset-20 - 偏移默认位置20%容器宽度
.col-offset-25 - 偏移默认位置25%容器宽度
.col-offset-33 - 偏移默认位置33%容器宽度
.col-offset-50 - 偏移默认位置50%容器宽度
.col-offset-67 - 偏移默认位置67%容器宽度
.col-offset-75 - 偏移默认位置75%容器宽度
.col-offset-80 - 偏移默认位置80%容器宽度
.col-offset-90 - 偏移默认位置90%容器宽度

4.4.col-{align} 列纵向对齐

如果一行中各元素的高度不一样,那么比较矮的那些元素将自动被拉伸以适应 整行的高度。
ionic提供了一些预置的CSS类用来 指定这些元素纵向的对齐方式:
.col-top - 让元素纵向顶对齐
.col-center - 让元素居中对齐
.col-bottom - 让元素向底对齐
这是通过设置元素的align-self来实现的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容