<body>

<!-- 头部 -->                               bar里嵌入子元素:title,button,button-barinput

<div class="bar bar-header bar-dark item-input-inset">

<h1 class="title">Header</h1>                      布局?  item-input-inset, item-input-wrapper

<label class="item-input-wrapper">

            <a class="button button-clear icon ion-search"></a>

<input class="light-bg" type="text" placeholder="qingshuru">

</label>

<a class="button button-clear icon ion-ios-gear"></a>

</div>

<!-- 二级栏目 -->

<div class="bar bar-subheader bar-stable">

<div class="button-bar">

<a class="button button-balanced">button1</a>

<a class="button button-clear">button2</a>

</div>

</div>

<!-- -->

<div class="scroll-content has-header has-subheader">

<h1 class="title">Content</h1>

</div>

<!-- 底部 -->

<div class="bar bar-footer bar-calm">

<div class="button-bar">

<i class="icon ion-home" style="font-size:50px;"></i>    声明图标大小及位置

<a class="button button-balanced icon icon-right ion-document-text">button3</a>

<a class="button button-clear">button4</a>

</div>

</div>

</body>

1.1. .bar

标题文字 -.title样式,通常使用h1元素

按钮     -.button样式,通常使用button 或a元素作为按钮

工具栏:  -.button-bar样式,使用div元素作为工具栏

1.1.1. 在.bar元素中嵌入input元素

在标题栏中嵌入搜索栏

v 在条块元素上应用.item-input-inset样式

v 将input包裹在应用.item-input-wrapper样式的元素内

<div class="bar bar-header bar-energized item-input-inset">

<a class="button button-clear icon-right ion-android-arrow-dropdown">北京</a>

<label class="item-input-wrapper">

<input class="light-bg" type="text" placeholder="qingshuru">

</label>

</div>

<label class="item-input-wrapper">

<a class="button button-clear icon ion-search"></a>

<input class="light-bg" type="text" placeholder="qingshuru">

</label>

1.1.2. button

按钮应用.button样式,常使button 或a元素作为按钮

嵌入图标

<a class="button"> <i class="icon ion-home"></i>Home </a>

<a class="button icon-left ion-home"> Home </a>

<div class="button icon ion-plus"></div>

<button class="button button-calm button-block">Home</button>           button显示成块元素

²     button-block

button显示成块元素 <button class="button button-calm button-block">button-light</button>

1.2.  Ionic色彩、图标和边距

前景,背景,边框 及内边距偏移

内边距统一为10px

1.3. .content和.scroll-content

<div class="scroll-content has-header padding ">

<i class="icon ion-arrow-up-a calm">图标</i>

<i class="icon ion-arrow-up-a balanced"></i>

<div class="balanced-bg light">背景 字体</div>

<div class="padding-left">

    <div class="energized-bg light">偏移</div>

</div>

</div>

内容容器样式:

 .content – 相对定位

 .scroll-content - 绝对定位,内容元素占满整个屏幕

1.3.1.  .hasheader
1.3.2.  .ion 图标

.icon - 将元素声明为图标

.ion-{icon-name} - 声明要使用的具体图标 ,图标及具体名称,需要访问ionics.com

<any style="font-size:100px;"> 图标的大小:

<i class="icon ion-search"></i>

</any>

1.3.3.  .list .item

.list定义列表容器, 使用.item定义列表成员:

容器外观定制 .list元素

边框,缩进,阴影

列表外观定制 .item元素

分组,配色,边框

插入文本、徽章、图标、图像(头像、缩略图或大图)、按钮等各种 样式的元素

设置图文位置排版

简单应用

1)       .item : 嵌入文本

h1~h6/p标签插入不同规格的文本

嵌入文本、徽章

文本可扩展多行,徽章可设置背景及字

2)       .item :嵌入图标

.item元素上声明图标位置。使用.item-icon-left和.item-icon-right声明

.item元素内插入图标 list-inset

3)       .item : 嵌入头像

头像被设置为40x40固定大小

.item元素上声明头像位置。使用.item-avatar-left和.item-avatar-right声明

