Appearance
border图形
border主要是用来给盒子增加边框的, 但是在开发中我们也可以利用边框的特性来实现一些形状:
css
朝上的一个三角形
#triangle-up {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid red;
}所以利用border或者CSS的特性我们可以做出很多图形:
https://css-tricks.com/the-shapes-of-css/#top-of-site
认识Web字体
在之前我们有设置过页面使用的字体: font-family
- 我们需要提供一个或多个字体种类名称,浏览器会在列表中搜寻,直到找到它所运行的系统上可用的字体。
- 这样的方式完全没有问题,但是对于传统的web开发人员来说,字体选择是有限的;
- 这就是所谓的 Web-safe 字体;
- 并且这种默认可选的字体并不能进行一些定制化的需求;
比如下面的字体样式, 系统的字体肯定是不能实现的

那么我们是否依然可以在网页中使用这些字体呢? 使用Web Fonts即可
Web fonts的工作原理
首先, 我们需要通过一些渠道获取到希望使用的字体(不是开发来做的事情):
- 对于某些收费的字体, 我们需要获取到对应的授权;
- 对于某些公司定制的字体, 需要设计人员来设计;
- 对于某些免费的字体, 我们需要获取到对应的字体文件;
对于某些免费的字体, 我们需要获取到对应的字体文件;
- 具体的过程看后面的操作流程;
最后, 在部署静态资源时, 将HTML/CSS/JavaScript/Font一起部署在静态服务器中;
用户的角度:
- 浏览器一个网页时, 因为代码中有引入字体文件, 字体文件会被一起下载下来;
- 浏览器会根据使用的字体在下载的字体文件中查找、解析、使用对应的字体;
- 在浏览器中使用对应的字体显示内容;
使用Web Fonts
第一步:在字体天下网站下载一个字体
默认下载下来的是ttf文件;
第二步:使用字体;
使用过程如下:
1.将字体放到对应的目录中
2.通过@font-face来引入字体, 并且设置格式
3.使用字体
注意: @font-face 用于加载一个自定义的字体;

web-fonts的兼容性
我们刚才使用的字体文件是 .ttf, 它是TrueType字体
在开发中某些浏览器可能不支持该字体, 所以为了浏 览器的兼容性问题, 我们需要有对应其他格式的字体;
TrueType字体:拓展名是 .ttf
- OpenType/TrueType字体:拓展名是 .ttf、.otf, 建立在TrueType字体之上
- Embedded OpenType字体:拓展名是 .eot, OpenType字体的压缩版
- SVG字体:拓展名是 .svg、 .svgz
- WOFF表示Web Open Font Format web开放字体: 拓展名是 .woff,建立在TrueType字体之上
这里我们提供一个网站来生产对应的字体文件:
web fonts兼容性写法
如果我们具备很强的兼容性, 那么可以如下格式编写:

这被称为"bulletproof @font-face syntax(刀枪不入的@font-face语法)":
- 这是 Paul Irish早期的一篇文章提及后@font-face开始流行起来 (Bulletproof @font-face Syntax)。
src用于指定字体资源
- url指定资源的路径
- format用于帮助浏览器快速识别字体的格式;
认识字体图标
思考:字体可以设计成各式各样的形状,那么能不能把字体直接设计成图标的样子呢?
当然可以,这个就叫做字体图标。
字体图标的好处:
- 放大不会失真
- 可以任意切换颜色
- 用到很多个图标时,文件相对图片较小
字体图标的使用:
- 登录阿里icons(https://www.iconfont.cn/)
- 下载代码,并且拷贝到项目中
将字体文件和默认的css文件导入到项目中
字体图标的使用
字体图标的使用步骤:
- 第一步: 通过link引入iconfont.css文件
- 第二步: 使用字体图标
使用字体图标常见的有两种方式:
- 方式一: 通过对应字体图标的Unicode来显示代码;
- 方式二: 利用已经编写好的class, 直接使用即可;
css
<i class="iconfont"></i>
<i class="iconfont icon-music"></i>认识精灵图 CSS Sprite
什么是CSS Sprite
- 是一种CSS图像合成技术,将各种小图片合并到一张图片上,然后利用CSS的背景定位来显示对应的图片部分
- 有人翻译为:CSS雪碧、CSS精灵
使用CSS Sprite的好处
- 减少网页的http请求数量,加快网页响应速度,减轻服务器压力
- 减小图片总大小
- 解决了图片命名的困扰,只需要针对一张集合的图片命名
Sprite图片制作(雪碧图、精灵图)
- 方法1:Photoshop, 设计人员提供
- 方法2:https://www.toptal.com/developers/css/sprite-generator
精灵图的使用
精灵图如何使用呢?
精灵图的原理是通过只显示图片的很小一部分来展示的;
通常使用背景:
- 1.设置对应元素的宽度和高度
- 2.设置精灵图作为背景图片
- 3.调整背景图片的位置来展示
如何获取精灵图的位置
cursor
cursor可以设置鼠标指针(光标)在元素上面时的显示样式
cursor常见的设值有
- auto:浏览器根据上下文决定指针的显示样式,比如根据文本和非文本切换指针样式
- default:由操作系统决定,一般就是一个小箭头
- pointer:一只小手,鼠标指针挪动到链接上面默认就是这个样式
- text:一条竖线,鼠标指针挪动到文本输入框上面默认就是这个样式
- none:没有任何指针显示在元素上面