美文网首页
07day-背景雪碧图

07day-背景雪碧图

作者: crx彭彭 | 来源:发表于2018-11-04 19:34 被阅读0次

opacity属性在IE8及以下的浏览器中不支持
IE8及以下的浏览器需要使用如下属性代替
alpha(opacity=透明度)
透明度,需要一个0-100之间的值
0 表示完全透明
100 表示完全不透明
50 半透明
这种方式支持IE6,但是这种效果在IE Tester中无法测试

如果定位元素的层级是一样,则下边的元素会盖住上边的
通过z-index属性可以用来设置元素的层级
可以为z-index指定一个正整数作为值,该值将会作为当前元素的层级,层级越高,越优先显示

对于没有开启定位的元素不能使用z-index

    设置元素的透明背景
    opacity可以用来设置元素背景的透明,它需要一个0-1之间的值
        0 表示完全透明
        1 表示完全不透明
        0.5 表示半透明

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>元素的层级</title>
    <style type="text/css">
        .box1{
            width: 200px;
            height: 200px;
            background-color: red;
            position: relative;
            z-index: 2;
            opacity: 0.5;
            filter: alpha(opacity=50);
        }
        .box2{
            width: 200px;
            height: 200px;
            background-color: yellow;
            /*开启绝对定位*/
            position: absolute;
            /*设置偏移量*/
            top: 100px;
            left: 100px;

            z-index: 25;
            opacity: 0.5;
            filter: alpha(opacity=50);
        }
        .box3{
            width: 200px;
            height: 200px;
            background-color: yellowgreen;
            /*position: relative;
            z-index: 3;*/
            position: absolute;
            top: 200px;
            left: 200px;
            z-index: 30;

            opacity: 0.5;

            filter: alpha(opacity=50);
        }
        .box4{
            width: 200px;
            height: 200px;
            background-color: orange;
            /*开启相对定位*/
            position: relative;
            /*父元素的层级再高,也不会盖住子元素*/
            z-index: 20;
            top: 500px;
        }
        .box5{
            width: 100px;
            height: 100px;
            background-color: skyblue;
            /*开启绝对定位*/
            position: absolute;
            z-index: 10;
        }
    </style>
</head>
<body>
    <div class="box1"></div>

    <div class="box2"></div>

    <div class="box3"></div>

    <div class="box4">
        <div class="box5"></div>
    </div>
</body>
</html>

使用background-image来设置背景图片
语法:background-image:url(相对路径);

如果背景图片大于元素,默认会显示图片的左上角
如果背景图片和元素一样大,则会将背景图片全部显示
如果背景图片小于元素大小,则会默认将背景图片平铺以充满元素

可以同时为一个元素指定背景颜色和背景图片,这样背景颜色将会作为背景图片的底色
一般情况下设置背景图片时都会同时指定一个背景颜色
background-image: url(img/1.png);
background-repeat用于设置背景图片的重复方式
可选值:
repeat,默认值,背景图片会双方向重复(平铺)
no-repeat,背景图片不会重复,有多大就显示多大
repeat-x, 背景图片沿水平方向重复
repeat-y,背景图片沿垂直方向重复

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>背景</title>
    <style type="text/css">
        .box1{
            width: 1024px;
            height: 724px;
            margin: 0 auto;
            /*设置背景样式*/
            background-color: #bfa;

            background-repeat: repeat-y;
        }
    </style>

    <!-- <link rel="stylesheet" type="text/css" href="css/bgstyle.css"> -->
</head>
<body>
    <div class="box1"></div>
</body>
</html>