.item元素内使用img标签插入头像

4)       .item : 嵌入缩略图

缩略图被定义为80px大小,比头像大,适合新闻图片。

.item元素上声明缩略图位置。缩略图可以位于列表的左侧或右侧,分别使用.item-thumbnail-left和.item-thumbnail-right声明

.item元素内使用img标签插入头像。

img标签放到.item内容的开头!

5)       .item : 嵌入大图 item-image

6)       .item :中使用按钮button

.item上声明按钮位置。可以位于列表的左侧或右侧, 分别使用.item-button-left和.item-button-right声明

.item元素内插入按钮

v  例1文本列表(单列)。

<ul class="list list-inset">

<li class="item">课程</li>

<li class="item">          h1~h6/p标签插入不同规格的文本

<h2>国务院常务会议部署推进公司注册资本登记制度改革</h2>

<p>中国青年报</p>

</li>

<!-- 嵌入文本、徽章及徽章背景字 -->

<li class="item">

Mega Man  <i class="badge positive-bg light">15</i>

</li>

<li class="item item-button-right">

<button class="button icon-left ion-home">按钮</button>

Enter home address

</li>

<li class="item">

<button class="button button-calm button-block">button-light</button>

</li>

<!-- 嵌入图标图标和文字排版,位置最多只能两图标,文本可扩展徽章多行  -->

<li class="item  item-icon-left  item-icon-right">

<i class="icon ion-location"></i>

<h2>入住城市:当前位置 </h2>

<h2>地址 </h2>

<i class="icon ion-ios-arrow-right"></i>

</li>

<!-- 缩略图位置  -->

<li class="item item-thumbnail-left">

<img src="img/a-1.jpg">

<h2>热点 <i class="badge positive-bg light">15</i> </h2>

<h2>大黄鸭在北京两个月创收超两亿元 今日离京</h2>

<p>中国经营报</p>

</li>

<!-- 图像位置  -->

<li class="item item-avatar">

<img src="img/a-1.jpg">

<h2>Thomasguy</h2>

<p>真的好好吃啊...</p>

</li>

<!-- 图片位置  -->

<li class="item item-image">

<img src="img/bmw.jpg">

</li>

</ul>

v  例2使用 div 和 a 显示 item

<div class="list ">

<a  href="#" class="item">课程</a>

<a  href="#" class="item">

<h2>国务院常务会议部署推进公司注册资本登记制度改革</h2>

<p>中国青年报</p>

</a>

<a  href="#" class="item">

Mega Man <i class="badge positive-bg aght">15</i>

</a>

<a class="item item-icon-left" href="#">

<i class="icon ion-person-stalker"></i>         图标

Friends

<span class="badge badge-assertive">0</span>  徽章

</a>

<a class="item item-icon-left" href="#">

<i class="icon ion-mic-a"></i>

Record album

<span class="item-note"> Grammy</span>      说明

</a>

<div class="item item-button-right">

Call Ma

<button class="button button-positive">      按钮 带图标

<i class="icon ion-ios-telephone"></i>

</button>

</div>

<a class="item item-avatar" href="#">             索罗图

<img src="venkman.jpg">

<h2>Venkman</h2>

<p>Back off, man. I'm a scientist.</p>

</a>

<a class="item item-thumbnail-left" href="#">

<img src="cover.jpg">

<h2>Pretty Hate Machine</h2>

<p>Nine Inch Nails</p>

</a>

</div>

v  列表分隔符 item-divider

使用 item-divider 类来为列表创建分隔符,默认情况下,列表项以不同的背景颜色和字体加粗来区分

v  内嵌列表 list list-inset

与常规列表区别是,它设置了外边距(marign),类似于选项卡。

内嵌列表是没有阴影效果的,滚动时效果会更好

v  例3使用分组

1.3.4.  卡片 card

