H5学习之背景图片、图片精灵、多重背景、背景图片位置

黄良钵

分类: 程序开发 130 0

图片精灵

刘若英

背景图片:

<html>
<head>
    <meta charset="UTF-8">
    <title>背景图片</title>
    <style>
        body{
            /*
            流式布局
            从左到右 从上到下
            */
            height: 100%;
            /*因为标签总是会尽最大努力占据最小高度
              所以当body中内容时 高度为0 故将高度设置为100%*/
            background-image: url(lry.jpg);
            margin: 0;
            /*因为body标签默认带有8px的外间距
              所以设置高度为100%时 则会出现滚动条
              所以将margin设为0去除滚动条*/
              background-repeat: no-repeat;
              /*背景图片小于标签尺寸时 背景图片会在两个放向上重复自己 
                直到填满整个空间 除非设置了background-repeat
                还可在一个方向上重复
                background-repeat: repeat-x
                background-repeat: repear-y*/
              background-color: red;
              /*背景图片小于标签时,且背景图片不重复时 
                可以看到背景图片和颜色共存的 背景图片在背景颜色的上方*/
                
              background-position: 50% 50%;
              /*background-position样式可以决定从哪个位置开始绘制这张图片*/
              /*如果使用百分比 计算方式(容器的宽 - 图片的宽)× 百分比 超出部分隐藏
                                    (容器的高 - 图片的高)× 百分比 超出部分隐藏
                如果仅规定了一个值 那另一个值为50% */
              
              background-size: contain;
              /*设置图片大小
                如果只设置一个值(宽) 那另一个值为auto
                如果使用百分比 计算方式为(图片的宽和高 × 百分比)*/
        }
    </style>
<body>
    
</body>
</html>

图片精灵:

<html>
<head>
    <meta charset="UTF-8">
    <title>图片精灵</title>
    <style>
        /*body{
            background-color: black;
        }*/
        /*方案一
        span{
            display 属性规定元素应该生成的框的类型
            display: block;
            width: 144.285px;
            height: 144.285px;
            background-image: url(icons.jpg);
            background-position: -144.285px -144.285px;
            显示第二行第二个图标
        }
        span>i{
            display: none;
            需要可以显示文字 不需要可以将中间文字隐藏
        }*/

        /*方案二
        .icons{
            display: block;
            width: 144.285px;
            height: 144.285px;
            background-image: url(icons.jpg);
        }
        .r1c1{
            background-position: -144.285px -144.285px;
        }
        .ric2{
            background-position: -288.57px -144.285px;
        }*/

        /*方案三*/
        /*可以随便的设置任意大小*/
        /*.icons{
            display: block;
            width: 25px;
            height: 25px;
            background-image: url(icons.jpg);
            background-size: 700% 700%;
        }
        .r1c1{
            background-position: -50px -50px;
        }
        .r1c2{
            background-position: -50px -100px;
        }*/
    </style>
    <!--最终方案-->
    <link rel="stylesheet" href="style.css">    
<body>
    <section>
        <!--<span><i>方案一</i></span>-->
        <span class="icons"></span>
        <span class="icons r1c1"></span>
        <span class="icons r1c2"></span>
        <span class="icons r1c3"></span>
        <span class="icons r1c4"></span>
        <span class="icons r1c5"></span>
        <span class="icons r1c6"></span>

        <span class="icons r2c0"></span>
        <span class="icons r2c1"></span>
        <span class="icons r2c2"></span>
        <span class="icons r2c3"></span>
        <span class="icons r2c4"></span>
        <span class="icons r2c5"></span>
        <span class="icons r2c6"></span>

        <span class="icons r3c0"></span>
        <span class="icons r3c1"></span>
        <span class="icons r3c2"></span>
        <span class="icons r3c3"></span>
        <span class="icons r3c4"></span>
        <span class="icons r3c5"></span>
        <span class="icons r3c6"></span>
        
        <span class="icons r4c0"></span>
        <span class="icons r4c1"></span>
        <span class="icons r4c2"></span>
        <span class="icons r4c3"></span>
        <span class="icons r4c4"></span>
        <span class="icons r4c5"></span>
        <span class="icons r4c6"></span>

        <span class="icons r5c0"></span>
        <span class="icons r5c1"></span>
        <span class="icons r5c2"></span>
        <span class="icons r5c3"></span>
        <span class="icons r5c4"></span>
        <span class="icons r5c5"></span>
        <span class="icons r5c6"></span>

        <span class="icons r6c0"></span>
        <span class="icons r6c1"></span>
        <span class="icons r6c2"></span>
        <span class="icons r6c3"></span>
        <span class="icons r6c4"></span>
        <span class="icons r6c5"></span>
        <span class="icons r6c6"></span>

        <span class="icons r7c0"></span>
        <span class="icons r7c1"></span>
        <span class="icons r7c2"></span>
        <span class="icons r7c3"></span>
        <span class="icons r7c4"></span>
        <span class="icons r7c5"></span>
        <span class="icons r7c6"></span>
    </section>
