系统学习CSS-精灵图、字体图标

精灵图

原理:
将网页中的一些小背景图像整合到一张大图中 ,这样浏览器只需要一次请求。
作用:
有效地减少服务器接收和发送请求的次数,提高页面的加载速度。
精灵图(sprites)的使用:
精灵技术主要针对于背景图片使用,把多个小背景图片整合到一张大图片中,这个大图片也称为 sprites 精灵图 或者 雪碧图,借助于背景位置来实现—background-position,移动的距离就是这个目标图片的 x 和 y 坐标。
注意
1.在精灵图里面 X Y 坐标值 一定是负的。0除外。因为一般情况下都是往上往左移动,所以数值是负值
2.使用精灵图的时候需要精确测量,每个小背景图片的大小和位置,可以给一个 大概的位置,然后通过 控制台去调试。
缺点:
1.图片文件比较大
2.图片本身放大和缩小会失真
3.一旦图片制作完毕想要更换非常复杂

字体图标

作用:
主要用于显示网页中通用、常用的一些小图标。展示的是图标,本质属于字体
优点:
1.轻量级:一个图标字体要比一系列的图像要小。一旦字体加载了,图标就会马上渲染出来,减少了服务器请求
2.灵活性:本质其实是文字,可以很随意的改变颜色、产生阴影、透明效果、旋转等
3.兼容性:几乎支持所有的浏览器,请放心使用

字体图标与精灵图的区别应用:
1.如果遇到一些结构和样式比较简单的小图标,就用字体图标
2.如果遇到一些结构和样式复杂一点的小图片,就用精灵图
使用步骤
1.从网络是下载需要的字体图标,阿里 iconfont 字库 国外的:http://www.iconfont.cn/都是免费的
2.把下载包里面的 fonts 文件夹放入页面根目录下
3.字体图标的引入:在 CSS 样式中全局声明字体,把这些字体文件通过css引入到我们页面中
注:注意字体文件路径的问题

/* 字体声明 */
@font-face {
    font-family: 'icomoon';
    src: url('fonts/icomoon.eot?1lv3na');
    src: url('fonts/icomoon.eot?1lv3na#iefix') format('embedded-opentype'),
        url('fonts/icomoon.ttf?1lv3na') format('truetype'),
        url('fonts/icomoon.woff?1lv3na') format('woff'),
        url('fonts/icomoon.svg?1lv3na#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

4.在html 标签内添加小图标,一个方框,方框在demo.html中对应复制
注:方框长得一样,但是内容不一样,就像二维码。

<span>  </span>

5.给标签定义字体

span {
    /* 从字体声明里面把第一行复制过来 */
    font-family: 'icomoon';
    font-size: 100px;
    color: chocolate;
    background-color: rgb(199, 116, 116, .2);
}

常见布局技巧

margin负值运用
应用场景:让每个盒子margin 往左侧移动 -1px, 正好压住相邻盒子边框,使得两个边框叠着,而不是挨着,叠着时边框不会加粗。
解决鼠标经过边框不显示问题:
鼠标经过某个盒子的时候,提高当前盒子的层级即可(如果没有有定位,则加相对定位(保留位置),如果有定位,则加z-index)
文字围绕浮动元素
运用浮动元素不会压住文字的特性
行内块巧妙运用
1.把这些链接盒子转换为行内块, 之后给父级指定 text-align:center;
2.利用行内块元素中间有缝隙,并且给父级添加 text-align:center; 行内块元素会水平会居中
CSS 三角强化

width: 0;
height: 0;
border-color: transparent red transparent transparent;
border-style: solid;
border-width: 22px 8px 0 0;
border: 0 solid transparent;
border-right: 50px solid skyblue;
border-top-width: 100px;

CSS 初始化
指重设浏览器的样式
不同浏览器对有些标签的默认值是不同的,为了消除不同浏览器对HTML文本呈现的差异,照顾浏览器的兼容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值