amazeui学习笔记--css(常用组件6)--图标Icon

一、总结

1、关注用法即可:在 HTML 上添加添加 am-icon-{图标名称} class。 <span class="am-icon-weixin"> Wechat</span>

2、图标大小

  • .am-icon-sm,放大 150%
  • .am-icon-md,放大 200%
  • .am-icon-lg,放大 250%

3、icon button:在 Icon 上添加 .am-icon-btn class。  <a href="##" class="am-icon-btn am-icon-twitter"></a>

4、旋转动画:注意:Chrome 和 Firefox 下, display: inline-block; 或 display: block; 的元素才会应用旋转动画。 <i class="am-icon-spinner am-icon-spin"></i>

5、固定宽度(非常有用):FontAwesome 在绘制图标的时候不同图标宽度有差异, 添加 .am-icon-fw 将图标设置为固定的宽度,解决宽度不一致问题(v2.3 新增)。 <li><i class="am-icon-qq am-icon-fw"></i> QQ</li>

6、图标不支持的情况可以直接写编码形式<span>&#xf09b; What a fuck.</span>

二、图标Icon

Icon


Amaze UI Icon 组件目前使用了 Font Awesome(Amaze UI 2.2.0 中升级至 4.3.0),涵盖除部分国内社交网站图标以外的其他常见图标。

使用方法

添加 Class

在 HTML 上添加添加 am-icon-{图标名称} class。

 Copy
QQ Wechat
  1. <span class="am-icon-qq"> QQ</span>
  2. <span class="am-icon-weixin"> Wechat</span>

使用 Mixin

LESS 用户可以调用 mixin 编写样式:

  1. 在要设置 Icon 的元素里调用 .am-icon-font mixin 设置字体;
  2. content 设置为 Icon 名称对应的变量 content: @fa-var-{图标名称}
 Copy
新浪微博
  1. <span class="doc-icon-custom"> 新浪微博</span>
 Copy
  1. .doc-icon-custom {
  2. &:before {
  3. .am-icon-font;
  4. content: @fa-var-weibo;
  5. }
  6. }

修改字体路径

字体图标目前引了 Staticfile CDN 上的文件(支持 HTTPS),可以自行替换:编译好的 CSS 中已经替换为本地文件。

  • 使用 LESS: 通过设置变量 @fa-font-path 覆盖默认的值,如 @fa-font-path: "../fonts";。这个变量定义在 icon.less 里。
  • 直接使用 CSS: 查找替换 //dn-staticfile.qbox.me/font-awesome/4.2.0/fonts/

图标大小

  • .am-icon-sm,放大 150%
  • .am-icon-md,放大 200%
  • .am-icon-lg,放大 250%
 Copy

默认大小

.am-icon-sm

.am-icon-md

.am-icon-lg

  1. <p><span class="am-icon-home"></span> 默认大小</p>
  2. <p><span class="am-icon-home am-icon-sm"></span> .am-icon-sm</p>
  3. <p><span class="am-icon-home am-icon-md"></span> .am-icon-md</p>
  4. <p><span class="am-icon-home am-icon-lg"></span> .am-icon-lg</p>

Icon button

在 Icon 上添加 .am-icon-btn class。

如果需要设置 Icon Button 的颜色,可以添加以下 class:

  • .am-primary
  • .am-secondary
  • .am-success
  • .am-warning
  • .am-danger
 Copy
       
  1. <a href="##" class="am-icon-btn am-icon-twitter"></a>
  2. <a href="##" class="am-icon-btn am-icon-facebook"></a>
  3. <a href="##" class="am-icon-btn am-icon-github"></a>
  4. <a href="##" class="am-icon-btn am-primary am-icon-qq"></a>
  5. <a href="##" class="am-icon-btn am-secondary am-icon-drupal"></a>
  6. <a href="##" class="am-icon-btn am-success am-icon-shield"></a>
  7. <a href="##" class="am-icon-btn am-warning am-icon-warning"></a>
  8. <a href="##" class="am-icon-btn am-danger am-icon-youtube"></a>

旋转动画

注意:Chrome 和 Firefox 下, display: inline-block; 或 display: block; 的元素才会应用旋转动画。

 Copy
    
  1. <i class="am-icon-spinner am-icon-spin"></i>
  2. <i class="am-icon-refresh am-icon-spin"></i>
  3. <i class="am-icon-circle-o-notch am-icon-spin"></i>
  4. <i class="am-icon-cog am-icon-spin"></i>
  5. <i class="am-icon-gear am-icon-spin"></i>

v2.3 新增动画:

 Copy
 
  1. <i class="am-icon-spinner am-icon-pulse"></i>

固定宽度

