今天模仿百度首页手机版的时候遇到的@font-face的问题,现在整理一下。

问题:图中红色区域,在拷贝F12样式的时候,并没有出现这些小图标。

        

       图1:百度的效果                       图2:我做的效果

  在审查元素的时候,发现这些地方不是图片,只是字体。代码如下:

.navs-news:before {
content: "\e672";
color: #777;
font: 24px/1 icons;
}
事实上,这个例子用到了@font-face的方法:@font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,美化网页。
具体的使用方法
@font-face {
/*自定义的字体名称*/
font-family: <YourWebFontName>;
/*source是自定义的字体的存放路径 format是自定义的字体的格式,主要用来帮助浏览器识别*/
src: <source> [<format>][,<source> [<format>]]*;
/*字体是否为粗体*/
font-weight: <weight>;
/*定义字体样式*/
font-style: <style>;
}
我在这里要说的是百度首页的扒站过程中我遇到的问题。
首先,我从这次模仿的作业中,了解到@font-face这个属性,然后是如何从百度首页上copy这个字体了。首先我切换到审查元素(chrome浏览器)-->手机模式-->刷新后,右键选择:查看网页源代码。但是找不到@font-face这个样式,换到360极速浏览器发现是能找到的。原因就是:百度首页的手机版网址是http://wap.baidu.com/,你需要访问这个网址才能顺利找到。
                        
                      图3:未找到font-face的网页源代码
         
                      图4:换个网址找到的@font-face的网页源代码
 
