• 利用纯粹的CSS3替代小图标---向右箭头


    1、向右的箭头>  .

      看到很多网站里面向右的箭头都是图片代替的,但是为了网站的性能,我们一般的原则是能够避免使用图片的尽量不用图片

       

      比如看下携程个人中心首页面,向右的箭头

      其实现思路是这样的:定义一个正方形盒子,盒子边框定义1px的上边框和右边框,然后对盒子旋转45度即可。

          代码如下:

    <i class="arrow"></i>
    .arrow{
         display: inline-block;
         width: 7px;
         height: 7px;
         border: solid #999;
         border-width: 1px 1px 0 0;
         -webkit-transform:rotate(-45deg);
         transform:rotate(-45deg);
    }

    嘘...

    我们能不能直接使用符号“ > “这个呢。

    来来来,看淘宝网 

     

    审查元素之后发现它是这样实现的。

    <i class="tb-icon service-arrow"></i>
    .tb-icon{
        font-family: iconfont!important;
        font-size: 14px;
        font-style: normal;
        display: inline-block;
        text-decoration: none;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    看到没,淘宝都这样做,我们何不借鉴下呢。

    不过它在添加字符的时候额外修饰了一番。使用字体抗锯齿属性:-webkit-font-smoothing

    对字体进行抗锯齿渲染可以使字体看起来会更清晰舒服。在图标字体成为一种趋势的今天,抗锯齿渲染使用也越来越多。

    font-smoothing是非标准的CSS定义。它被列入标准规范的草案中,后由于某些原因从web标准中被移除了。

    但是,我们可以用以下两种定义进行抗锯齿渲染

    -webkit-font-smoothing: antialiased; /*chrome、safari*/
    
    -moz-osx-font-smoothing: grayscale;/*firefox*/

    (1)Webkit在自己的引擎中支持了这一效果。

      -webkit-font-smoothing

      它有三个属性值:

        none ------ 对低像素的文本比较好

        subpixel-antialiased------默认值

        antialiased ------抗锯齿很好

        例子:

    body{
      -webkit-font-smoothing: antialiased;
    }

        这个属性可以使页面上的字体抗锯齿,使用后字体看起来会更清晰。加上之后就顿时感觉页面小清晰了。

    (2)Gecko也推出了自己的抗锯齿效果的非标定义。

        -moz-osx-font-smoothing: inherit | grayscale;

        这个属性也是更清晰的作用。

        例子:

    .icon {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    (3)Ionic框架在样式中多加了一条font-smoothing: antialiased;

        这是坐等font-smoothing标准化,有备无患么。

    当然了还有一种方法了,使用Art-Reactor | 字体图标集 这里面有很多很多图标方便我们使用,使用方法也比较简单,详细看看这个就知道了 

    http://chinakids.github.io/Art-Reactor/   当然这个教程也不错 http://www.zcool.com.cn/article/ZMTc3NDg4.html

    小应用:回到网站头部小图标

    <div class="arr">
        <i class="arrow"></i>
    </div>
    .arr{
        width:70px;
        height:70px;
        line-height:100px;
        background:rgba(153,153,153,0.8);
        border-radius:50%;
        text-align:center;
    }
    .arr .arrow{
        display: inline-block;
        width:26px;
        height:26px;
        border: solid #fff;
        border-width: 4px 4px 0 0;
        -webkit-transform:rotate(-45deg);
         transform:rotate(-45deg);
    }

     效果图为

  • 相关阅读:
    string 流
    文件输入和输出
    IO类
    算法
    MySQL常用处理方法
    linux curl工具
    设计模式
    C语言编程流程
    js escape 与php escape
    js undefined易错分析
  • 原文地址:https://www.cnblogs.com/zuobaiquan01/p/5647324.html
Copyright © 2020-2023  润新知