zoukankan      html  css  js  c++  java
  • 网页固定浮动工具栏

    现在常常能看到一些网站(如:新浪微博和花瓣)导航条或工具栏固定在网页的顶部或其他地方。这样的布局方式,能便于用户点击和“曝光率”,不用每次都要把网页拖动到某个特定位置才能点击或看到。

    其实这样的布局方式很早就有,只是没有那么个契机推广开吧。做起来也不复杂,只要设置一个小小的属性“position:fixed”便能完成,最关键的无不呼在于要兼容IE6而已。

    首先我们来看HTML代码,是不是超简单?这里提供的只是一个简单的框架,实际应用的时候,只要把想要的元素添加东西就在这区域内加就行。

    HTML CODE:

    <div id="header">Default header. No absolute and fixed.</div>
    <div id="topToolbar">Fixed at the top of the Toolbar.</div>
    <div id="content">
        <p>此处省略1000字...</p>
    </div>
    <div id="bottomToolbar">Fixed at the bottom of the Toolbar. By Bluesdream.com</div>

    CSS CODE:

    <style type="text/css">
    /* 全局CSS*/
    *{margin:0px; padding:0px;}
    a{ text-decoration:none; outline:none;}
    a:hover{text-decoration:underline;}
     
    /* 实例CSS */
    html{ _background:url(about:blank);} /*阻止闪动 in IE6 , 把空文件换成about:blank , 减少请求*/
    body{ font-size:12px; font-family:Arial,Tahoma,sans-serif; color:#EEEEEE; text-align:center; background:#E2E2E2;}
    #topToolbar{
        _display:none;
        width:100%; height:40px; line-height:40px;
        background:#101010; border-bottom:2px solid #409F89;
        position:fixed; top:-40px; left:0;
        _position:absolute; _top:0;
    }
     
    #bottomToolbar{
        width:100%; height:40px; line-height:40px;
        background:#101010; border-top:2px solid #409F89;
        position:fixed; bottom:0; left:0;
        _position:absolute; _top:expression(documentElement.scrollTop+documentElement.clientHeight-this.offsetHeight);
        /*
            document.body.scrollTop 网页滚动的距离
            document.body.clientHeight 网页可见区域高
            this.offsetHeight 当前元素的高度
        */
    }
    #bottomToolbar a{ color:#FFF;}
     
    #header{
        width:100%; height:80px; line-height:80px;
        background:#101010; border-top:2px solid #409F89;
    }
     
    #content{
        width:880px; height:1390px; line-height:18px; text-align:left;
        margin:40px auto 80px auto; padding:30px 50px;
        background:#FFF url(images/scaleplate.png) no-repeat; border:1px solid #CCC;
    }
    </style>

    JAVASCRIPT CODE:

    <script type="text/javascript">
    $(function(){
        $(window).scroll(function() {
            var topToolbar = $("#topToolbar");
            var headerH = $("#header").outerHeight();
            var scrollTop = $(document).scrollTop();
            //IE6 Expression方法和jquery animate方法同事使用会有问题,所以加个判断,简化下IE6下的显示方式.
            if ($.browser.msie && ($.browser.version == "6.0") && !$.support.style) {
                if( scrollTop >= headerH ){
                    topToolbar.show();
                }else if( scrollTop < headerH ){
                    topToolbar.hide();
                }
            }else{
                if( scrollTop >= headerH ){
                    topToolbar.animate({ 'top':0 });
                }else if( scrollTop < headerH ){
                    topToolbar.animate({ 'top':-40 });
                }
            };
        });
    });
    </script>

    如果要像新浪微博那样,始终浮动固定在顶部,那JS部分就可以无视了,有没有都无所谓,直接改CSS就行。

    #topToolbar{
        100%; height:40px; line-height:40px;
        background:#101010; border-bottom:2px solid #409F89;
        position:fixed; top:0; left:0;
        _position:absolute; _top:expression(documentElement.scrollTop);
    }
  • 相关阅读:
    如何取消IntelliJ IDEA打开默认项目配置
    SQL注入和XSS攻击的原理
    什么是SQL注入?什么是XSS攻击?什么是CSRF攻击?
    jQuery动态添加删除CSS样式
    ArcGisJS实现地图常用工具条、距离测量和面积测量(非官方实例)
    Visual Studio Code打开终端控制台
    IntelliJ IDEA热部署教程,只要两步!
    Visual Studio Code 设置中文语言版本
    Visual Studio Code 入门教程
    使用bind配置DNS服务(CentOS 6.5)
  • 原文地址:https://www.cnblogs.com/babietongtianta/p/4166295.html
Copyright © 2011-2022 走看看