HTML+CSS3(九)——CSS高级技巧

目录:

HTML+CSS3(一)——认识浏览器

HTML+CSS3(二)——HTML 初识

HTML+CSS3(三)——HTML基本标签

HTML+CSS3(四)——表单pattern正则属性

HTML+CSS3(五)——CSS基础

HTML+CSS3(六)——行内元素和块级元素

HTML+CSS3(七)——display属性(前面文章已讲过,这里转载一篇)

HTML+CSS3(八)——CSS权重

HTML+CSS3(九)——CSS高级技巧

HTML+CSS3(十)——CSS3新特性之过渡

HTML+CSS3(十)——CSS3新特性之2D变形和3D变形

HTML+CSS3(十)——CSS3新特性之动画

HTML+CSS3(十 一)—案例

HTML+CSS3(十二)——CSS常见问题


CSS用户界面样式

所谓的界面样式, 就是更改一些用户操作样式, 比如 更改用户的鼠标样式, 表单轮廓等。但是比如滚动条的样式改动受到了很多浏览器的抵制,因此我们就放弃了。 防止表单域拖拽

鼠标样式cursor

设置或检索在对象上移动的鼠标指针采用何种系统预定义的光标形状。

cursor :  default  小白 | pointer  小手  | move  移动  |  text  文本
  • 我是小白
  • 我是小手
  • 我是移动
  • 我是文本

尽量不要用hand 因为 火狐不支持 pointer ie6以上都支持的尽量用

轮廓 outline

是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。

 outline : outline-color ||outline-style || outline-width 

但是我们都不关心可以设置多少,我们平时都是去掉的。

最直接的写法是 : outline: 0; 或者 outline: none;

防止拖拽文本域resize

resize:none 这个单词可以防止 火狐 谷歌等浏览器随意的拖动 文本域。

去除图片底侧空白缝隙

有个很重要特性你要记住: 图片或者表单等行内块元素,他的底线会和父级盒子的基线对齐。这样会造成一个问题,就是图片底侧会有一个空白缝隙。

解决的方法就是:

  1. 给img vertical-align:middle | top等等。 让图片不要和基线对齐。

  2. 给img 添加 display:block; 转换为块级元素就不会存在问题了。

精灵技术产生的背景

HTML+CSS3(九)——CSS高级技巧_第1张图片

图所示为网页的请求原理图,当用户访问一个网站时,需要向服务器发送请求,网页上的每张图像都要经过一次请求才能展现给用户。

然而,一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接受和发送请求,这将大大降低页面的加载速度。为了有效地减少服务器接受和发送请求的次数,提高页面的加载速度,出现了CSS精灵技术(也称CSS Sprites、CSS雪碧)。

精灵技术本质

简单地说,CSS精灵是一种处理网页背景图像的方式。它将一个页面涉及到的所有零星背景图像都集中到一张大图中去,然后将大图应用于网页,这样,当用户访问该页面时,只需向服务发送一次请求,网页中的背景图像即可全部展示出来。通常情况下,这个由很多小的背景图像合成的大图被称为精灵图(雪碧图),如下图所示为京东网站中的一个精灵图。

HTML+CSS3(九)——CSS高级技巧_第2张图片

精灵技术的使用

CSS 精灵其实是将网页中的一些背景图像整合到一张大图中(精灵图),然而,各个网页元素通常只需要精灵图中不同位置的某个小图,要想精确定位到精灵图中的某个小图,就需要使用CSS的background-image、background-repeat和background-position属性进行背景定位,其中最关键的是使用background-position属性精确地定位。

制作精灵图

CSS 精灵其实是将网页中的一些背景图像整合到一张大图中(精灵图),那我们要做的,就是把小图拼合成一张大图。

大部分情况下,精灵图都是网页美工做。

我们精灵图上放的都是小的装饰性质的背景图片。 插入图片不能往上放,像产品图都不能放在精灵图上。
我们精灵图的宽度取决于最宽的那个背景。 
我们可以横向摆放也可以纵向摆放,但是每个图片之间,间隔至少隔开偶数像素合适。
在我们精灵图的最低端,留一片空隙,方便我们以后添加其他精灵图。

结束语: 小公司,背景图片很少的情况,没有必要使用精灵技术,维护成本太高。 如果是背景图片比较多,可以建议使用精灵技术

字体图标

图片是有诸多优点的,但是缺点很明显,比如图片不但增加了总文件的大小,还增加了很多额外的"http请求",这都会大大降低网页的性能的。更重要的是图片不能很好的进行“缩放”,因为图片放大和缩小会失真。 我们后面会学习移动端响应式,很多情况下希望我们的图标是可以缩放的。此时,一个非常重要的技术出现了,额不是出现了,是以前就有,是被从新"宠幸"啦。。 这就是字体图标(iconfont).

字体图标优点

可以做出跟图片一样可以做的事情,改变透明度、旋转度,等..
但是本质其实是文字,可以很随意的改变颜色、产生阴影、透明效果等等...
本身体积更小,但携带的信息并没有削减。
几乎支持所有的浏览器
移动端设备必备良药...

本人使用的是阿里的字体图标库:https://www.iconfont.cn/home/index?spm=a313x.7781069.1998910419.2

HTML+CSS3(九)——CSS高级技巧_第3张图片

字体引入到HTML(有在线引用和本地两种,使用方式按官方网站的使用说明)

HTML+CSS3(九)——CSS高级技巧_第4张图片

 

下载对应的字体库(demo.html中的案例代码直接复制粘贴)

HTML+CSS3(九)——CSS高级技巧_第5张图片

使用代码: 



    
        
	
	
    
    
		这一分钟,你和我在一起,因为你,我会记得那一分钟。从现在开始,我们就是一分钟的朋友。这是事实,你改变不了,因为已经完成了。
		

这一分钟,你和我在一起,因为你,我会记得那一分钟。从现在开始,我们就是一分钟的朋友。这是事实,你改变不了,因为已经完成了。

 效果:

引用字体图标库参考文档:https://www.iconfont.cn/help/detail?spm=a313x.7781069.1998910419.d8d11a391&helptype=code 

unicode引用,font-class引用,symbol引用三种方式,其他方式是Android和iOS引用方式

1.新建一个自己的字体图标库项目,然后在别人的图标库中将喜欢的字体图标加入到购物车

HTML+CSS3(九)——CSS高级技巧_第6张图片

 2.然后点击添加到项目

HTML+CSS3(九)——CSS高级技巧_第7张图片

3.然后生成在线链接

//at.alicdn.com/t/font_1598144_sgcrptb72in.js

或者下载至本地

HTML+CSS3(九)——CSS高级技巧_第8张图片

4.使用在线的参考上面的文档,下载到本地如下图(demo_index.html中的代码直接复制粘贴)

HTML+CSS3(九)——CSS高级技巧_第9张图片



    
        
	
	
	


	

 效果:

追加新图标到原来的字体图标库里面

如果工作中,原来的字体图标不够用了,我们需要添加新的字体图标,但是原来的不能删除,继续使用,此时我们需要这样做

把压缩包里面的selection.json 从新上传,然后,选中自己想要新的图标,从新下载压缩包,替换原来文件即可。

HTML+CSS3(九)——CSS高级技巧_第10张图片

新加字体图标效果: 

HTML+CSS3(九)——CSS高级技巧_第11张图片

你可能感兴趣的:(Web前端-html+css3,鼠标样式,边框线,精灵图,精灵技术,字体图标)