css3中的@font

文章简介:ICOFONT制作常用社交图标。

icofont为何物?图标字体也。图标和字体怎能混为一谈呢?icofont就是用font-family来实现icon,主要用到了css3中的@font-face。

实现我们来熟悉一下@font-face这个属性。

@font-face的语法规则:

@font-face {
   font-family: <YourWebFontName>;
   src: <source> [<format>][,<source> [<format>]]*;
   [font-weight: <weight>];
   [font-style: <style>];
 }

取值说明:

  1. YourWebFontName:此值指的就是你自定义的字体名称,最好是使用你下载的默认字体,他将被引用到你的Web元素中的font-family。如“font-family:”YourWebFontName”;”
  2. source:此值指的是你自定义的字体的存放路径,可以是相对路径也可以是绝路径;
  3. format:此值指的是你自定义的字体的格式,主要用来帮助浏览器识别,其值主要有以下几种类型:truetype,opentype,truetype-aat,embedded-opentype,avg等;
  4. weight和style:这两个值大家一定很熟悉,weight定义字体是否为粗体,style主要定义字体样式,如斜体。

浏览器兼容:

浏览器兼容问题上不用太担心,‘@font-face’规则首先定义在 CSS2 规范中,但是在 CSS2.1 中被删除,目前又被纳入到 CSS3 推荐草案中,所以不用担心IE系列,从IE4开始就支持这一属性了,并且现在一些主流的浏览器(Chrome 1+/Firefox 3.5+/Safari 3.1+/iOS 3.1+/Opera 10+)也都支持。

字体格式:

说到浏览器对@font-face的兼容问题,这里涉及到一个字体format的问题,因为不同的浏览器对字体格式支持是不一致的,这样大家有必要了解一下,各种版本的浏览器支持什么样的字体。

一、TureTpe(.ttf)格式:

.ttf字体是Windows和Mac的最常见的字体,是一种RAW格式,因此他不为网站优化,支持这种字体的浏览器有【IE9+,Firefox3.5+,Chrome4+,Safari3+,Opera10+,iOS Mobile Safari4.2+】;

二、OpenType(.otf)格式:

.otf字体被认为是一种原始的字体格式,其内置在TureType的基础上,所以也提供了更多的功能,支持这种字体的浏览器有【Firefox3.5+,Chrome4.0+,Safari3.1+,Opera10.0+,iOS Mobile Safari4.2+】;

三、Web Open Font Format(.woff)格式:

.woff字体是Web字体中最佳格式,他是一个开放的TrueType/OpenType的压缩版本,同时也支持元数据包的分离,支持这种字体的浏览器有【IE9+,Firefox3.5+,Chrome6+,Safari3.6+,Opera11.1+】;

四、Embedded Open Type(.eot)格式:

.eot字体是IE专用字体,可以从TrueType创建此格式字体,支持这种字体的浏览器有【IE4+】;

五、SVG(.svg)格式:

.svg字体是基于SVG字体渲染的一种格式,支持这种字体的浏览器有【Chrome4+,Safari3.1+,Opera10.0+,iOS Mobile Safari3.2+】
这就意味着在@font-face中我们至少需要.ttf,.eot两种格式字体,甚至还需要.svg等字体达到更多种浏览版本的支持。
举个栗子:

在font-face的应用中,由于中文字体文件过大,并不常用。如果需要英文字体的话,推荐大家用google的Google Web Fonts https://www.google.com/webfonts .
但可以使用font-face制作一些小图标,效果极好。

icoMoon 使用方法

推荐使用一个icofont的网站 icomoon
首先进入网站选择 icoMoon App ,start the App.

然后选择需要使用的图标,选择下一步。
最后将所需的图标重新自定义命名,下载自定义后的文件。
文件中包括了各种字体。
现在就可以使用酷酷的icofont了。

使用说明:

@font-face {font-family: "icofoont";src: url("icofont.eot");src:url("icofont.ttf")  format("truetype");  }
 span{font-family: "icofoont";font-size:30px;padding:10px;}
<div>
  <span>a</span>
  <span style="color:#3F5CA2">b</span>
  <span style="color:#D2462F">c</span>
  <span style="color:#215676">d</span>
  <span style="color:#31B5F5">e</span>
  <span style="color:#d6d6d6">f</span>
  <span style="color:#b4ea5d">g</span>
  <span style="color:#00ADEF">h</span>
  <span style="color:#F47E24">i</span>
</div>


最后上效果图
奉上优雅的 DOME

时间: 2024-10-22 06:07:31

css3中的@font的相关文章

实现CSS3中的border-radius(边框圆角)示例代码

详细介绍下如何实现CSS3中的border-radius(圆角),具体代码如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助   实现边框圆角 -moz-border-radius: 32px; -webkit-border-radius: 32px; border-radius: 32px; behavior: url(border-radius.htc);   复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict/

