精灵图
一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接收和发送请求图片,造成服务器请求压力过大,这将大大降低页面的加载速度
为了有效地减少服务器接收和发送请求的次数,提高页面的加载速度,出现了CSS 精灵技术(也称 CSS Sprites、CSS 雪碧)
核心原理:将网页中的一些小背景图像整合到一张大图中 ,这样服务器只需要一次请求就可以了
使用精灵图核心:
精灵技术主要针对于背景图片使用。就是把多个小背景图片整合到一张大图片中
这个大图片也称为 sprites 精灵图 或者 雪碧图
移动背景图片位置, 此时可以使用 background-position
移动的距离就是这个目标图片的 x 和 y 坐标。注意网页中的坐标有所不同因为一般情况下都是往上往左移动,所以数值是负值
使用精灵图的时候需要精确测量,每个小背景图片的大小和位置
使用精灵图核心总结:
精灵图主要针对于小的背景图片使用。
主要借助于背景位置来实现---background-position。
一般情况下精灵图都是负值。(千万注意网页中的坐标: x轴右边走是正值,左边走是负值, y轴同理。)
字体图标iconfont
轻量级:一个图标字体要比一系列的图像要小。一旦字体加载了,图标就会马上渲染出来,减少了服务器请求
灵活性:本质其实是文字,可以很随意的改变颜色、产生阴影、透明效果、旋转等
兼容性:几乎支持所有的浏览器,请放心使用
注意: 字体图标不能替代精灵技术,只是对工作中图标部分技术的提升和优化。
字体图标的引入和追加(阿里妈妈)
在对应的图标下载官网有代码说明,通过创建自己的项目可以追加
CSS三角
网页中常见一些三角形,使用 CSS 直接画出来就可以,不必做成图片或者字体图标
div {width: 0; height: 0;border: 50px solid transparent;border-color: red green blue black;line-height:0;font-size: 0;}
我们用css 边框可以模拟三角效果
宽度高度为0
我们4个边框都要写, 只保留需要的边框颜色,其余的不能省略,都改为 transparent 透明就好了
为了照顾兼容性 低版本的浏览器,加上 font-size: 0; line-height: 0;
CSS用户界面样式
什么是界面样式
所谓的界面样式,就是更改一些用户操作样式,以便提高更好的用户体验。
更改用户的鼠标样式
表单轮廓
防止表单域拖拽
鼠标样式cursor
设置或检索在对象上移动的鼠标指针采用何种系统预定义的光标形状
li {cursor: pointer; }
轮廓线
给表单添加 outline: 0; 或者 outline: none; 样式之后,就可以去掉默认的蓝色边框
input {outline: none; }
防止拖拽文本域
实际开发中,我们文本域右下角是不可以拖拽的
textarea{ resize: none;}
vertical-align 属性应用
用于设置一个元素的垂直对齐方式,但是它只针对于行内元素或者行内块元素有效
vertical-align : baseline | top | middle | bottom
解决图片底部默认空白缝隙问题
bug:图片底侧会有一个空白缝隙,原因是行内块元素会和文字的基线对齐。
主要解决方法有两种:
给图片添加vertical-align:middle | top| bottom等。 (提倡使用的)
把图片转换为块级元素display: block;(可以外套一个大盒子为display: inline-block;)
精灵图 字体图标iconfont CSS三角 CSS用户界面样式(什么是界面样式 鼠标样式cursor 轮廓线 防止拖拽文本域) vertical-align 属性应用 解决图片底部默认空白缝隙问题