CSS样式补充(精灵图、背景图片大小,盒子阴影、过渡)
一、精灵图
场景:项目中将多张小图片合并成一张大图片,这张大图则称之为精灵图
优点:减少服务器发送次数,减轻服务器的压力,提高页面加载速度
如图:
使用步骤:
- 创建一个盒子
- 设置盒子大小为图片大小
- 设置精灵图为盒子的背景图
- 将小图片移动到背景中,设置:background-position:xy 取负值;
举个栗子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
span {
display: inline-block;
width: 18px;
height: 24px;
background-color: pink;
background-image: url(./images/taobao.png);
background-position: -3px 0;
}
b {
display: block;
width: 25px;
height: 21px;
background-color: green;
background-image: url(./images/taobao.png);
background-position: 0 -90px;
}
</style>
</head>
<body>
<span></span>
<b></b>
</body>
</html>
二、背景图大小
语法:background-size:宽度 高度;
取值:
取值 | 场景 |
---|
数字+px | 简单方便,常用 | 百分比 | 相对于当前盒子自身的宽高百分比 | contain | 包含,将背景图等比例缩放,直到不会超出盒子的最大 | cover | 覆盖,将背景图片等比例缩放,直到刚好填满整个盒子没有空白 |
举个栗子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
width: 400px;
height:300px;
background-color: pink;
background-image: url(./images/1.jpg);
background-repeat: no-repeat;
background-size: contain;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
三、盒子阴影:
属性:box-shadow
参数:
四、过渡
作用:让元素的样式慢慢的变化,常配合hover使用,增强网页交互体验
属性:transition
常见参数:
注意点:
- 过渡背景:默认状态和hover状态样式不同,才能有过渡效果。
- transition属性给需要过渡的元素本身加
- transition属性设置在不同状态中,效果不同
(1).给默认状态设置,鼠标移入移出都有过渡效果。 (2).给hover状态设置,鼠标移入有过渡效果,移出没有过度效果。
举个栗子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
width: 200px;
height: 200px;
background-color: pink;
transition: all 1s;
}
.box:hover {
width: 600px;
background-color: red;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
|