精灵图
为什么需要精灵图
一个网页中往往会应用很多小的背景图片作为修饰,当网页中的图像过多时,服务器就会频繁地去接收和发送请求图片,造成服务器请求压力过大,这将大大降低页面的加载速度
目的 : 所以,为了有效地减少服务器接收和发送请求的次数,提高页面的加载速度,出现了css精灵技术 (也叫 css雪碧 , css sprites)
使用
精灵图的核心是 : 精灵图主要针对背景图片使用,就是把多个小背景图片整合到一张大图片中 。
就是说 : 精灵图是一个大图片,那么我们可以移动背景图片的位置,然后就可以选中所要使用的精灵图了
移动的距离就是 这个目标图片的x轴和y轴 ,往左,往上都是负值
使用字体图标 iconfont
字体图标的产生和优点
本质 : 字体 font- ; 可以更改颜色,大小等
主要用于 显示网页中通用常用的一些小图标
优点 :
-
轻量级 : 一个图标字体要比一系列的图像要小, 一旦字体加载了,那么图标就会马上渲染出来,减少了服务器的请求
-
灵活性 : 本质其实是文字,可以很随意的改变颜色,产生阴影,透明效果,旋转等
-
兼容性 : 几乎支持所有的浏览器,可以放心使用
注意 : 字体图标不能替代精灵技术,只是对工作中图标部分技术的提升和优化
所以 : 若碰到样式和结构都简单的图标就用字体图标;若遇到结构和样式复杂一点的图片 就使用精灵图
使用字体图标
网站 : iconfont-阿里巴巴矢量图标库 免费 !!!
- 添加入库使用 可以选择 添加入库
点击添加至项目 ,你可以 自己创建库,或者是放到之前创建的库中
CSS三角
使用 css 直接画出 三角形
给div 分别设置边框的颜色
所以 画出三角形 就可以把其余三个变成透明即可
给 border 都设置为透明,10px 然后设置朝下指的颜色为pink
若想让三角形变大,那么设置border的px即可
根据一开始的图就可以看出,朝右指
CSS用户界面样式
界面样式 :就是更改一些用户操作样式,以便更好提高用户体验
更改用户的鼠标样式 cursor
语法 : li {cursor : 属性}
属性有 :
default : 小白箭头 默认
pointer : 小手
move : 移动
text : 文本
not-allowed : 禁止
default 小白箭头
pointer 小手
move 移动的图标
text 文本
not-allowed 禁止的图标
表单轮廓 outline
取消表单的轮廓线 可以 使用 outline
outline : 0
或者
outline : none
点击之后,就无蓝色的轮廓线了
防止表单域拖拽 resize
在没有设置表单域时,表单域是可以进行拖拽的
用这个 可以进行拖拽大小,但我们不想让他进行拖拽 就使用 resize
vertical-align 属性应用
使用场景 : 经常用来设置图片和表单(行内块元素)和文字垂直对齐
它用于设置一个元素的垂直对齐方式,只针对行内元素或者行内块元素有效
语法 :
vertical-align : baseline | top | middle | bottom
属性 :
baseline : 默认,元素放置在父元素的基线上
top :把元素的顶端与行中最高元素的顶端对齐
middle :把此元素放置在父元素的中部
bottom :把元素的顶端与行中最低元素的顶端对齐
baseline 默认放到基线上
top 放到 顶端
middle 放到中线
bottom 放到底线
解决图片底侧空白缝隙
可以看出 底部是有缝隙的 ,是因为 默认 baseline 是基线对齐的,所以我们如果想要解决的话
- 设置 vertical-align : top | middle | bottom 即可
- 给 img 设置为 display : block 因为 vertical-align 只对行内和行内块元素有效
溢出的文字省略号显示
单行文本溢出 显示省略号
满足文本溢出显示省略号的三个条件有 :
1、让文字在一行内显示 white-space : nowrap (不换行) | normal (换行 默认)
2、让 溢出的部分隐藏 overflow :hidden
3、让文字溢出的时候用省略号显示 text-overflow :ellipsis(省略号)
多行文本溢出 显示省略号 (了解)
有较大兼容性 ,适合于 webKit浏览器或者移动端 (移动端大部分是 webKit内核)
布局技巧
margin负值的运用
让每个盒子 margin 往左侧移动 -1px 正好压住相邻盒子边框
设置 鼠标经过某个盒子时,让当前盒子边框颜色改变
- 加相对定位 因为相对定位会保留位置
- 若有定位 ,则加z-index 给层级即可
文字围绕浮动元素
给 图片的div 添加 float:left
因为 给设置 float:left 那么不会压住标准流的内容,而且文字会围绕着浮动来显示的
行内块的巧妙运用
行内块元素的特点 : 在一行上面显示,可以设置宽度高度,若给父盒子设置 text-align:center 那么就可以给一行里面的所有行内块元素都会实现 center 对齐的
css三角强化
css 初始化
因为 不同的浏览器对有些标签的默认值是不同的,所以为了消除不同浏览器对HTML文本呈现的差异,照顾浏览器的兼容,我们需要对css初始化
也就是说 ,对css重新设置
把所有的内外边距清零
* {
margin : 0 ;
padding : 0;
}