</body>
</html>

CSS:

body{
    background-color: black;
}
section{
    margin: 50px auto;
    width: 400px;
    position: relative;
}
/*方案一
span{
    display 属性规定元素应该生成的框的类型
    display: block;
    width: 144.285px;
    height: 144.285px;
    background-image: url(icons.jpg);
    background-position: -144.285px -144.285px;
    显示第二行第二个图标
}
span>i{
    display: none;
    需要可以显示文字 不需要可以将中间文字隐藏
}*/

/*方案二
.icons{
    display: block;
    width: 144.285px;
    height: 144.285px;
    background-image: url(icons.jpg);
}
.r1c1{
    background-position: -144.285px -144.285px;
}
.ric2{
    background-position: -288.57px -144.285px;
}*/

/*方案三*/
/*可以随便的设置任意大小*/
.icons{
    display: block;
    width: 50px;
    height: 50px;
    background-image: url(icons.jpg);
    background-size: 700% 700%;
}
.r1c1{
    background-position: 0 -50px;
}
.r1c2{
    background-position: 0 -100px;
}
.r1c3{
    background-position: 0 -150px;
}
.r1c4{
    background-position: 0 -200px;
}
.r1c5{
    background-position: 0 -250px;
}
.r1c6{
    background-position: 0 -300px;
}

.r2c0{
    background-position: -50px 0;
    position: absolute;
    left: 50px;
    top: 0;
}
.r2c1{
    background-position: -50px -50px;
    position: absolute;
    left: 50px;
    top: 50px;
}
.r2c2{
    background-position: -50px -100px;
    position: absolute;
    left: 50px;
    top: 100px;
}
.r2c3{
    background-position: -50px -150px;
    position: absolute;
    left: 50px;
    top: 150px;
}
.r2c4{
    background-position: -50px -200px;
    position: absolute;
    left: 50px;
    top: 200px;
}
.r2c5{
    background-position: -50px -250px;
    position: absolute;
    left: 50px;
    top: 250px;
}
.r2c6{
    background-position: -50px -300px;
    position: absolute;
    left: 50px;
    top: 300px;
}
.r3c0{
    background-position: -100px 0px;
    position: absolute;
    left: 100px;
    top: 0px;
}
.r3c1{
    background-position: -100px -50px;
    position: absolute;
    left: 100px;
    top: 50px;
}
.r3c2{
    background-position: -100px -100px;
    position: absolute;
    left: 100px;
    top: 100px;
}
.r3c3{
    background-position: -100px -150px;
    position: absolute;
    left: 100px;
    top: 150px;
}
.r3c4{
    background-position: -100px -200px;
    position: absolute;
    left: 100px;
    top: 200px;
}
.r3c5{
    background-position: -100px -250px;
    position: absolute;
    left: 100px;
    top: 250px;
}
.r3c6{
    background-position: -100px -300px;
    position: absolute;
    left: 100px;
    top: 300px;
}
.r4c0{
    background-position: -150px 0px;
    position: absolute;
    left: 150px;
    top: 0px;
}
.r4c1{
    background-position: -150px -50px;
    position: absolute;
    left: 150px;
    top: 50px;
}
.r4c2{
    background-position: -150px -100px;
    position: absolute;
    left: 150px;
    top: 100px;
}
.r4c3{
    background-position: -150px -150px;
    position: absolute;
    left: 150px;
    top: 150px;
}
.r4c4{
    background-position: -150px -200px;
    position: absolute;
    left: 150px;
    top: 200px;
}
.r4c5{
    background-position: -150px -250px;
    position: absolute;
    left: 150px;
    top: 250px;
}
.r4c6{
    background-position: -150px -300px;
    position: absolute;
    left: 150px;
    top: 300px;
}
.r5c0{
    background-position: -200px 0px;
    position: absolute;
    left: 200px;
    top: 0px;
}
.r5c1{
    background-position: -200px -50px;
    position: absolute;
    left: 200px;
    top: 50px;
}
.r5c2{
    background-position: -200px -100px;
    position: absolute;
    left: 200px;
    top: 100px;
}
.r5c3{
    background-position: -200px -150px;
    position: absolute;
    left: 200px;
    top: 150px;
}
.r5c4{
    background-position: -200px -200px;
    position: absolute;
    left: 200px;
    top: 200px;
}
.r5c5{
    background-position: -200px -250px;
    position: absolute;
    left: 200px;
    top: 250px;
}
.r5c6{
    background-position: -200px -300px;
    position: absolute;
    left: 200px;
    top: 300px;
}
.r6c0{
    background-position: -250px 0px;
    position: absolute;
    left: 250px;
    top: 0px;
}
.r6c1{
    background-position: -250px -50px;
    position: absolute;
    left: 250px;
    top: 50px;
}
.r6c2{
    background-position: -250px -100px;
    position: absolute;
    left: 250px;
    top: 100px;
}
.r6c3{
    background-position: -250px -150px;
    position: absolute;
    left: 250px;
    top: 150px;
}
.r6c4{
    background-position: -250px -200px;
    position: absolute;
    left: 250px;
    top: 200px;
}
.r6c5{
    background-position: -250px -250px;
    position: absolute;
    left: 250px;
    top: 250px;
}
.r6c6{
    background-position: -250px -300px;
    position: absolute;
    left: 250px;
    top: 300px;
}
.r7c0{
    background-position: -300px 0px;
    position: absolute;
    left: 300px;
    top: 0px;
}
.r7c1{
    background-position: -300px -50px;
    position: absolute;
    left: 300px;
    top: 50px;
}
.r7c2{
    background-position: -300px -100px;
    position: absolute;
    left: 300px;
    top: 100px;
}
.r7c3{
    background-position: -300px -150px;
    position: absolute;
    left: 300px;
    top: 150px;
}
.r7c4{
    background-position: -300px -200px;
    position: absolute;
    left: 300px;
    top: 200px;
}
.r7c5{
    background-position: -300px -250px;
    position: absolute;
    left: 300px;
    top: 250px;
}
.r7c6{
    background-position: -300px -300px;
    position: absolute;
    left: 300px;
    top: 300px;
}

 