电驴条

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>电驴导航条</title>
    <style type="text/css">
        .box1{
            width: 990px;
            height: 50px;
            background-color: #bfa;
            margin: 50px auto;
            /*设置为背景图片*/
            background-image: url(img/地址);
            /*设置水平方向重复*/
            background-repeat: repeat-x;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
</body>
</html>

背景偏移和定位

background-attachment用来设置背景图片是否随页面一起滚动
可选值:
scroll,默认值,背景图片随着窗口滚动
fixed,背景图片会固定在某一位置,不随页面滚动
不随窗口滚动的图片,我们一般都是设置给body,而不设置给其他元素

背景图片默认是贴着元素的左上角显示
通过background-position可以调整背景图片在元素中的位置
可选值:
该属性可以使用 top right left bottom center中的两个值来指定一个背景图片的位置
top left 左上
bottom right 右下
如果只给出一个值,则第二个值默认是center
也可以直接指定两个偏移量
第一个值是水平偏移量

  • 如果指定的是一个正值,则图片会向右移动指定的像素
  • 如果指定的是一个负值,则图片会向左移动指定的像素
    第二个是垂直偏移量
  • 如果指定的是一个正值,则图片会向下移动指定的像素
  • 如果指定的是一个负值,则图片会向上移动指定的像素
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>背景偏移与定位</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        .box1{
            /*width: 500px;*/
            height: 500px;
            margin: 0 auto;
            /*设置一个背景颜色*/
            background-color: #bfa;
            /*设置一个背景图片*/
            background-image: url(img/4.png);
            /*设置图片不重复*/
            background-repeat: no-repeat;

            /*background-position: -50px -50px;*/
            background-attachment: fixed;
        }
        body{
            height: 5000px;
            background-image: url(img/3.png);
            background-repeat: no-repeat;

            background-attachment: fixed;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
</body>
</html>

背景固定:

    当背景图片的background-attachment设置为fixed时,
    背景图片的定位永远相对于浏览器的窗口

!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>背景固定</title>
    <style type="text/css">
        body{
            height: 5000px;
            background-image: url(img/地址);
            background-repeat: no-repeat;
            background-position: center;

            background-attachment: fixed;
        }
    </style>
</head>
<body>
    <p>我是大哥</p>
    <p>我是大哥</p>
    <p>我是大哥</p>
    <p>我是大哥</p>
</body>
</html>

按钮练习:

做完功能以后,发现在第一次切换图片时,会发现图片有一个非常快的闪烁,这个闪烁会造成一次不佳的用户体验
产生问题的原因:
背景图片是以外部资源的形式加载进网页的,浏览器每加载一个外部资源就需要单独的发送一次请求
但是我们的外部资源并不是同时加载,浏览器会在资源被使用时才去加载资源
我们这个练习,一上来浏览器只会加载link.png
由于hover和active的状态没有马上触发,所以hover.png和active.png并不是立即加载的
当hover被触发时,浏览器才去加载hover.png
当active被触发时,浏览器才去加载active.png
由于加载图片需要一定的时间,所以在加载和显示过程会有一段时间,背景图片无法显示,导致出现闪烁的情况
为了解决该问题,可以将三个图片整合为一张图片,这样可以同时将三张图片一起加载,就不会出现闪烁的问题了
然后再通过background-position来切换要显示的图片的位置,这种技术叫做图片整合技术(CSS-Sprite)
优点:
1 将多个图片整合为一张图片里,浏览器只需要发送一次请求,可以同时加载多个图片,提高访问效率,提高了用户体验。
2 将多个图片整合为一张图片,减小了图片的总大小,提高请求的速度,增加了用户体验

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>按钮练习</title>
    <style type="text/css">

        .btn:link{
            /*将a转换为块元素*/
            display: block;
            /*设置宽高*/
            width: 93px;
            height: 29px;
            /*设置背景图片*/
            background-image: url(img/btn/地址);
            /*设置背景图片不重复*/
            background-repeat: no-repeat;
        }
        .btn:hover{
            /*当是hover状态时,希望图片可以向左移动*/
            background-position: -93px 0px;
        }
        .btn:active{
            /*当是active状态时,希望图片再向左移动*/
            background-position: -186px 0px;
        }
    </style>
</head>
<body>
    <!-- 创建一个超链接 -->
    <a href="#" class="btn"></a>
</body>
</html>

雪碧图

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>雪碧图</title>
    <style type="text/css">
        .box1{
            width: 129px;
            height: 48px;
            background-image: url(img/地址);
        }
        .box2{
            width: 42px;
            height: 30px;
            background-image: url(img/地址);
            /*设置偏移量*/
            background-position: -58px -338px;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box2"></div>
</body>
</html>

背景属性

简写背景属性:

注意:background

  • 通过该属性可以同时设置所有背景相关的样式
  • 没有顺序的要求,谁在前睡在后都行
  • 也没有数量的要求,不写的样式就使用默认值
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>简写背景属性</title>
    <style type="text/css">
        body{
            height: 5000px;
            /*设置一个背景颜色*/
            /*background-color: #bfa;*/
            /*设置一个背景图片*/
            /*background-image: url(img/3.png);*/
            /*设置背景不重复*/
            /*background-repeat: no-repeat;*/
            /*设置背景图片的位置*/
            /*background-position: center center;*/
            /*设置背景图片不随滚动条滚动*/ 
            /*background-attachment: fixed;*/
            background-color: #bfa;

            background: #bfa url(img/3.png) center center no-repeat fixed;
        }
    </style>
</head>
<body>

</body>
</html>

  • 使用table标签创建一个表格。
  • tr表示表格中的一行。
  • tr中可以编写一个或多个th或td。
  • th表示表头。
  • td表示表格中的一个单元格。
  • caption表示表格的标题。
  • thead表示表格的头部。
  • tbody表示表格的主体。
  • tfoot表示表格的底部。

合并单元格

  • 合并单元格指将两个或两个以上的单元格合并为一个单元格。
  • 合并单元格可以通过在th或td中设置属性来完成。
  • 横向合并----colspan
  • 纵向合并----rowspan

表格的样式

  • text-align:设置文本的水平对齐。
  • vertical-align:设置文本的垂直对齐。
  • border-spacing:边框间距
  • border-collapse:合并边框
    --separate:不合并边框
<!DOCTYPE html>
<html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>表格</title>
    </head>
    <body>
      <table border="1"   width="40%" align="center">
      <tr>
        <td>A1</td>
        <td>A2</td>
        <td>A3</td>
        <td rowspan="2">A4</td>
    </tr>
    <tr>
        <td>C1</td>
        <td>C2</td>
        <td>C3</td>
    </tr>
    <tr>
        <td>B2</td>
        <td>B3</td>
        <td colspan="2">B4</td>

    </tr>
</table>

   </body>
</html>

11277949-60b0a0ace248557e222.png

相关文章

  • 07day-背景雪碧图

    opacity属性在IE8及以下的浏览器中不支持IE8及以下的浏览器需要使用如下属性代替alpha(opacity...

  • 背景,雪碧图

    使用background-image来设置背景图片 语法:background-image:url(相对路径); ...

  • css常见技巧

    CSS Sprite(雪碧图|精灵图)雪碧图是把多个背景图片合成一张,通过background-position定...

  • 前端 利用steps设置不连续动画

    1.准备 制作横向的雪碧图,例如11张小图拼成一张雪碧图 2.设置动画,背景位置变化 @keyframes gif...

  • 2018-11-28

    元素的层级 背景 电驴导航条 背景偏移与定位 背景固定 按钮练习 雪碧图 简写背景属性

  • 雪碧图、背景、元素透明

    css sprite(雪碧图|精灵图)指什么?有什么作用? css sprite 是一种CSS图像合并技术,该方法...

  • 任务9-2 CSS常见技巧

    1.CSS Sprite(雪碧图|精灵图)指什么? 有什么作用 CSS雪碧图就是把你要使用的一些小图标或背景图片合...

  • 移动端rem布局 雪碧图定位

    雪碧图rem设置 假设.icon-sprite 为背景图 在这个上面需要设置background-size:...

  • 前端性能优化-雪碧图及其实现

    一、雪碧图的原理 CSS Sprites 因其英文被称为雪碧图。主要用于把一堆小图标整合在一张背景透明的大图上,通...

  • css-Sprite (雪碧图)

    雪碧图的使用场景: 不推荐使用雪碧图的地方: css Sprite(雪碧图)的实现原理: 雪碧图的实现方式: 作者...

网友评论

      本文标题:07day-背景雪碧图

      本文链接:https://www.haomeiwen.com/subject/cardxqtx.html