针对移动端的应用,卡片会根据屏幕大小自适应大小。可以很灵活的控制卡片的显示效果,甚至实现动画效果。卡片一般放在页面顶部,当然也可以实现左右切换的功能. 卡片(card)默认样式带有box-shadow(阴影),由于性能的原因,和他类似的元素像 list list-inset 并没有阴影。如果你有很多的卡片,每个卡片都有很多子元素,建议使用内嵌列表(inset list)。

. card 可以让list和左右有一些边距

. item-divider元素定义list的头和尾

<div class="list card">

<div class="item item-divider">

I'm a Header in a Card!

</div>

<div class="item item-text-wrap">

This is a basic Card with some text.

<a href="#" class="item item-icon-left">

<i class="icon ion-home"></i>

Enter home address

</a>

<a href="#" class="item item-icon-left">

<i class="icon ion-ios-telephone"></i>

Enter phone number

</a>

<a href="#" class="item item-icon-left">

<i class="icon ion-wifi"></i>

Enter wireless password

</a>

</div>

<div class="item item-divider">

I'm a Footer in a Card!

</div>

</div>

卡片展现

开始使用了 list card 元素,并使用了 item-avatar , item-body 元素用于展示图片和文本信息,底部使用 item-divider 类。

<div class="list card">

<div class="item item-avatar">

<img src="mcfly.jpg">

<h2>Marty McFly</h2>

<p>November 05, 1955</p>

</div>

<div class="item item-body">

<img class="full-image" src="delorean.jpg">

<p>

菜鸟教程 -- 学的不仅是技术,更新梦想!<br>

菜鸟教程 -- 学的不仅是技术,更新梦想!

</p>

<p>

<a href="#" class="subdued">1 喜欢</a>

<a href="#" class="subdued">5 评论</a>

</p>

</div>

<div class="item tabs tabs-secondary tabs-icon-left">

<a class="tab-item" href="#">

<i class="icon ion-thumbsup"></i>喜欢

</a>

<a class="tab-item" href="#">

<i class="icon ion-chatbox"></i> Comment

</a>

<a class="tab-item" href="#">

<i class="icon ion-share"></i>   分享

</a>

</div>

</div>

1.3.5.  表单输入

list 类同样可以用于 input 元素。item-input 和 item 类指定了文本框及其标签

1)        item item-input

<label class="item item-input">

<i class="icon ion-android-person positive"></i>

<input type="text" placeholder="请输入您的用户名">     placeholder 属性设置输入字段预期值的提示信息

</label>

<label class="item item-input item-stacked-label">              item-stacked-label堆叠标签通常位于输入框的头部

<span class="input-label">Email</span>                 输入框属性:input-label

<input type="text" placeholder="me@vucek.com">

</label>

<label class="item item-input item-floating-label">     item-floating-label浮动标签类似于堆叠标签,有一个动画的效果

<span class="input-label">First Name</span>

<input type="text" placeholder="First Name">

</label>

<label class="item item-input item-input-inset">

<textarea placeholder="Comments"></textarea>

</label>

内嵌表单

默认情况下每个输入域宽度都是100%,使用 list list-inset 或 card 类设置表单的内边距(padding), card 类带有阴影。

<div class="list list-inset">

<label class="item item-input">

<i class="icon ion-search placeholder-icon"></i>     带图标的输入框

<input type="text" placeholder="Search">

</label>

</div>

内嵌输入域

使用 list-inset 设置内嵌实体列表。 使用 item-input-inset 样式可以内嵌一个按钮。

<div class="list">

<div class="item item-input-inset">

<label class="item-input-wrapper">

<input type="text" placeholder="Email">

</label>

<button class="button button-small"> Submit </button>

</div>

</div>

头部输入框

输入框可放置在头部,并可添加提交或取消按钮。

<div class="bar bar-header item-input-inset">

<label class="item-input-wrapper">

<i class="icon ion-ios-search placeholder-icon"></i>

<input type="search" placeholder="搜索">

</label>

<button class="button button-clear">

取消

</button>

</div>

2)        ionic Toggle(切换开关)

切换开关类似与 HTML 的 checkbox 标签,切换开关可以使用 toggle-assertive 来指定颜色。

<label class="toggle">

