代码之家  ›  专栏  ›  技术社区  ›  waiwai933

下推网页内容

  •  2
  • waiwai933  · 技术社区  · 15 年前

    我正把一个潜水器浮到窗口的顶部。但是,它覆盖了页面顶部的内容,也就是说,它没有向下推到页面的顶部。但是我看到stack overflow在他们的通知栏中这样做,因为它没有覆盖username/rep/links。有没有办法用css复制这个?

    3 回复  |  直到 15 年前
        1
  •  1
  •   Michael Shimmins    15 年前

    可以将外部容器对象的边距顶部设置为浮动div的高度:

    <div id="outerContainer">
        ... page content goes here ...
    </div>
    
    <div id="floatingNotification">
    
    </div>
    

    然后在CSS中:

    #floatingNotification
    {
        ...
        height: 20px;
    }
    
    #outerContainer
    {
        margin-top: 20px;
    }
    
        2
  •  0
  •   David Thomas    15 年前

    在堆栈溢出的情况下,我认为他们很有可能使用jquery来操作页面内容。我还没有探索过链接脚本,也没有任何通知可供查看,但我会冒险猜测它是这样的:

    $(document).ready(
        function() {
            var element = '<div id="notification"></div>';
            var text    = '<p>The text to show in the notification thingumabob.</p>';
    
            $('div#wrap').prepend(element).find('#notification').prepend(text).css('display','none');
            if ('#notification') {
                $('div#notification').slideDown('slow');
            }
        }
    )
    

    请注意,我对jquery非常陌生——坦白地说,基本上是javascript——所以我很有可能提出了一些可怕的错误。但是,经过测试,这个概念是可行的。即使 element 您要添加的是浮动的或绝对定位的 slideDown() 似乎要注意移动页面内容,以避免它覆盖其他元素。

    不过,这可能是,也可能不是,在我的设置中的巧合。

        3
  •  0
  •   Tom    15 年前

    答案取决于您使用的是相对定位还是绝对定位浮点。如果是绝对值,请将float div设置为例如{top:20px;}。如果是相对的,请使用padding top、margin top(或位于其上方的元素的margin bottom)。

    什么在普通浏览器中最有效取决于整体情况。