背景图片位置

592 阅读2分钟

background-position属性

background-position属性可以设置背景图片出现在盒子的什么位置

background-position:100px 200px;必须带单位否则无效

同样可以使用 top bottom center right 描述图片出现的位置

background-position :百分比 | 值 |top |right |bottom |left |center

说明注意
长度值(x,y)第一个值水平位置,第二个值垂直位置。左上角(0,0)只写一个参数的话,第二个默认为居中
百分比(x%,y%)第一个值水平位置的百分比,第二个值垂直位置的百分比。只写一个参数的话,第二个默认为居中
top顶部显示,相当于垂直方向0只写一个参数的话,第二个默认为居中
right右边显示,相当于水平方向100%只写一个参数的话,第二个默认为居中
left左边显示,相当于水平方向0只写一个参数的话,第二个默认为居中
bottom底部显示,相当于垂直方向100%只写一个参数的话,第二个默认为居中
center居中显示,相当于水平方向50%或者垂直方向50%水平,垂直方向都居中

案例演示

<!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>
        .box1 {
            width:600px;
            height:400px;
            border: 1px solid #000;
            background-image:url("logo.png");
            background-size:50% auto;
            background-repeat:no-repeat;
            background-position:100px 100px;

        }
        .box2 {
            width:600px;
            height:400px;
            border: 1px solid #000;
            background-image:url("logo.png");
            background-size:50% auto;
            background-repeat:no-repeat;
            background-position:center center;

        }
        .box3 {
            width:600px;
            height:400px;
            border: 1px solid #000;
            background-image:url("logo.png");
            background-size:50% auto;
            background-repeat:no-repeat;
            background-position:center bottom;

        }
        .box4 {
            width:600px;
            height:400px;
            border: 1px solid #000;
            background-image:url("logo.png");
            background-size:50% auto;
            background-repeat:no-repeat;
            background-position:top right;

        }
        .box5 {
            width:600px;
            height:400px;
            border: 1px solid #000;
            background-image:url("logo.png");
            background-size:contain;
            background-repeat:no-repeat;
            background-position:center center;
        }
        .box5 {
            width:600px;
            height:400px;
            border: 1px solid #000;
            background-image:url("logo.png");
            background-size:cover;
            background-repeat:no-repeat;
            background-position:center center;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
    <div class="box4"></div>
    <div class="box5"></div>
    <div class="box6"></div>
</body>
</html>

CSS精灵技术

css精灵:==将多个小图标合并制作到一张图片上,使用background-position属性单独显示其中一个== 这样的技术叫做css精灵技术,也叫做css雪碧图

css精灵可以减少HTTP的请求数,加快网页显示速度,缺点也比较明显:不方便测量,后期改动麻烦。

一般情况下:使用精灵图时都使用小标签比如 i em 等通过绝对定位使行内的小标签脱离标准文档流,进而设置其宽高 宽高根据精灵图中所需要的图片大小进行设置,等属性;再利用background-position属性将精灵图中小图标移动至规定位置、、、

案例演示

<!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>
        .box1 {
            position:absolute;
            top:100px;
            left:500px;
            width: 87px;
            height: 58px;
            /* border: 1px solid #000; */
            border-radius:3px;
            background-image:url("../../../image/weixin.png");
            background-position: -10px -10px;
        }
        .box2 {
            position:absolute;
            top:100px;
            left:300px;
            width: 87px;
            height: 58px;
            /* border: 1px solid #000; */
            border-radius:3px;
            background-image:url("../../../image/weixin.png");
            background-position: -10px 68px;
        }
        ul {
            list-style:none;
        }
        ul li {
            position:relative;
            padding-left:25px;
            margin-bottom:20px;

        }
        i.dg {
            position:absolute;
            top:-5px;
            left:0;
            width: 20px;
            height: 31px;
            border: 1px solid #000;
            background-image:url("../../../image/icons.png");
            background-size:100px 100px;
            background-position: -15px -15px;
        }
    </style>
</head>
<body>
    <i class="box1"></i>
    <i class="box2"></i>
    <ul>
        <li><i class="dg"></i>我是列表项</li>
        <li><i class="dg"></i>我是列表项</li>
        <li><i class="dg"></i>我是列表项</li>
        <li><i class="dg"></i>我是列表项</li>
        <li><i class="dg"></i>我是列表项</li>
        <li><i class="dg"></i>我是列表项</li>
    </ul>
</body>
</html>

最后是背景综合属性

背景设置的简写不分先后顺序

background: 背景颜色 背景图片 背景重复 背景位置

注:背景颜色是当背景图片有透明时才会显示。