【Python全栈-CSS】CSS实现网页背景图片自适应全屏

CSS实现网页背景图片自适应全屏

功能:实现能自适应屏幕大小又不会变形的背景大图,而且背景图片不会随着滚动条滚动而滚动。

以下是用CSS实现的方法:
<html>
<head>
    <meta charset="UTF-8">
    <title>title</title>
    <style>
        *{
             margin: 0;
    padding: 0;
        }
        .backend{
            position: relative;
            top: 0 ;
            left: 0;
            min-width: 1000px;
            width: 100%;
            height: 100%;
            background: url("static/images/001.jpg") no-repeat center center;
            z-index: -10;
            background-size: cover;
            -webkit-background-size: cover;
            -o-background-size: cover;
        }
    </style>
</head>
<body>
<div class="wrapper">
    <!--背景图片-->
    <div class="backend">
    </div>
    <!--其他代码 ... -->
</div>
</body>
</html>

下面,我们来分析一下,css中每句代码的作用是什么:

这三句是让整个div固定在屏幕的最上方和最左方

position:relative;
top: 0;
left: 0;

下面前两句是让整个div跟屏幕实现一模一样的大小,从而达到全屏效果,而min-width是为了实现让屏幕宽度在1000px以内时,div的大小保持不变,也就是说在这种情况下,缩放屏幕宽度时,图片不要缩放(只有在1000px以内才有效)。

 

width:100%;
height:100%;
min-width: 1000px;

 

这个的目的是让整个div在HTML页面中各个层级的下方,正常情况下,第一个创建的层级z-index的值是0,所以如果我们这里写成-1也可以实现,不过这里写-10是确保整个div在最下面,因为如果页面中层级太多了,有的时候用-1不一定在最下面,但如果写成-100这样大数字的也没有什么意义。用index:-10 以此能达到看上去像背景图片,其实是一个最普通的div,只是层级关系变了,才让人看上去看是背景图片。

 z-index:-10;

下面三句是一个意思,就是让图片随屏幕大小同步缩放,但是有部分可能会被裁切,不过不至于会露白,下面两句是为chrome和opera浏览器作兼容。

background-size: cover;
-webkit-background-size: cover;
-o-background-size: cover;

下面这句的意思就是图片的位置,居中,靠左对齐。

background-position: center 0;

 

参考:

https://www.jianshu.com/p/5480cd1a5d89

 

posted @ 2019-04-05 14:35  XJT2019  阅读(701)  评论(0编辑  收藏  举报