多重背景:

<html>
<head>
    <meta charset="UTF-8">
    <title>多重背景</title>
    <style>
        section{
            margin: 50px;
            height: 500px;
            /*background-image: url(lry.jpg);
            background-repeat: no-repeat;
            background-color: red;
            background-size: 95%;*/
            background-image: url(lry.jpg), url(icons.jpg);
            background-repeat: no-repeat;
            background-position: 50%;

            /*blend 混合 mode 模式 混合模式*/
            background-blend-mode: multiply;
        }
    </style>
<body>
    <section></section>
</body>
</html>

背景图片位置:

<html>
<head>
    <meta charset="UTF-8">
    <title>背景图片位置</title>
    <style>
        p{
            margin: 30px;
            border: 20px dotted blue;
            padding: 50px;
            background-image: url(icons.jpg);
            background-repeat: no-repeat;
            /*默认情况下背景图片从边框左上角内部开始到右下角边框线外部*/
            /*background-origin: border-box;*/
            /*背景图片起始位置调整到边框线左上角 即边框盒子左上角*/
            background-origin: content-box;
            /*将背景图片起点位置调整到内容区左上角 即内容盒子左上角*/
            /*background-position: -80px -80px;*/

            background-clip: content-box;
            /*将图片截止位置
              content-box 背景被裁剪到内容框
              border-box 背景被裁剪到边框盒
              padding-box 背景被裁剪到内边距框
            */
        }
    </style>
<body>
    <p>
        这是一段落这是一段落这是一段落这是一段落这是一段落<br>
        这是一段落这是一段落这是一段落这是一段落这是一段落<br>
        这是一段落这是一段落这是一段落这是一段落这是一段落<br>
        这是一段落这是一段落这是一段落这是一段落这是一段落<br>
    </p>
</body>
</html>
  • 0人 Love
  • 0人 Haha
  • 0人 Wow
  • 0人 Sad
  • 0人 Angry
H5学习、图片精灵、多重背景、背景图片、背景图片位置

作者简介:黄良钵

打赏

博客站长,前端开发工程师

共 0 条评论关于 “H5学习之背景图片、图片精灵、多重背景、背景图片位置”

Loading...