CSS高级知识点
一、精灵图
使用精灵图核心总结:
1. 精灵图主要针对于小的背景图片使用。
2. 主要借助于背景位置来实现---
background-position 。
3. 一般情况下精灵图都是负值。(千万注意网页中的坐标: x轴右边走是正值,左边走是负值, y轴同理。)
二、字体图标
字体图标的优点
轻量级:一个图标字体要比一系列的图像要小。一旦字体加载了,图标就会马上渲染出来,减少了服务器请求
灵活性:本质其实是文字,可以很随意的改变颜色、产生阴影、透明效果、旋转等
兼容性:几乎支持所有的浏览器,请放心使用
注意: 字体图标不能替代精灵技术,只是对工作中图标部分技术的提升和优化。
总结:
1. 如果遇到一些结构和样式比较简单的小图标,就用字体图标。
2. 如果遇到一些结构和样式复杂一点的小图片,就用精灵图。
字体图标是一些网页常见的小图标,我们直接网上下载即可。 因此使用可以分为:
1. 字体图标的下载
2. 字体图标的引入 (引入到我们html页面中)
3. 字体图标的追加 (以后添加新的小图标)
三、字体图标的下载
推荐下载网站:
icomoon 字库
http://icomoon.io
推荐指数
★★★★★
IcoMoon 成立于 2011 年,推出了第一个自定义图标字体生成器,它允许用户选择所需要的图标,使它们成
一字型。该字库内容种类繁多,非常全面,唯一的遗憾是国外服务器,打开网速较慢。
阿里 iconfont 字库
http://www.iconfont.cn/ 推荐指数
★★★★★
这个是阿里妈妈 M2UX 的一个 iconfont 字体图标字库,包含了淘宝图标库和阿里妈妈图标库。可以使用 AI
制作图标上传生成。 重点是,免费!
四、CSS 三角
网页中常见一些三角形,使用 CSS 直接画出来就可以,不必做成图片或者字体图标。
一张图, 你就知道 CSS 三角是怎么来的了, 做法如下:
div {
width: 0;
height: 0;
line-height: 0;
font-size: 0;
border: 50px solid transparent;
border-left-color: pink;
}
五、CSS 用户界面样式
1、鼠标样式 cursor
li {cursor: pointer; }
设置或检索在对象上移动的鼠标指针采用何种系统预定义的光标形状。
![](https://img-blog.csdnimg.cn/direct/668eda8c11a14178b5d3d64f60ae801c.png)
2、轮廓线 outline
给表单添加 outline: 0; 或者 outline: none; 样式之后,就可以去掉默认的蓝色边框。
input {outline: none; }
3、防止拖拽文本域 resize
实际开发中,我们文本域右下角是不可以拖拽的。
textarea{ resize: none;}
4. vertical-align 属性应用
CSS 的
vertical-align
属性使用场景:
经常用于设置图片或者表单(行内块元素)和文字垂直对齐。
官方解释: 用于设置一个元素的
垂直对齐方式
,但是它只针对于行内元素或者行内块元素有效。
语法:
1-vertical-align : baseline | top | middle | bottom
![](https://img-blog.csdnimg.cn/direct/edbefa278cc147de8f8d69e2ebe81992.png)
2-vertical-align : baseline | top | middle | bottom
![](https://img-blog.csdnimg.cn/direct/9cbcfebde9fd4738852bddbefa0de401.png)
1、图片、表单和文字对齐
图片、表单都属于行内块元素,默认的 vertical-align 是基线对齐。
![](https://img-blog.csdnimg.cn/direct/93a74c6567ac47758192a23790bf82fc.png)
此时可以给图片、表单这些行内块元素的
vertical-align
属性设置为
middle
就可以让文字和图片垂直 居中对齐了。
2、解决图片底部默认空白缝隙问题
bug:图片底侧会有一个空白缝隙,原因是行内块元素会和文字的基线对齐。
主要解决方法有两种:
1. 给图片添加
vertical-align:middle | top| bottom
等。 (提倡使用的)
2. 把图片转换为块级元素
display: block;
5、溢出的文字省略号显示
1. 单行文本溢出显示省略号--必须满足三个条件
/*1.
先强制一行内显示文本
*/
white-space: nowrap;
( 默认
normal
自动换行)
/*2.
超出的部分隐藏
*/
overflow: hidden;
/*3.
文字用省略号替代超出的部分
*/
text-overflow: ellipsis;
2. 多行文本溢出显示省略号
多行文本溢出显示省略号,有较大兼容性问题, 适合于webKit浏览器或移动端(移动端大部分是webkit内核)
overflow: hidden;
text-overflow: ellipsis;
/*
弹性伸缩盒子模型显示
*/
display: -webkit-box;
/*
限制在一个块元素显示的文本的行数
*/
-webkit-line-clamp: 2;
/*
设置或检索伸缩盒对象的子元素的排列方式
*/
-webkit-box-orient: vertical;
更推荐让后台人员来做这个效果,因为后台人员可以设置显示多少个字,操作更简单。
六、常见布局技巧
巧妙利用一个技术更快更好的布局:
1.margin
负值的运用
2.
文字围绕浮动元素
3.
行内块的巧妙运用
4.CSS
三角强化