<input type="checkbox">

<div class="track">

<div class="handle"></div>

</div>

</label>

该实例有是多个切换开关列表。注意,每个选项的 item 类后需要添加 item-toggle 类。

<ul class="list">

<li class="item item-toggle">

字符计数

<label class="toggle toggle-balanced">

<input type="checkbox" checked>

<div class="track">

<div class="handle"></div>

</div>

</label>

</li>

</ul>

3)        ionic checkbox(复选框)

和普通的 Checkbox 效果上其实相差不大,只是样式上有所不同。

每个选项的 item 类后需要添加 item-checkbox 类。可以使用 checkbox-assertive 来指定颜色。

<ul class="list">

<li class="item item-checkbox">

<label class="checkbox">

<input type="checkbox">

</label>

记住密码

</li>

<li class="item item-checkbox item-button-right">

<label class="checkbox">

<input type="checkbox" checked >

</label>

<h2>Shopping</h2>

<a class="button button-clear icon ion-ios-arrow-right"></a>

</li>

</ul>

4)        ionic 单选框

ionic 当选按钮与标准 type="radio" 的 input元素类似。

每个 item-radio 中的 type="radio" 的 input 元素的 name 属性都相同。radio-icon 类用于是否显示图标。

ionic 在单选项中使用了 <label> 元素,使其更易点击。

<div class="list">

<div class="item item-divider"><b>请选择支付方式</b></div>

<label class="item item-radio">

<input type="radio" name="group"  value="go" checked="checked">

<div class="item-content">支付宝客户端支付</div>

<i class="radio-icon ion-checkmark balanced"></i>

</label>

<label class="item item-radio">

<input type="radio" name="group"   value="python" >

<div class="item-content">支付宝网页支付</div>

<i class="radio-icon ion-checkmark balanced"></i>

</label>

</div>

5)        ionic Range

ionic Range 是一个滑块控件,ionic 为 Range 提供了很多种默认的样式。可以在许多种元素里使用它比如列表或者 Card 。

<div class="range">

<i class="icon ion-volume-low"></i>

<input type="range" name="volume">

<i class="icon ion-volume-high"></i>

</div>

<div class="list">

<div class="item item-divider">铃声和提醒</div>

<div class="item range range-positive">

<i class="icon ion-ios-volume-low"></i>

<input type="range" name="volume" min="0" max="100"  value=30>

<i class="icon ion-ios-volume-high"></i>

</div>

</div>

6)        ionic select

ionic select 的 select 相比原生的要更加美观些。但是弹出的可选选项样式是浏览器默认的。

在PC电脑的浏览器上,你会看到传统的下拉界面,Android 上会弹出单选按钮选项,iOS 有个滚轮操作界面。

<div class="list">

<label class="item item-input item-select">

<div class="input-label">前端技术</div>

<select>

<option>HTML</option>

<option selected>CSS</option>

<option>JavaScript</option>

</select>

</label>

<div class="item item-input item-select">

<div class="input-label"> Lightsaber </div>

<select>

<option>Blue</option>

<option selected="">Green</option>

<option>Red</option>

</select>

</div>

1.3.6.  选项卡 : .tabs

ionic tab(选项卡) 是水平排列的按钮或者链接,用以页面间导航的切换。它可包含文字和图标的组合

选项卡容器使用了 tabs 类,每个选项卡使用 tab-item 类。默认情况下,选项卡是文本的,并没有图标。默认情况,选项卡颜色为默认,可设置以下不同颜色样式:tabs-default ,tabs-light ,tabs-stable ,tabs-positive ,tabs-calm ,tabs-balanced ,tabs-energized ,tabs-assertive ,tabs-royal ,tabs-dark。要隐藏选项卡栏,可使用 tabs-item-hide 类。

<ul class="tabs tabs-positive"> tabs-top

<li class="tab-item active">Chinese</li>

<li class="tab-item">English</li>

<li class="tab-item">Japanese</li>

<li class="tab-item">Russian</li>

</ul>

