博客列表 >CSS背景属性、精灵图和字体图标引用流程

CSS背景属性、精灵图和字体图标引用流程

Blueprint
Blueprint原创
2020年06月20日 15:33:301009浏览

背景常用属性

先来个概述图:

color(颜色)

  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>Document</title>
  7. <style>
  8. div {
  9. /* 设定div大小 */
  10. width: 200px;
  11. height: 200px;
  12. /* 边框线方便演示 */
  13. border: 1px dashed black;
  14. float: left;
  15. }
  16. .box {
  17. /* 背景颜色:16进制 */
  18. background-color: #eee;
  19. }
  20. .box2 {
  21. /* 背景颜色:rgb */
  22. background-color: rgb(109, 109, 109);
  23. }
  24. .box3 {
  25. /* 背景颜色:单词 */
  26. background-color: gray;
  27. }
  28. .box4 {
  29. /* 背景颜色:rgba */
  30. background-color: rgb(109, 109, 109,0.5) ;/*其中a代表透明度*/
  31. }
  32. </style>
  33. </head>
  34. <body>
  35. <div class="box">box</div>
  36. <div class="box2">box2</div>
  37. <div class="box3">box3</div>
  38. <div class="box4">box4</div>
  39. </body>
  40. </html>

image(背景图片)和repeat(重复性)

背景默认显示方式:垂水平直平铺

No-repeat:不重复

Repeat-x:水平平铺

Repeat-y:垂直重复

  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>Document</title>
  7. <style>
  8. div {
  9. /* 设定div大小 */
  10. width: 600px;
  11. height: 600px;
  12. /* 边框线方便演示 */
  13. border: 1px dashed black;
  14. float: left;
  15. margin: 0 20px;
  16. }
  17. .box {
  18. /* 图片地址可以为本地图片和网络地址 */
  19. /* 背景默认显示方式,水平垂直平铺 */
  20. background-image: url("1.jpeg");
  21. }
  22. .box2 {
  23. /* 不重复 */
  24. background-image: url("1.jpeg");
  25. background-repeat: no-repeat;
  26. }
  27. .box3 {
  28. /* 水平平铺 */
  29. background-image: url("1.jpeg");
  30. background-repeat: repeat-x;
  31. }
  32. .box4 {
  33. /* 垂直平铺 */
  34. background-image: url("1.jpeg");
  35. background-repeat: repeat-y;
  36. }
  37. </style>
  38. </head>
  39. <body>
  40. <div class="box">box</div>
  41. <div class="box2">box2</div>
  42. <div class="box3">box3</div>
  43. <div class="box4">box4</div>
  44. </body>
  45. </html>

sizing(大小)

属性值cover 宽和高较高值得比例缩放 会破坏图片的显示效果

属性值contain 宽和高较低值得比例缩放 不会破坏图片的显示效果

  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>Document</title>
  7. <style>
  8. div {
  9. /* 设定div大小 */
  10. width: 600px;
  11. height: 800px;
  12. /* 边框线方便演示 */
  13. border: 1px dashed black;
  14. float: left;
  15. margin: 0 20px;
  16. }
  17. .box1 {
  18. /* 导入图片 */
  19. background-image: url("1.jpeg");
  20. /* 设置不重复 */
  21. background-repeat: no-repeat;
  22. /* 属性值contain 宽和高较低值得比例缩放 不会破坏图片的显示效果*/
  23. background-size: contain;
  24. }
  25. .box2 {
  26. /* 导入图片 */
  27. background-image: url("1.jpeg");
  28. /* 设置不重复 */
  29. background-repeat: no-repeat;
  30. /* 属性值cover 宽和高较高值得比例缩放 会破坏图片的显示效果*/
  31. background-size: cover;
  32. }
  33. .box3 {
  34. /* 导入图片 */
  35. background-image: url("1.jpeg");
  36. /* 设置不重复 */
  37. background-repeat: no-repeat;
  38. /* 数值 */
  39. background-size: 200px 200px;
  40. }
  41. .box4 {
  42. /* 导入图片 */
  43. background-image: url("1.jpeg");
  44. /* 设置不重复 */
  45. background-repeat: no-repeat;
  46. /* 百分百 */
  47. background-size: 20% 20%;
  48. }
  49. </style>
  50. </head>
  51. <body>
  52. <div class="box1">box1</div>
  53. <div class="box2">box2</div>
  54. <div class="box3">box2</div>
  55. <div class="box4">box2</div>
  56. </body>
  57. </html>

position(定位)

数值定位是,属性值是有顺序的

属性值只有一个,第二个默认center

  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>Document</title>
  7. <style>
  8. div {
  9. width: 800px;
  10. height: 1000px;
  11. border: 1px dashed red;
  12. float: left;
  13. /* 导入图片 */
  14. background-image: url('1.jpeg');
  15. /* 防止重复 */
  16. background-repeat: no-repeat;
  17. }
  18. .box1{
  19. /* 数值定位,水平/垂直 有顺序 */
  20. background-position: 100px ;
  21. }
  22. .box2{
  23. /* 方位定位,无顺序要求 */
  24. background-position: center left;
  25. }
  26. .box3{
  27. /* 方位定位,无顺序要求 */
  28. background-position: 100% 20%;
  29. }
  30. /* 定位时,单个值,第二个值默认center */
  31. </style>
  32. </head>
  33. <body>
  34. <div class="box1"></div>
  35. <div class="box2"></div>
  36. <div class="box3"></div>
  37. </body>
  38. </html>

