博客列表 >第八节 实例演示背景控制 精灵图的原理与实现 阿里字体图标的完整引用流程

第八节 实例演示背景控制 精灵图的原理与实现 阿里字体图标的完整引用流程

如今放弃
如今放弃原创
2020年06月24日 15:59:32477浏览

一:背景控制

. 常用背景控制属性

描述 代码
背景颜色 background-color:
裁切 background-clip: content-box;
渐变 background: linear-gradient()
背景图片 background-image: url(‘图片名称’)
规定背景图像是否固定或者随着页面的其余部分滚动 background-attachment: fixed;
背景定位 background-position:
背景尺寸 background-size:
简写 1.background: url(timg.jpg)2.background: violet;
补发光 box-shadow:
圆角 box-shadow:

.背景控制示例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>背景</title>
  7. <style>
  8. .box {
  9. width: 300px;
  10. height:300px;
  11. /* border: 3px solid black; */
  12. border-radius: 150px;
  13. /* 背景色 */
  14. background-color: blueviolet;
  15. /* 因为内边距是透明的,只能设置宽度不能设置样式,因此,背景色默认可以从内边距透出来 */
  16. /* padding: 20px; */
  17. /* 控制背景的覆盖范围限制在内容区,裁切 */
  18. /* background-clip: border-box; */
  19. /* background-clip: content-box; */
  20. /*渐变 */
  21. background: linear-gradient(blue,red);
  22. background: linear-gradient(to right,blue,red,white);
  23. /* 背景图片 */
  24. background-image: url('timg.jpg');
  25. /* 同一个框不重复出现图片 */
  26. background-repeat: no-repeat;
  27. /* background-repeat: repeat-y; */
  28. /* background-attachment: fixed; */
  29. /* 背景定位 */
  30. /* background-position: left; */
  31. /* 只写一个,第二个默认就是center */
  32. /* background-position: right center; */
  33. /* 只写一个,第二个默认就是50% */
  34. /* background-position: 50% 20%; */
  35. /* 背景尺寸 */
  36. background-size: contain;
  37. background-size: cover;
  38. /* 简写 */
  39. background: violet;
  40. background: url('timg.jpg') no-repeat center;
  41. position: relative;
  42. top: 30px;
  43. left: 30px;
  44. /* 外发光 */
  45. box-shadow: 0px 0px 6px #8888
  46. cursor: pointer;
  47. }
  48. </style>
  49. </head>
  50. <body>
  51. <div class="box"></div>
  52. </body>
  53. </html>

.效果如下:

二.精灵图的使用

1.什么叫CSS Sprite

CSS Sprites叫 CSS精灵或者雪碧图,是一种网页图片应用处理方式
CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中。
再利用CSS的”background-image”,”background-repeat”,”background-position”的组合进行背景定位,background-position可以用数字精确的定位出背景图片的位置。

2.为什么建议使用CSS Sprite

在网页访问中,客户端每需要访问一张图片都会向服务器发送请求,所以,访问的图片数量越多,请求次数也就越多,造成延迟的可能性也就越大。
所以,CSS Sprites技术加速的关键,并不是降低质量,而是减少个数,当然随之而来的增加内存消耗,CSS Sprites图片繁琐的合成等缺点在网站性能的提升前,也就不足为道了。

3.CSS Sprites 的优点:

  1. 减少图片的字节
  2. 减少了网页的http请求,从而大大的提高了页面的性能
  3. 减少命名难的问题

4.CSS Sprites 的缺点:

  1. 在图片合并的时候,你要把多张图片有序的合理的合并成一张图片,还要留好足够的空间,防止板块内出现不必要的背景。
  2. 在宽屏,高分辨率的屏幕下的自适应页面,图片如果不够宽,很容易出现背景断裂。
  3. CSS Sprites在维护的时候比较麻烦,如果页面背景有少许改动,一般就要改这张合并的图片,无需改的地方最好不要动,这样避免改动更多的CSS,如果在原来的地方放不下,又只能(最好)往下加图片,这样图片的字节就增加了,还要改动CSS

5.再说说background-position

只有真正的了解background-position的特性才能在需要的场景更好的运用它。
background-position 属性设置背景图像的起始位置。
这个属性设置背景原图像(由 background-image 定义)的位置,背景图像如果要重复,将从这一点开始。
提示:background-position属性设置背景原图像(由 background-image 定义)的位置,意味着使用这个属性的前提是必须设置背景原图像background-image。
了解了background-position属性的用法,使用雪碧图之前,我们需要知道雪碧图中各个图标的位置。
.精灵图示例代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>背景实战: 精灵图/雪碧图</title>
  7. <style>
  8. .box1{
  9. width: 500px;
  10. height: 400px;
  11. border: 1px solid#000;
  12. background-image: url("1.png");
  13. background-repeat: no-repeat;
  14. background-position: 0px 0px;
  15. }
  16. .box2{
  17. width: 110px;
  18. height: 110px;
  19. background-image: url("1.png");
  20. background-repeat: no-repeat;
  21. background-position: -330px -110px;
  22. }
  23. .box3{
  24. width: 110px;
  25. height: 110px;
  26. background-image: url("1.png");
  27. background-repeat: no-repeat;
  28. background-position: -330px 0;
  29. }
  30. </style>
  31. </head>
  32. <body>
  33. <div class="box1"></div>
  34. <div class="box2"></div>
  35. <div class="box3"></div>
  36. </body>
  37. </html>

.效果如下:

三.阿里字体图标的完整引用流程

1.进入站点
https://www.iconfont.cn/
2.通过GITHUB账号登入
3.“图标库”或搜索 寻找需要的图标
4.将需要的图标加入购物车
5.将图标通过项目的方式下载到本地站点目录并解压
6.font-class 引用:
使用步骤如下:
第一步:引入项目下面生成的 fontclass 代码:

<link rel="stylesheet" href="./iconfont.css">
第二步:挑选相应图标并获取类名,应用于页面:
<span class="iconfont icon-xxx"></span>
“ iconfont” 是你项目下的 font-family。可以通过编辑项目查看,默认是 “iconfont”。

代码示例:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <link rel="stylesheet" href="font/iconfont.css">
  7. <title>阿里图标使用方法-font-class 引用</title>
  8. <style>
  9. .icon{
  10. font-size: 70px;
  11. color: chocolate;
  12. }
  13. .time{
  14. font-size: 80px;
  15. color: darkgreen;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <span class="iconfont icon-icon-test12 icon"></span>
  21. <span class="iconfont icon-icon-test5 time"></span>
  22. </body>
  23. </html>

演示效果

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议