tabs-icon-top顶部图标+文字选项卡。tabs-icon-only可设置只显示图标选项卡,ttabs-icon-left 类可设置左侧图标+文字选项卡。

<div class="tabs tabs-stable tabs-icon-top">

<a class="tab-item active">

<i class="icon ion-ios-home-outline"></i>首页

</a>

<a class="tab-item">

<i class="icon ion-ios-email-outline"></i>信息

</a>

<a class="tab-item has-badge">

<i class="icon ion-ios-eye-outline"></i>发现

<i class="badge badge-positive ">12</i>

</a>

</div>

条纹样式选项卡

在带有 tabs 的样式名的元素上添加 tabs-striped 来实现像 Android 风格的 tabs。也可以添加 tabs-top 来实现选项卡在页面顶部。

条纹选项卡颜色可通过 tabs-background-{color} 和 tabs-color-{color} 来控制, {color} 值可以是:default, light, stable, positive, calm, balanced, energized, assertive, royal, 或 dark。

注意:如果要再选项卡上设置头部标题,需要使用 has-tabs-top 类。

<div class="tabs-striped tabs-top tabs-dark tabs-icon-only  tabs-background-positive tabs-color-light ">

<div class="tabs">

<a class="tab-item active" href="#">

<i class="icon ion-ios-telephone"></i> Test

</a>

<a class="tab-item" href="#">

<i class="icon ion-ios-clock"></i> Favorites

</a>

</div>

</div>

1.3.7.  Grid布局

它采用了弹性盒子模型(Flexible Box Model) 。而且在移动端,基本上的手机都支持。row 样式指定行,col 样式指定列。

同等大小网格

带有 row 的样式的元素里如果包含了 col 的样式,col 就会设置为同等大小。如 row 的样式包含了 5 个 col 样式,每个 col 的宽度为 20%。

<div class="row">

<div class="col">.col</div>

<div class="col">.col</div>

<div class="col">.col</div>

<div class="col">1<br>2<br>3<br>4</div>

</div>

<div class="row">

<div class="col col-33 positive-bg">.col</div>指定列宽

<div class="col col-33 col-offset-33 dark-bg">.col</div> 列可以设置左侧偏移量

</div>

纵向对齐包含顶部,中间部分,底部,可以应用到每一行的列,或者指定的某列。

<div class="row row-top ">   row-center  row-bottom

<div class="col col-top col-50 positive-bg light">

<div>机票</div>

</div>

<div class="col col-25  assertive-bg light">

<img src="img/a-2.jpg" />

<br>你好

</div>

<div class="col col-25  calm-bg light">

<div>用车</div>

</div>

</div>

<div class="row">

<div class="col col-top">.col</div>

<div class="col col-center">.col</div>

<div class="col col-bottom">.col</div>

<div class="col">1<br>2<br>3<br>4</div>

</div>

响应式网格

手持设备屏幕在切换时,例如横屏,竖屏等。就需要设置每行的网格可以实现根据不同宽度自适应大小。

.responsive-sm    小于手机横屏

.responsive-md   小于平板竖屏

.responsive-lg      小于平板横屏

<div class="row responsive-sm">

<div class="col">.col</div>

<div class="col">.col</div>

<div class="col">.col</div>

<div class="col">.col</div>

</div>

