先来了解下背景属性background
取值:
background-image:
指定元素使用的背景图像。可以是图片路径或使用渐变创建的“背景图像”
background-position:
指定背景图像在元素中出现的位置。
background-size:
指定背景图像尺寸。
background-repeat:
指定背景图像如何填充。
background-attachment:
定义滚动时背景图像相对于谁固定。
background-origin:
指定背景图像从元素的哪个区域作为显示的原点。
background-clip:
指定背景图像向外裁剪的区域。
background-color:
指定背景颜色。
background-position:
取值:
用百分比指定背景图像在元素中出现的位置。可以为负值。参考容器尺寸减去背景图尺寸进行换算。
用长度值指定背景图像在元素中出现的位置。可以为负值。
center:
背景图像横向或纵向居中。
left:
背景图像从元素左边开始出现。
right:
背景图像从元素右边开始出现。
top:
背景图像从元素顶部开始出现。
bottom:
背景图像从元素底部开始出现。
指定背景图像在元素中出现的位置。
- 该属性接受1~4个参数值。
如果提供三或四个,每个
或 偏移量之前都必须跟着一个边界关键字(即left | right | top | bottom,不包括center),偏移量相对关键字位置进行偏移。示例:假设要定义背景图像在容器中右下方,并且距离右边和底部各有20px background: url(test1.jpg) no-repeat right 20px bottom 20px;
要注意的是:设置3个或4个值,偏移量前必须有边界关键字。也就是说,形如:10px bottom 20px,这样的参数设置是错误的,因为10px前面没有关键字。
如果提供两个,第一个用于横坐标,第二个用于纵坐标。
- 如果只提供一个,该值将用于横坐标;纵坐标将默认为50%(即center)。
精灵图使用(代码)
比如说,我只想要这个草
量出大小为 167 x 113 (可以使用截图工具或者PS,我这里使用的是WPS的裁剪工具)
这棵草与整个图片左边界的距离是 802-167 = 635px,距离上边界是190 - 113 = 77px
所以我们需要一个167 x 113 的盒子,并且要将图片向左偏移 635px,向上偏移 77px
<div class="cao"></div>
<style>
.cao {
width: 167px;
height: 113px;
background-image: url('./blob_https___webstatic.png');
background-position: -635px -77px;
}
</style>
效果:
其实可以看到图中还有一些像是被旋转过的图片,之后我们学的属性中就有一个旋转样式的属性(transition),搭配上旋转就可以使用更多的精灵图了。这是CSS进阶的内容,我们先做一点了解。
transform
http://css.doyoe.com/properties/transform/transform.htm
取值:
2D Transform Functions:
matrix():
以一个含六值的(a,b,c,d,e,f)变换矩阵的形式指定一个2D变换,相当于直接应用一个[a,b,c,d,e,f]变换矩阵
translate():
指定对象的2D translation(2D平移)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认值为0
translatex():
指定对象X轴(水平方向)的平移
translatey():
指定对象Y轴(垂直方向)的平移
rotate() (常用的旋转函数):
指定对象的2D rotation(2D旋转),需先有 <’ transform-origin ‘> 属性的定义
scale():
指定对象的2D scale(2D缩放)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认取第一个参数的值
scalex():
指定对象X轴的(水平方向)缩放
scaley():
指定对象Y轴的(垂直方向)缩放
skew():
指定对象skew transformation(斜切扭曲)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认值为0
skewx():
指定对象X轴的(水平方向)扭曲
skewy():
指定对象Y轴的(垂直方向)扭曲
3D Transform Functions:
matrix3d():
以一个4x4矩阵的形式指定一个3D变换
translate3d():
指定对象的3D位移。第1个参数对应X轴,第2个参数对应Y轴,第3个参数对应Z轴,参数不允许省略
translatez():
指定对象Z轴的平移
rotate3d():
指定对象的3D旋转角度,其中前3个参数分别表示旋转的方向x,y,z,第4个参数表示旋转的角度,参数不允许省略
rotatex() :
指定对象在x轴上的旋转角度
rotatey():
指定对象在y轴上的旋转角度
rotatez():
指定对象在z轴上的旋转角度
scale3d():
指定对象的3D缩放。第1个参数对应X轴,第2个参数对应Y轴,第3个参数对应Z轴,参数不允许省略
scalez():
指定对象的z轴缩放
perspective():
指定透视距离