ionic button 实用笔记
来源:互联网 发布:获取httppost请求数据 编辑:程序博客网 时间:2024/06/05 02:27
源码文件:_button.scss 和 _button-bar.scss,以及_variables.scss(66行-163行)。
按钮是手机app不可或缺的一部分,不同风格的app,需要的按钮多种多样,按钮的设置涉及按钮的大小、颜色、状态等。下面将对ionic的按钮样式做一一笔记。
ionic button样式
ionic默认提供9种颜色风格:
$light: #fff !default;$stable: #f8f8f8 !default;$positive: #4a87ee !default;$calm: #43cee6 !default;$balanced: #66cc33 !default;$energized: #f0b840 !default;$assertive: #ef4e3a !default;$royal: #8a6de9 !default;$dark: #444 !default;
使用如下所示:
<button class="button"> Default</button><button class="button button-light"> button-light</button><button class="button button-stable"> button-stable</button><button class="button button-positive"> button-positive</button><button class="button button-calm"> button-calm</button><button class="button button-balanced"> button-balanced</button><button class="button button-energized"> button-energized</button><button class="button button-assertive"> button-assertive</button><button class="button button-royal"> button-royal</button><button class="button button-dark"> button-dark</button>
按钮风格首先定义了基础的.button,以及根据不同的颜色风格,定义不同ative行为特效。.button基础样式部分代码如下:
// _button.scss 第7行 - 30行.button {// set the color defaults@include button-style($button-default-bg, $button-default-border, $button- default-active-bg, $button-default-active-border, $button-default-text);position: relative;display: inline-block;margin: 0;padding: 0 $button-padding;min-width: ($button-padding * 3) + $button-font-size;min-height: $button-height + 5px;border-width: $button-border-width;border-style: solid;border-radius: $button-border-radius;vertical-align: top;text-align: center;text-overflow: ellipsis;font-size: $button-font-size;line-height: $button-height - $button-border-width + 1px;cursor: pointer;
另外,根据不同的颜色样式的active的效果也不一样,如positive颜色样式的active效果如下:
$button-positive-bg: $positive !default;$button-positive-text: #fff !default;$button-positive-border: darken($positive, 15%) !default;$button-positive-active-bg: darken($positive, 15%) !default;$button-positive-active-border: darken($positive, 15%) !default;
字体颜色为白色(#fff),边框颜色加深15%;当按钮按下时,背景颜色加深15%。其它颜色样式的active效果类似。
Block Buttons & Full Width Block Buttons
通常按钮的宽度是由text长度+左右padding值决定的,所以很难满足100%宽度的填充父容器。然而,ionic提供了block级的button样式(Block Buttons & Full Width Block Buttons)。这两类Buttons的代码如下:
.button-block { display: block; clear: both;&:after { clear: both; }}.button-full,.button-full > .button { display: block; margin-right: 0; margin-left: 0; border-right-width: 0; border-left-width: 0; border-radius: 0;}button.button-block,button.button-full,.button-full > button.button,input.button.button-block { width: 100%;}
示例如下:
<button class="button button-block button-positive"> Block Button</button><button class="button button-full button-positive"> Full Width Block Button</button>
从上面可以看出,这两者的相同点在于display: block,而Full Width Block Buttons删除左右边框和边框半径(border-radius);Block Buttons保留着padding,让元素间有点呼吸空隙,而Full Width Bloc Buttons不包含padding值。
button大小
除了正常大小之外,ionic提供两种不同的Sizes: button-large、button-small
.button-small { padding: 2px $button-small-padding 1px; min-width: $button-small-height; min-height: $button-small-height + 2; font-size: $button-small-font-size; line-height: $button-small-height - $button-border-width - 1; .icon:before, &.icon:before, &.icon-left:before, &.icon-right:before { font-size: $button-small-icon-size; line-height: $button-small-icon-size + 3; margin-top: 3px; }}.button-large { padding: 0 $button-large-padding; min-width: ($button-large-padding * 3) + $button-large-font-size; min-height: $button-large-height + 5; font-size: $button-large-font-size; line-height: $button-large-height - $button-border-width; .icon:before, &.icon:before, &.icon-left:before, &.icon-right:before { padding-bottom: ($button-border-width * 2); font-size: $button-large-icon-size; line-height: $button-large-height - ($button-border-width * 2) - 1; }}
示例代码:
<button class="button button-small button-assertive"> Small Button</button><button class="button"> Default Button</button><button class="button button-large button-positive"> Large Button</button><button class="button button-block button-small button-assertive"> Small Button</button><button class="button button-block"> Default Button</button><button class="button button-block button-large button-positive"> Large Button</button>
两者主要的区别在于:padding、min-width、min-height、font-size 和 line-height。
Outlined Button & Clear Button
这两种button,都是无背景、字体颜色为button样式颜色,其中clear button是无边框的,源代码如下:
button-clear { @include button-clear($button-default-border); @include transition(opacity .s); padding: 0 $button-clear-padding; max-height: $button-height; border-color: transparent; background: none; box-shadow: none; &.active, &.activated { opacity: 0.3; }}.button-outline { @include button-outline($button-default-border); @include transition(opacity .s); background: none; box-shadow: none;}
示例代码:
<button class="button button-outline button-positive"> Outlined Button</button><button class="button button-clear button-positive"> Clear Button</button>
Icon Buttons
一个按钮只有冷冷的文字显得没有生气,这时添加个icon,会使app的效果更上一个台阶。其中你可以使用ionic提供的Ionicons,或者其它类型的icon。
同时,虽然我们能够在button中添加icon子元素,但这样做会增加DOM元素,增加DOM载入负担,所以ionic提供了Icon Buttons样式。
使用示例:
<button class="button"> <i class="icon ion-loading-c"></i> Loading...</button><button class="button icon-left ion-home">Home</button><button class="button icon-left ion-star button-positive">Favorites</button><a class="button icon-right ion-chevron-right button-calm">Learn More</a><a class="button icon-left ion-chevron-left button-clear button-dark">Back</a><button class="button icon ion-gear-a"></button><a class="button button-icon icon ion-settings"></a><a class="button button-outline icon-right ion-navicon button-balanced">Reorder</a>
效果图:
不错吧,不仅可以只显示icon,也可以icon+text;不仅可以左边显示,可以右边显示icon。
header、footer下button的使用
button可以使用在app的各个空间中,如在header中使用,在app头部左右各增加一个button,代码如下:
<div class="bar bar-header"> <button class="button icon ion-navicon"></button> <h1 class="title">Header Buttons</h1> <button class="button">Edit</button></div>
其中,以上的button样式基本都可以应用其中。
a button
此外,ionic提供了链接a的button效果,源代码:
a.button { text-decoration: none;}
Button Bar
ionic提供了类似Bootstrap按钮组.btn-group效果,源代码如下:
/*** Button Bar* --------------------------------------------------*/.button-bar { @include display-flex(); @include flex(1); width: 100%; &.button-bar-inline { display: block; width: auto; @include clearfix(); > .button { width: auto; display: inline-block; float: left; } }}.button-bar > .button { @include flex(1); display: block; overflow: hidden; padding: 0 16px; width: 0; border-width: 1px 0px 1px 1px; border-radius: 0; text-align: center; text-overflow: ellipsis; white-space: nowrap; &:before, .icon:before { line-height: 44px; } &:first-child { border-radius: 2px 0px 0px 2px; } &:last-child { border-right-width: 1px; border-radius: 0px 2px 2px 0px; }}
示例代码:
<div class="button-bar"> <a class="button">First</a> <a class="button">Second</a> <a class="button">Third</a></div>
其中按钮组是一个block组件,100%宽度;
排除第一个和最后一个按钮,其它按钮都取消圆角设置;
第一个按钮的左上角和左下角保留圆角设置;
最后一个按钮保留右上角和右下角圆角设置。
除了最后一个按钮之外,其它的border-width: 1px 0px 1px 1px;;
最后一个按钮再补上最右边的边框: border-right-width: 1px;
- ionic button 实用笔记
- ionic使用记录----button
- Ionic控件 Button
- ionic button指令
- ionic之样式button
- ionic--初级学习button
- Ionic控件 Button
- ionic笔记
- ionic笔记
- ionic button 一些使用心得
- ionic之样式button-stable
- Hello Ionic - Ionic学习笔记
- ionic翻译:ion-nav-back-button
- ionic 自定义button的dropdowns效果
- ionic label下加button的说明
- button 笔记
- button样式实用代码(转)
- <学习笔记> 安装Ionic
- 【bzoj1075】【scoi2005】【超级格雷码】【找规律】
- AD Group Type and Permissions Setting in Cognos
- 【性能优化】【UI】性能优化之ListView
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- ionic button 实用笔记
- 宝典练习2之求两个数组的交集
- 第三十九级台阶(递归遍历搜索)
- 中科软2016笔试题总结(待编辑)
- 操作系统启动过程——启动引导+硬件自检+系统引导+系统加载+系统登录
- DDMS for Phone
- python图形库pychartdir的简单介绍和安装步骤
- xib 图片设置圆角
- Winform实现后台推送,数据跨线程实时刷新控件