一张矢量图使用css来调用矢量图里的N个图标

html-css05

一张矢量图使用css来调用矢量图里的N个图标,第1张

楼主的意思应该是用CSS控制,使几个不同的按钮分别使用同一张背景图里的不同区域来做背景吧?这个技术叫CSS Spirit,具体就是通过background-position属性来定位背景图,示例代码如下:

HTML:

<!DOCTYPE html>

<html>

<head>

  <meta charset='utf-8'>

</head>

<body>

  <ul class="btnBox">

    <li><a href="javascript:" class="btn btn_1"></a></li>

    <li><a href="javascript:" class="btn btn_2"></a></li>

    <li><a href="javascript:" class="btn btn_3"></a></li>

  </ul>

</body>

</html>

CSS:

body{

  background: #27AFDF

}

.btnBox{

  list-style: none

}

.btnBox .btn{

  display: block

  width: 110px

  height: 32px

  background: url('btnBackground.jpg')

  margin-bottom: 20px

}

.btnBox .btn_1{

  background-position: 0px -74px

}

.btnBox .btn_2{

  background-position: 0px -114px

}

.btnBox .btn_3{

  background-position: 0px -154px

}

效果:

示例代码:

需要知道,计算机里面每个字符都有一个unicode编码,比如「我」的unicode是6211(16进制),而字体文件的作用是规定某个字符应该用什么形状来显示。

unicode字符集里面,E000 至 F8FF属于用户造字区。原本是空的,用户可以在字体文件里面随便定义这些字符的形状。我们所见的webfont icon,一般就选在这一部分。

(上面这段讲得可能不专业,大致知道是这么一回事就行。)

要使用自定义字符,大致步骤是:

自己造一个字体文件,把e000所对应的字符形状画上新浪的icon,保存为常用字体文件格式。

在css中使用font-face引用这个字体文件,任意命名(不和已有的重复,比如叫myfonticon)

需要显示图标的地方定义font-family为myfonticon,content属性设为"\e000"。