背景&背景练习&雪碧图使用
背景一
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style type="text/css">
.box1 {
width: 1000px;
height: 1000px;
/* 居中设置 */
margin: 0 auto;
/* 设置背景样式 */
background-color: #bbffaa;
/*
使用background-image来设置背景图片
语法:background-image:url(相对路径);
如果背景图片大于元素,默认会显示图片的左上角
如果背景图片和元素一样大,则会将背景图片全部显示
如果背景图片小于元素大小,则会默认将背景图片平铺以充满元素
可以同时为一个元素指定背景颜色和背景图片,
这样背景颜色将作为背景图片的底色
一般情况下设置背景图片时会同时指定一个背景颜色
*/
background-image: url(01.jpg);
/*
background-repeat 用于设置背景颜色的重复方式
可选值:
repeat 默认值,背景图片会双方向重复(平铺)
no-repeat 背景图片不会重复,有多大就显示多大
repeat-x 背景图片沿水平方向重复
repeat-y 背景图片沿垂直方向重复
*/
background-repeat: no-repeat;
}
</style>
</head>
<body>
<div class="box1"></div>
</body>
</html>
练习一
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style type="text/css">
.box1 {
width: 990px;
height: 32px;
background-color: #bbffaa;
/* 设置居中 */
margin: 50px auto;
/* 设置为背景图片 */
background-image: url(1.png);
/* 设置水平方向重复 */
background-repeat: repeat-x;
}
</style>
</head>
<body>
<div class="box1"></div>
</body>
</html>
背景二
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style type="text/css">
.box1 {
width: 500px;
height: 500px;
margin: 0 auto;
/* 设置一个背景颜色 */
background-color: #bbffaa;
/* 设置一张背景图片 */
background-image: url(01.jpg);
/* 设置图片不重复出现 */
background-repeat: no-repeat;
/* 背景图片默认在左上角显示
通过background-position可以调整背景图片在元素中的位置
可选值:
该属性可以使用top right left bottom中的两个值
来指定一个背景图片的位置
top left 左上
bottom right 右下
如果只给出一个值,则第二个值默认是center
background-position: center;
也可以直接指定两个偏移量,
第一个值是水平偏移量
如果指定的是一个正值,则图片会向右移动指定的像素
如果指定的是一个负值,这图片会向左移动指定的像素
第二个是垂直偏移量
如果指定的是一个正值,则图片会向下移动指定的像素
如果指定的是一个负值,这图片会向上移动指定的像素
*/
background-position: -80px -40px;
}
body {
background-image: url(01.jpg);
background-repeat: no-repeat;
/*
background-attachment 用来设置背景图片是否随页面一起滚动
可选值:
scroll 默认值,背景图片随着窗口一起滚动
fixed 背景图片会固定在某一位置,不会随着页面滚动而滚动
*/
background-attachment: fixed;
}
</style>
</head>
<body style="height: 5000px;">
<div class="box1"></div>
</body>
</html>
练习二&雪碧图使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style type="text/css">
.btn:link {
/* 将文档流元素转换为块元素 */
display: block;
width: 150px;
height: 150px;
/* 设置背景图片 */
/* background-image: url(1.jpg); */
/* 设置背景图片不重复 */
/* background-repeat: no-repeat; */
/* ---------------------- */
/*
以上设置样式过于麻烦,一下是简写属性书写方法
background
通过属性可以同时设置所有的背景相关的样式
没有顺序要求,没有数量要求
*/
background: url(1.jpg) no-repeat;
}
/*
background-position 来切换要显示的图片的位置,
这种技术叫做图片整合技术有名雪碧图(CSS-Sprite)
优点:
1. 将多个图片整合为一张图片,浏览器只需要发送一次请求
可以同时加载多张图片,为提高访问效率,提高了用户效率
2. 将多个图片整合为一张图片,减少了图片的总大小,提高请求速度,
增加了用户体验
*/
.btn:hover {
/* 当是hover 状态时,希望图片向左移动*/
background-position: -90px 0px;
}
.btn:active {
/* 当是hover 状态时,希望图片向下移动*/
background-position: -190px -10px;
}
</style>
</head>
<body>
<!-- 创建一个超链接 -->
<a class="btn" href="#"></a>
</body>
</html>