背景固定

使用fixed属性值时,图片脱离原有的位置,可以使用定位。

  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>Document</title>
  7. </head>
  8. <style>
  9. body > * {
  10. float: left;
  11. border: 1px dashed red;
  12. margin: 0 100px;
  13. }
  14. .box1,
  15. .box2 {
  16. width: 600px;
  17. height: 600px;
  18. overflow: scroll;
  19. }
  20. .box3,
  21. .box4 {
  22. width: 256px;
  23. height: 600%;
  24. background-repeat: no-repeat;
  25. background-image: url("1.jpeg");
  26. }
  27. .box3 {
  28. /* 固定背景 */
  29. background-attachment: fixed;
  30. /* 定位背景位置 */
  31. background-position: 120px 20px;
  32. }
  33. .box4 {
  34. /* 背景不固定默认值*/
  35. background-attachment: scroll;
  36. }
  37. </style>
  38. <body>
  39. <div class="box1">
  40. <div class="box3"></div>
  41. </div>
  42. <div class="box2">
  43. <div class="box4"></div>
  44. </div>
  45. </body>
  46. </html>

简写属性

background:颜色 图片 重复 固定 定位;

同时拥有颜色和图片时, 图片会覆盖颜色

  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>Document</title>
  7. </head>
  8. <style>
  9. div {
  10. width: 500px;
  11. height: 500px;
  12. border: 1px dashed red;
  13. /* 属性简写 */
  14. background: #ccc url("1.jpeg") no-repeat scroll 100px 20px;
  15. }
  16. </style>
  17. <body>
  18. <div></div>
  19. </body>
  20. </html>

精灵图

什么是精灵图:

css精灵(CSS sprites),是一种网页图片应用处理技术。主要是指将网页中需要的零星的小图片集成到一个大的图片中

应用的原因:

  1. 减少对浏览器的请求次数,避免网页的延迟
  2. 方便小图标的统一管理

精灵图的使用: css精灵图需要配合背景的图片和背景定位

  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>Document</title>
  7. <style>
  8. .box {
  9. width: 960px;
  10. height: 500px;
  11. border: 1px solid black;
  12. clear: both;
  13. }
  14. .box > *:not(img) {
  15. width: 100px;
  16. height: 100px;
  17. border: 1px dashed red;
  18. float: left;
  19. }
  20. .box1 {
  21. /* 导入图片 */
  22. background-image: url("1.png");
  23. /* 定位背景获取精灵图上需要的部分图片 */
  24. background-position: 0px -30px;
  25. }
  26. .box2 {
  27. /* 导入图片 */
  28. background-image: url("1.png");
  29. /* 定位背景获取精灵图上需要的部分图片 */
  30. background-position: 100px -30px;
  31. }
  32. .box3 {
  33. /* 导入图片 */
  34. background-image: url("1.png");
  35. /* 定位背景获取精灵图上需要的部分图片 */
  36. background-position: -90px -120px;
  37. }
  38. .box4 {
  39. /* 导入图片 */
  40. background-image: url("1.png");
  41. /* 定位背景获取精灵图上需要的部分图片 */
  42. background-position: -275px -210px;
  43. }
  44. .box5 {
  45. /* 导入图片 */
  46. background-image: url("1.png");
  47. /* 定位背景获取精灵图上需要的部分图片 */
  48. background-position: 0px -30px;
  49. }
  50. </style>
  51. </head>
  52. <body>
  53. <div class="box">
  54. <div class="box1"></div>
  55. <div class="box2"></div>
  56. <div class="box3"></div>
  57. <div class="box4"></div>
  58. <div class="box5"></div>
  59. <img src="1.png" alt="" />
  60. </div>
  61. </body>
  62. </html>

字体图标

众所周知,单位字体的文件大小小于图片的大小,考虑精灵图处理的是一张张图片,有人就有了一个奇思妙想—把图片转换成字体(实际上字体本来就是那么设计下来的。)

转换成字体后,可以使用特殊的代码来显示出指定的图片。

字体图标比精灵图有一个非常明显的好处,因为他是字体,所以它能够改变字体颜色,能改变字体大小(并且不会失真)。

例子:

仅演示字体图标的使用

1.获取字体图标

iconfont(下面演示使用)

Font Awesome

IconMonstr

IconShock·····

​ 多图演示获取步骤:


将下载的压缩包解压获取文件夹,并将压缩包下的所有文件移动到项目(也可将文件夹拖至项目,保证项目的目录层次)

  1. 字体引用

    第一步:引入项目下面生成的 fontclass 代码:

  1. <link rel="stylesheet" href="./iconfont.css">

第二步:挑选相应图标并获取类名,应用于页面:

  1. <span class="iconfont icon-xxx"></span>

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