Ionic学习笔记1_基本布局的更多相关文章

  1. 微信小程序开发:学习笔记[4]——样式布局

    微信小程序开发:学习笔记[4]——样式布局 Flex布局 新的布局方式 在小程序开发中,我们需要考虑各种尺寸终端设备上的适配.在传统网页开发,我们用的是盒模型,通过display:inline | b ...

  2. amazeui学习笔记--css(布局相关1)--网格Grid

    amazeui学习笔记--css(布局相关1)--网格Grid 一.总结 基本使用 1.div+class布局:amaze里面采取的就是div+class的布局方式  <div class=&q ...

  3. amazeui学习笔记--css(布局相关3)--辅助类Utility

    amazeui学习笔记--css(布局相关3)--辅助类Utility 一.总结 1.元素清除浮动: 添加 am-cf 这个 class 即可 2.水平滚动: .am-scrollable-horiz ...

  4. amazeui学习笔记--css(布局相关2)--等分网格 AVG Grid

    amazeui学习笔记--css(布局相关2)--等分网格 AVG Grid 一.总结 1.与grid区别:网格中:am-g + am-u-xx-n 等分网格中只有一个: am-avg-sm-4(在u ...

  5. Ionic 学习笔记

    本文为原创,转载请注明出处: cnzt       文章:cnzt-p http://www.cnblogs.com/zt-blog/p/7831153.html 注: 本篇学习笔记基于Ionic 3 ...

  6. Beego 学习笔记15:布局页面

    页面布局 1>     一个html页面由:head部分,body部分,内部css,内部js,外联css,外联的js这几部分组成.因此,一个布局文件也就需要针对这些进行拆分. 2>     ...

  7. Ionic学习笔记3_ionic指令简单布局

    1)   添加引用类库(ionic样式和ionic js文件) 2)   标题栏,页脚栏,内容区 3)   Js引入ionic类库,添加页面操作方法和对象 4)   数据初始化 5)   Html页面 ...

  8. Linux学习笔记1_用户和权限

    自从我大微软终于放下身段,决定给开源社区一个迟来的拥抱,追随多年的拥趸们像是突然得到了女神的垂青,各种茫然失措.痛哭流涕.欢欣鼓舞,纷纷唱了起来:“等了好久终于等到今天,梦了好久终于把梦实现……”唱完 ...

  9. Android学习笔记④——页面的布局方式

    FrameLayout(帧布局) 这个布局的特点是简单的默认把每一个视图组件都放在边框内且放在左上角,即使添加多个视图组件,他们也都是重叠在左上角,新的视图会遮挡住旧的视图.可以根据gravity来改 ...

随机推荐

  1. oracle enable / disable all constraint

    beginfor i in (select constraint_name, table_name from user_constraints where table_name='') LOOPexe ...

  2. java中集合里的泛型

    import java.util.ArrayList;/* * 泛型 : java jdk1.5新特性. * 泛型的好处 : * 1.将运行时的错诶提前到编译时. * 2.避免无谓的强制类型转换. * ...

  3. 软件工程中的反面模式(anti-pattern)

    软件设计 抽象倒置(Abstraction inversion):不把用户需要的功能直接提供出来,导致他们要用更上层的函数来重复实现 用意不明(Ambiguous viewpoint):给出一个模型( ...

  4. bzoj4543[POI2014]Hotel

    题目链接 bzoj4543 [POI2014]Hotel 题解 这不是裸地点分嘛 ,我真傻,真的 n^2 这不是是sb题,~滑稽 ~ 枚举点转换为无根树,暴力子树中点的深度 计数转移 令a b c d ...

  5. 【字符串哈希】【莫队算法】bzoj3207 花神的嘲讽计划Ⅰ

    既然询问的长度是确定的,那么我们可以将所有长度为K的字串弄个哈希值出来,这样字串存在性=>哈希值存在性. 自然上溢哈希,base=107比较不错. 序列长度n=>n-K+1 询问区间[x, ...

  6. 【分块】【常数优化】【Orz faebdc】洛谷 P1083 NOIP2012提高组 借教室

    分块90分. By AutSky_JadeK [重点在下面] #include<cstdio> #include<cmath> using namespace std; #de ...

  7. 【小笔记】斜率优化的结论(WC)

  8. [Android Studio Problems]记录克隆项目中遇到的坑(问题)以及解决方法

    ①Migrate project to Gradle? 问题描述: This project does not use the Gradle build system. We recommend th ...

  9. Missing iOS Distribution signing identity解决方案

    相信很多朋友跟我遇到相同的问题,之前iOS发布打包的证书没问题,现在莫名其妙的总是打包失败,并且报如下错误 第一反应,是不是证书被别人搞乱了.于是去Developer Member Center,把所 ...

  10. Quartz 2.3 动态添加、修改和删除定时任务

    下面直接上代码: <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>qu ...