FontAwesome 在绘制图标的时候不同图标宽度有差异, 添加 .am-icon-fw 将图标设置为固定的宽度,解决宽度不一致问题(v2.3 新增)。

 Copy
  • QQ
  • Skype
  • GitHub
  • Amex
  1. <ul>
  2. <li><i class="am-icon-qq am-icon-fw"></i> QQ</li>
  3. <li><i class="am-icon-skype am-icon-fw"></i> Skype</li>
  4. <li><i class="am-icon-github am-icon-fw"></i> GitHub</li>
  5. <li><i class="am-icon-cc-amex am-icon-fw"></i> Amex</li>
  6. </ul>

复制图标

鼠标移到图标上会显示两个小按钮:

  • class: 复制 class 名称,用于可修改 DOM 结构的场景,如点击 copy 图标旁的 class 按钮复制结果为 am-icon-copy
  • style: 复制 Icon 样式,用于无法修改 DOM 结构通过样式添加 Icon 的场景,如点击 copy 图标旁的 style按钮复制结果为
 Copy
  1. {
  2. .am-icon-font;
  3. content: @fa-var-copy;
  4. }

存在问题

关于部分奇葩用户代理不显示字体图标

2016.07.11 update:

网友测试研究,某些安卓手机(如酷派某些型号)不显示字体图标,原因出在 @font-face 中引入了 svg 格式的字体,这些机型解析时出错,即便包含其他格式的字体,也无法正确显示。

解决方法是删除 svg 格式字体的引用,svg 格式提供给 iOS Safari 4.1- 使用,删除并无负面影响。Amaze UI 2.7.1 中已经做删除处理

以酷派为代表的部分安卓手机自带浏览器、微信/QQ WebView 等用户代理无法正常显示 Icon Font,原因可能是这些用户代理无法正确处理伪元素 content 的五位数的 Icon Font 十六进制编码,详情参考 Iconfont 在移动端遇到问题的探讨,可以通过这个页面进行测试。

解决方式有两种:

  • 将 Icon Font 编码限制在 4 位:Amaze UI 直接使用 Font Awesome,不可能去调整近 500 个图标的编码。
  • 将 Icon Font 的编码直接以内容的形式写进 HTML。
 Copy
 What a fuck.
  1. <span> What a fuck.</span>

Amaze UI 的定位是面向现代浏览器,虽然对 IE 8/9 这些浏览器提供了有限支持,但这都是在不改变基础架构、不耗费过多精力的前提下。安卓碎片化严重,更恶心的是一些厂商还随意修改浏览器内核,Amaze UI 不可能做到全部兼容,也不可能为极个别的用户代理调整架构、耗费过多精力。

云适配内部有数千个网站在使用 Amaze UI,截止目前还没有接到过图标不显示的反馈。显然,遇到这些问题的用户需要权衡处理这个问题的成本与收益。

v2.3 update:

有用户在评论中说以下写法可以解决图标不显示的问题,v2.3 中已经调整为以下写法,遇到过问题的用户可以测试一下。

 Copy
  1. /* 安卓手机端Icon不能正确显示的处理办法:*/
  2. [class*='am-icon-']:before {
  3. display: inline-block;
  4. font: normal normal normal 14px/1 FontAwesome;
  5. font-size: inherit;
  6. text-rendering: auto;
  7. -webkit-font-smoothing: antialiased;
  8. -moz-osx-font-smoothing: grayscale;
  9. }

所有图标列表

Font Awesome 4.6 新增字体(Amaze UI 2.7 中搭载)

Font Awesome 4.5 新增字体(Amaze UI 2.5 中搭载)

Font Awesome 4.4 新增字体(Amaze UI 2.5 中搭载)

Font Awesome 4.3 新增字体(Amaze UI 2.2 中搭载)

40 New Icons in 4.2

Web Application Icons

File Type Icons

Spinner Icons

 These icons work great with the am-icon-spin class. Check out the spinning icons example.

Form Control Icons

Payment Icons

Chart Icons

Currency Icons

Text Editor Icons

Directional Icons

Video Player Icons

Brand Icons

  • All brand icons are trademarks of their respective owners.
  • The use of these trademarks does not indicate endorsement of the trademark holder by Font Awesome, nor vice versa.

Warning!

Apparently, Adblock Plus can remove Font Awesome brand icons with their "Remove Social Media Buttons" setting. We will not use hacks to force them to display. Please report an issue with Adblock Plus if you believe this to be an error. To work around this, you'll need to modify the social icon class names.

Medical Icons

