美文网首页Web前端之路让前端飞网页前端后台技巧(CSS+HTML)
html中固定header和footer及vegas插件修改背景

html中固定header和footer及vegas插件修改背景

作者: 18587a1108f1 | 来源:发表于2017-08-15 09:58 被阅读222次

    开发中发现首页上下滑动会暴露背景图(我使用了vegas插件,全屏背景),需要将header和footer定死在最上下方,使得滑动不显示后方的背景图。
    学习后总结解决方案如下:

    一般header、footer固定(无全屏背景图):

    <html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
        <title>title</title>
        <style>
            #page{margin:0 auto;width:960px;}
            #header{width:960px; height:60px; position:absolute; top:0;background-color:#ccc;}
            #footer{width:960px; height:30px; position:absolute; bottom:0; background-color:#ccc;}
            #content{width:960px; overflow: auto; position:absolute; top:60px; bottom:30px;}
            #logo, #nav{height:60px;float:left;}
        </style>
    
    </head>
    <body>
    <div id="page">
        <div id="header">
            <div id="logo">header logo</div>
        </div>
        <div id="content">
              main content
              “这里可以添加很长的内容,可用于测试是否能够正常滚动”
              测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度+测试内容长度
        </div>
        <div id="footer">
              footer
        </div>
    </div>
    </body>
    </html>
    
    

    浏览器中运行效果图:

    效果图

    可以正常实现header和footer固定,只滚动中间的内容。

    vegas全屏插件调整背景图大小

    vegas简介(如果已了解vegas可直接阅读下一部分)

    vegas插件为一款网页全屏背景jQuery插件,它和其它背景插件不同之处就是带有幻灯片功能。幻灯片的切换有多种风格,如旋转、渐隐、左右等方式,切换的时候还有进度条显示。
    使用方法:
    1.VEGAS的CSS、JS以及jQuery插件嵌入到<head>内。

    <head>
    <link rel="stylesheet" href="http://jaysalvat.github.io/vegas/releases/latest/vegas.min.css">
    <script src="http://code.jquery.com/jquery.min.js"></script>
    <script src="http://jaysalvat.github.io/vegas/releases/latest/vegas.js"></script>
    </head>
    
    1. 通过js添加背景图片:
     $(function () {
                    $.vegas('slideshow', {
                        backgrounds: [
                          { src: 'assets/img/1.jpg', fade: 1000, delay: 9000 },
                          { src: 'assets/img/2.jpg', fade: 1000, delay: 9000 },
                            { src: 'assets/img/3.jpg', fade: 1000, delay: 9000 },
                            { src: 'assets/img/4.jpg', fade: 1000, delay: 9000 },
                        ]
                    })('overlay', {
                        /** SLIDESHOW OVERLAY IMAGE **/
                        src: 'templates.assets/plugins/vegas/overlays/03.png' // THERE ARE TOTAL 01 TO 15 .png IMAGES AT THE PATH GIVEN, WHICH YOU CAN USE HERE
                    });
    
                });
    

    vegas中全屏背景图与header、footer位置调节

    在使用vegas时候发现一个问题,就是如果使劲上滑界面,header和footer下方的背景会暴露出来,即使强制fixed了header和footer也没有用,设置background-size属性也没有用。这应该是vegas插件的全屏背景的原因。

    问题示意图

    通过html调试,我发现vegas加载的图片通用class为 .vegas-background ,其加载的全屏背景图的大小会动态调节,因而我强制修改了背景图的动态全屏调节,让其大小正常显示在页面中。

    强制修改的css如下:

        <style>
            .vegas-background {
                top: 0px!important;
                bottom: 0px!important; 
                width: 100%!important;  //这里可以调整你想要的背景图size大小,建议100%
                height: 100% !important; //这里可以调整你想要的背景图size大小,建议100%
            }
        </style>
    

    修改完之后还需要在header和footer中添加fixed参数,使得滑动时位置固定。

        <style>
            .header {
                top: 0px;
                position:fixed;
            }
            .footer{
                bottom: 0px;
                position:fixed;
            }
        </style>
    
    修改完效果图

    上图可以看到,强制上滑时footer下方的背景图不在了,会变为正常的留白效果。

    tips:现在浏览器都支持用户体验较好的滑动效果,即滑动到最上、最下方时候都可以继续强制滑动一截,如果使用header、footer以及背景图的话请一定处理好,不要出现错位的显示效果。

    相关文章

      网友评论

        本文标题:html中固定header和footer及vegas插件修改背景

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