jquery
  • html
  • css
  • css-float
  • 2012-03-08 79 views 1 likes 
    1

    我是新來的HTML和CSS,我試圖創建一個浮動邊欄根據這裏的指示。所以我加了這些JavaScript代碼到HTML頁面:浮動框與jQuery不浮動

    <script type="text/javascript" src="https://www.google.com/jsapi"></script> 
    <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript'></script> 
    <script type='text/javascript'> 
    $(document).ready(function() { 
        var $sidebar   = $("#sharebox"), 
        $window    = $(window), 
        offset     = $sidebar.offset(), 
        topPadding = 5; 
    
        $window.scroll(function() { 
        if ($window.scrollTop() > (offset.top-topPadding)) { 
         $sidebar.stop().animate({ 
         marginTop: $window.scrollTop() - offset.top + topPadding 
         }); 
        } else { 
         $sidebar.stop().animate({ 
         marginTop: 0 
         }); 
        } 
        }); 
    }); 
    </script> 
    

    以下代碼到CSS:

    #sharebox  { float: right; margin-left: 800px; background: #FAFAFA; 
            position: absolute; border: 1px solid #E5E5E5; 
            -moz-border-radius: 3px;border-radius: 3px; } 
    #sharebox .wdt { float: right; clear: left; padding: 5px; } 
    

    並用以下代碼來創建元素:

    <div id="sharebox"> 
    <ul> 
        <li><a href="#Search" onclick="return false;"> Search </a></li> 
        <li><a href="#Plots" onclick="return false;"> Plots </a></li> 
        <li><a href="#Statistics" onclick="return false;"> statistics </a></li> 
    </ul> 
    </div> 
    

    但只是不漂浮......任何人都可以給我一些提示?

    謝謝。

    +0

    絕對讓您可以使用'top'和'left'來確切地在父容器中對其進行定位或「底部」和「右側」)。相對位置讓元素自然位置/流動,這在95%左右的情況下是正確的。如果你想讓它浮動,它需要是相對的。 http://css-tricks.com/absolute-relative-fixed-positioining-how-do-they-differ/ – 2012-03-09 14:34:25

    回答

    0

    經過一些錯誤和嘗試,即使我仍然不知道原因,我認爲上面的代碼基本上可以工作,但只要確保:1.在代碼之前成功加載jquery(人們建議從jquery加載jquery google ajax和本地備用副本); 2.將浮動內容放在足夠長的div中,以便有足夠的空間顯示浮動內容:)

    0

    #sharebox您的float:rightposition:absolute是衝突的。如果你想讓它浮動,刪除的位置是:絕對的,像這樣:

    #sharebox { 
        float: right; 
        margin-left: 800px; 
        background: #FAFAFA; 
        border: 1px solid #E5E5E5; 
        -webkit-border-radius: 3px; /* gets older safari browsers */ 
        -moz-border-radius: 3px; 
        border-radius: 3px; 
    } 
    

    當我測試了這一點,它完全浮動的權利,並上下滑動與jQuery的滾動。

    +0

    我不確定這些東西是如何工作的......它現在對我來說現在適用於我以後那個漂浮的部分,並在其他東西上工作了一段時間......當我刪除'position:absolute;'語句時,它實際上停止了工作。 – Jingping 2012-03-08 15:32:44

    +0

    很難知道沒有看到您當前的HTML/CSS代碼。我知道,使用你在問題中展示的內容以及我的編輯,它的工作方式就是我理解你想要的。你可以用你正在使用的修改後的代碼編輯你的問題,並擴展你的意思是「停止工作」? – 2012-03-08 16:11:14

    +0

    我想你對上下文依賴是正確的。我想爲什麼我使用的代碼一開始並不起作用,因爲我把它們放在頁面的末尾,在我像你說的那樣刪除'position:absolute'後,他們就呆在那裏了。我其實不知道「絕對」和「相對」位置有什麼不同。 – Jingping 2012-03-09 14:32:28

    相關問題