amazeui学习笔记--css(常用组件6)--图标Icon的更多相关文章

  1. amazeui学习笔记--css(常用组件14)--缩略图Thumbnail

    amazeui学习笔记--css(常用组件14)--缩略图Thumbnail 一.总结 1.基本样式:在 <img> 添加 .am-thumbnail 类:也可以在 <img> ...

  2. amazeui学习笔记--css(常用组件11)--分页Pagination

    amazeui学习笔记--css(常用组件11)--分页Pagination 一.总结 1.分页使用:还是ul包li的形式: 分页组件,<ul> / <ol> 添加 .am-p ...

  3. amazeui学习笔记--css(常用组件2)--面包屑导航Breadcrumb

    amazeui学习笔记--css(常用组件2)--面包屑导航Breadcrumb 一.总结 1.am-breadcrumb:用am-breadcrumb来声明面包屑导航控件,.am-breadcrum ...

  4. amazeui学习笔记--css(常用组件16)--文章页Article

    amazeui学习笔记--css(常用组件16)--文章页Article 一.总结 1.基本使用:文章内容页的排版样式,包括标题.文章元信息.分隔线等样式. .am-article 文章内容容器 .a ...

  5. amazeui学习笔记--css(常用组件15)--CSS动画Animation

    amazeui学习笔记--css(常用组件15)--CSS动画Animation 一.总结 1.css3动画封装:CSS3 动画封装,浏览器需支持 CSS3 动画. Class 描述 .am-anim ...

  6. amazeui学习笔记--css(常用组件13)--进度条Progress

    amazeui学习笔记--css(常用组件13)--进度条Progress 一.总结 1.进度条基本使用:进度条组件,.am-progress 为容器,.am-progress-bar 为进度显示信息 ...

  7. amazeui学习笔记--css(常用组件12)--面板Panel

    amazeui学习笔记--css(常用组件12)--面板Panel 一.总结 1.面板基本样式:默认的 .am-panel 提供基本的阴影和边距,默认边框添加 .am-panel-default,内容 ...

  8. amazeui学习笔记--css(常用组件10)--导航条Topbar

    amazeui学习笔记--css(常用组件10)--导航条Topbar 一.总结 1. 导航条:就是页面最顶端的导航条:在容器上添加 .am-topbar class,然后按照示例组织所需内容.< ...

  9. amazeui学习笔记--css(常用组件9)--导航nav

    amazeui学习笔记--css(常用组件9)--导航nav 一.总结 1.导航基本使用:<ul> 添加 .am-nav class 以后就是一个基本的垂直导航.默认样式中并没有限定导航的 ...

随机推荐

  1. C#获得文件夹下文件名

    String path = @"X:\xxx\xxx"; //第一种方法 var files = Directory.GetFiles(path, "*.txt" ...

  2. Swift编程语言初探

    继WWDC2014后,新的编程语言Swift浮出水面.它具有高速.现代.安全.可交互等特征,而且其语法简单,入门门槛低,有望替代语法复杂难懂的Objective-C语言.据其作者Chris Lattn ...

  3. HH生病了(hpu1136)

    HH生病了 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 324  Solved: 90 [Submit][Status][Web Board] De ...

  4. html的学习思维导图

  5. 深入理解Android(3)——Eclipse集成javah和NDK-Builder

    在上一篇文章中我们使用了javah工具来生成了native java文件所对应的C++头文件,但是这样生成比较麻烦,我们这一篇来介绍如何在eclipse中集成javah和NDK-Builder. 一. ...

  6. Android实现QQ分享及注意事项

    一.获取APPID和帮助文档 在前面我介绍了关于Android中微信分享的文章< Android实现微信分享及注意事项>这一篇文章来看看关于QQ分享. 可以参看新手引导和接入说明:http ...

  7. Stacked Autoencoders

    转自:http://www.cnblogs.com/tornadomeet/archive/2013/03/25/2980357.html 如果使用多层神经网络的话,那么将可以得到对输入更复杂的函数表 ...

  8. Java开发者最经常使用19个Linux命令

    1.查找文件 find / -name filename.txt 依据名称查找/文件夹下的filename.txt文件. 2.查看一个程序是否执行 ps –ef|grep tomcat 查看全部有关t ...

  9. Spark MLlib架构解析(含分类算法、回归算法、聚类算法和协同过滤)

    Spark MLlib架构解析 MLlib的底层基础解析 MLlib的算法库分析 分类算法 回归算法 聚类算法 协同过滤 MLlib的实用程序分析 从架构图可以看出MLlib主要包含三个部分: 底层基 ...

  10. vue踩坑记- Cannot find module 'wrappy'

    找不到模块"包装" 当你维护别人的项目代码的时候,在自己这里电脑上运行,打开一个项目cnpm run dev的时候,报错如下 Cannot find module 'wrappy' ...