在网页源代码view-source:http://wap.baidu.com/中,CTRL+F搜索@font-face,可以看到它的定义,拷贝到我们自己的css文件中,刷新我们制作的百度首页。
@font-face{
font-family:icons;
src:url(//m.baidu.com/static/index/iconfont/iconfont_f0abbec7.eot);
src:url(//m.baidu.com/static/index/iconfont/iconfont_f0abbec7.eot#iefix) format('embedded-opentype'),
  url(//m.baidu.com/static/index/iconfont/iconfont_f0abbec7.woff) format('woff'),
  url(//m.baidu.com/static/index/iconfont/iconfont_f0abbec7.ttf) format('truetype'),
  url(//m.baidu.com/static/index/iconfont/iconfont_f0abbec7.svg?#iconfont) format('svg');
font-weight:;
font-style:normal
}
发现还是没有显示。原因是未联网,所以要把这些字体文件(.eot,.woff等)下载到本地。下载方法:复制上面代码里面的url地址到浏览器,即可下载。如:http://m.baidu.com/static/index/iconfont/iconfont_f0abbec7.eot
然后把我们下载下来的文件放在我们的工程文件下,修改@font-face的url地址,即:
@font-face {
font-family: icons;
src: url(../fonts/iconfont_f0abbec7.eot);
src: url(../fonts/iconfont_f0abbec7.eot#iefix) format('embedded-opentype'),
url(../fonts/iconfont_f0abbec7.woff) format('woff'),
     url(../fonts/iconfont_f0abbec7.ttf) format('truetype'),
     url(../fonts/iconfont_f0abbec7.svg?#iconfont) format('svg');
  font-weight:;
  font-style: normal
}

这时候,回到我们最开始看到的代码就可以解释了,如代码里的注释:

.navs-news:before {
/*字体图标的编号*/
content: "\e672";
/*字体颜色*/
color: #777;
/*字体大小,以及font-family:icons和@font-face呼应*/
font: 24px/1 icons;
}

再刷新我们的网页,即可看到这些可爱的“小图标”。

所有的字体文件最好都下载到本地,因为各个浏览器支持的字体不一致。比如.eot字体是IE专用字体,可以从TrueType创建此格式字体,支持这种字体的浏览器有【IE4+】;.svg字体是基于SVG字体渲染的一种格式,支持这种字体的浏览器有【Chrome4+,Safari3.1+,Opera10.0+,iOS Mobile Safari3.2+】

@font-face扒站的步骤的更多相关文章

  1. 用wget扒站时遇到电信劫持

    今天用wget扒下来一个html template的站. 挂在自己机器上后随便点什么,都出电信广告.仔细检查,我勒个去... 扒站过程中,刚好被电信打了劫,看看它给我下载下来的bootstrap.mi ...

  2. C#通过WebBrowser快速扒站思路积累大量着陆页列表

    现在工作方向已经越来越倾向于项目产品运营相关的东西.对线上运营也有了一定程度的了解. 配合一些技术性的操作,能极大的便利工作中的各种高难度任务,快速提升自我,积累丰富的经验和资源. 以近期制作LP为例 ...

  3. 4种常用扒站工具(webzip、ha_TeleportPro、Offline Explorer、wget)

    许多开始做lead,EMU的新手,需要一个英文网站,找人定制费用太贵自己又不会技术的话,可以通过扒站来获得英文站,今天给大家介绍几种扒站工具: 1.HA_TeleportPro: Teleport P ...

  4. Javascript 防扒站,防止镜像网站

    自己没日没夜敲出来的站,稍微漂亮一点,被人看上了就难逃一扒,扒站是难免的,但不能让他轻轻松松就扒了: 前些天有个朋友做的官网被某不法网站镜像,严重影响到 SEO,当时的解决方法是通过屏蔽目标 IP 来 ...

  5. wget 扒站

    在Linux下,通过一个命令就可以把整个站相关的文件全部下载下来. wget -r -p -k -np [网址] 参数说明: -r : 递归下载 -p : 下载所有用于显示 HTML 页面的图片之类的 ...

  6. 【linux】扒站命令之利用wget快速扒站利用wget快速扒站

    在Linux下,通过一个命令就可以把整个站相关的文件全部下载下来. wget -r -p -k -np 参数说明: -r : 递归下载 -p : 下载所有用于显示 HTML 页面的图片之类的元素 -k ...

  7. 扒站工具Teleport Pro教程

    1.下载软件 http://www.jb51.net/softs/44134.html 2.安装 3.界面 先点开帮助点注册(类似于破解要不全站扒不全) 下面请看ppt, http://www.doc ...

  8. 2016/04/29 ①cms分类 ② dede仿站制作 步骤 十个步骤 循环生成菜单 带子菜单的菜单 标签 栏目 栏目内容列表 内容图片列表

    cms 系统还有: phpcms     企业站 Xiaocms  织梦  企业站 wordpress (博客) Ecshop 商城 Ecmall 多用户 Discms 记账 方维 订餐 团购 CMS ...

  9. 神器扒网站——teleport ultra

    在平时的开发或者学习的过程中,我们难免会看到一些让人心动的网站,于是自己想把它搞下来,自己手工一个文件一个文件把它保存下来也可以实现,完成了也累得够呛,有一款扒站的神器,可以把你所喜欢的目标网站整个网 ...

随机推荐

  1. Android设备信息、感应器检测

    近日产品已经上线,开始有时间来做自己的事情,于是就开始学习和巩固一些以前用过的或者学过的技术.昨天写了一个检测Android设备的序列号和IMEI以及感应器等等的一个Demo来跟大家分享一下. 在开发 ...

  2. 图论(2-sat):HDU 3062 Party

    Party Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  3. 数学(FFT):BZOJ 3527 [Zjoi2014]力

    题目在这里:http://wenku.baidu.com/link?url=X4j8NM14MMYo8Q7uPE7-7GjO2_TXnMFA2azEbBh4pDf7HCENM3-hPEl4mzoe2w ...

  4. server 2008 ftp 环境重点说明

    最近 在弄ftp  环境,但是 到server 2008 r2  这个系统之后,按照之前的方法 不行了 具体情况如下 利用本机 资源管理器 访问不了,根本不出现 登录框 提示 然后 到ftp  站点 ...

  5. Java nextInt()函数

    nextInt( int num) 能接受一个整数作为它所产生的随机整数的上限,下限为零,比如:nextInt(4)将产生0,1,2,3这4个数字中的任何一个数字,注意这里不是0-4,而是0-3..但 ...

  6. OpenWrt简要刷机教程

    准备工作 1. 下载openwrt中文固件到PC.(当然其他英文固件也可) 2  找到路由器的RST键. 3  找到路由器刷机口---姑且称之为“WAN口” 4. 关闭路由器的电源. 5. 将PC网口 ...

  7. CodeForces 27D - Ring Road 2 构图2-sat..并输出选择方案

        题意             n个数1~n按顺序围成一个圈...现在在某些两点间加边..边可以加在圈内或者圈外..问是否会发生冲突?如果不发生冲突..输每一条边是放圈内还是圈外.     题解 ...

  8. redis 实时从mysql 更新数据

    现在的互联网普遍都用redis+mysql ,查询一般放在 redis  上,更改 放在 redis  上, 如果更新 mysql数据到  redis 上呢? mysql 有四中类型的日志 Error ...

  9. docker入门(二)

    打造自己的镜像 首先我们启动busybox镜像为容器,在该容器中安装一个小工具,再将这个容器保存为新的镜像 首先我们下载一个镜像,再启动容器 [root@centos ~]# docker pull ...

  10. Android(java)学习笔记241:多媒体之 MediaPlayer使用

    MediaPlayer类可用于控制音频/视频文件或流的播放.关于如何使用这个类的方法还可以阅读VideoView类的文档. 1.MediaPlayer 状态图       对播放音频/视频文件和流的控 ...