解析CSS3中的Box-Sizing属性

在重构移动端页面的时候,我们经常会遇到两个框架并排的情况,并且需要宽度自适应.等宽,有边框这样的情况,我平时的方法就是用定位来处理,然后用负值定位来解决,但是后来发现可以用CSS3中的Box-Sizing属性来搞定.好吧,立马推荐出来给大伙. 语法: box-sizing: content-boxborder-boxinherit; 定义: box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素. 例如,假如您需要并排放置两个带边框的框,可通过将 box-sizing 设置为 "

CSS3中2D tansform各函数的使用技巧

文章简介:CSS3 2D变换让Web设计师有了更多的自由来装饰和变形HTML组件.同时让设计师有更多的功能装饰文本和更多动画选项来装饰Div元素.在CSS3 2D变形中主要包含的一些基本功能如下. 在一个二维或三维空间,元素可以被扭曲.移位或旋转.只不过2D变形工作在X轴和Y轴,也就是大家常说的水平轴和垂直轴:而3D变形工作在X轴和Y轴之外,还有一个Z轴.这些3D变换不仅可以定义元素的长度和宽度,还有深度.我们将首先讨论元素在2D平面如何变换,然后我们在进入3D变换的讨论. CSS3 2D变换让

网页多边框效果:CSS3中的box

文章简介:大家常见的应该是双线边框效果,使用页面部分元素具有层次的效果.在CSS2中依靠的是背景图片或者借助相邻两个元素的border来实现.而现在CSS3中的box-shadow可以直接在一个元素中完成. 多边框效果,大家常见的应该是双线边框效果,使用页面部分元素具有层次的效果.在CSS2中依靠的是背景图片或者借助相邻两个元素的border来实现.而现在CSS3中的box-shadow可以直接在一个元素中完成,我们来看一个简单的片段: <!-- HTML --> <div id=&qu

CSS3中box

今天我们学习CSS3中box-shadow属性,首先感谢作者帕兰映像的无私奉献精神,box-shadow可以让我们打造阴影效果. firefox可能过其自身属性-moz-box-shadow.Safari和Chrome通过自身属性-webkit-box-shadow来实现下面的效果 css3中box-shadow属性的语法 box-shadow有六个可设值:box-shadow:阴影类型 X轴位移 Y轴位移 阴影大小 阴影扩展 阴影颜色,其相关属性:text-shadow,如果不调置阴影类型时,

css3中Border

从我开始学做网页的时候起,页面上用到的圆角都是头痛的事情,最初是用表格,三行三死,然后把圆角图片切成9块分别填充,呵呵,现在想起来无语. 后面网上又找了css圆角代码,1像素1像素的把圆角拼出来,这时候,我开始懒了,用了几次,当时就无语了. 如今,我更懒了,遇见圆角效果,就做成图片用CSS设置成背景,方便快捷. css3来了,这里有一项新的技术,圆角的效果让我们从此不再忧愁(别急!css3还未正式发布),现在就让我们先睹为快,了解下css3中这一强大的技术:border-radius吧. css

css3中opacity属性学习与实践

css3中opacity属性是如何使用的呢:<length> inherit length:由浮点数字和单位标识符组成的长度值0到1.不可为负值.默认值为:1 . 此标签的作用是声明一个元素的透明度,opacity取值为1的元素是完全不透明的,反之,取值为0是完全透明的,看不见的.1到0之间的任何值都表示该元素的透明程度. 兼容:Firefox 3.0.10 .Chrome 2.0.x.Opera 9.64..Safari 4.Firefox 3.5 目前较老的Firefox版本,我们需要使用

详解CSS3中使用gradient实现渐变效果的方法

  CSS3 Gradient分为linear-gradient(线性渐变)和radial-gradient(径向渐变). 线性渐变在Webkit下的应用 CSS Code复制内容到剪贴板 -webkit-linear-gradient( [ || ,]? , [, ]* )//最新发布书写语法 第一个参数表示渐变类型(type),可以是linear(线性渐变)或者radial(径向渐变). 第二个参数和第三个参数,都是一对值,分别表示渐变起点和终点.这对值可以用坐标形式表示,也可以用关键值表示

css3中flexbox伸缩盒深入理解

 这个背后有一个悲伤的故事,所以就取了个这么有点像标题党的标题,具体什么我就不说了.很早之前就知道css3里面有这么个东西,而且随着规范的改变,它的版本也改了几次.     也就是因为这个flexbox伸缩盒布局太强大了,以至于我没在意它也是display的一个属性. 要想解决这个布局问题,我们还是先了解一些基础的问题.先回顾下display有哪些属性吧:     none:隐藏对象.与visibility属性的hidden值不同,其不为被隐藏的对象保留其物理空间     inline:指定对象