2011-07-13 77 views
2

每當我有兩個元素並排左右水平填充指定的右側和/或左側填充和/或邊距時,元素之間通常會有空格,超出我指定的元素之上。我希望有人可以告訴我如何消除這個空間(沒有像消極保證金那樣的東西)。css:神祕的「邊距」

請注意:我不在尋找替代性的多列CSS佈局技術。我知道那裏有大量的問題,這個問題比只是一個列布局問題更大。

以下是working example page的標記和樣式。顯示用Firebug選擇的左側元素的Here's a partial screenshot of that page。有問題的神祕空間位於右側,並標有紅色星號。沒有包含重置樣式,但是我插入了Eric Meyers的重置,但沒有解決問題。

<div id="side-a"> 
      <p> 
     Lorem ipsum .... 
     </p> 
    </div> 
    <div id="side-b"> 
      <p> 
     Nunc dapibus.... 
     </p> 
    </div> 

    <div id="website-footer"> 
      <ul id="legal-information"> 
        <li>Copyright 2011</li> 
        <li><a href="#">Privacy Policy</a></li> 
      </ul> 
    </div> 

    div#side-a, 
    div#side-b { 
     display: inline-block; 
     width: 200px; 
     padding: 17px 17px 0; 
    } 

    div#side-a { 
      vertical-align: top; 
    } 

    div#side-b { 
      background: #999; 
    } 

    ul { 
      padding-bottom: 17px; 
      list-style: none outside none; 
    } 

    ul li { 
      line-height: 17px; 
      margin-left: 17px; 
    } 

    div#website-footer ul#legal-information { 
      float: left; 
    } 

    div#website-footer ul#legal-information li { 
      border-left: 1px solid #29443C; 
      display: inline; 
      margin: 17px 0; 
      padding-left: 8px; 
    } 

    div#website-footer ul#legal-information li:first-child { 
      border-left: medium none; 
      padding: 0 8px 0 0; 
    } 
+0

你嘗試過重置css嗎?你的瀏覽器可以做到這一點。 – Jon

回答

0

我改變了這個CSS:

div#side-a, 
div#side-b { 
    float: left 
    width: 200px; 
    padding: 17px 17px 0; 
} 

而且在CSS中添加腳註:

#website-footer { 
    clear: both; 
} 

而這個固定的問題。

我通常會在元素彼此相鄰時浮動元素。

+0

感謝您的評論。如果可能的話,我寧願不使用浮動。雖然我自己在過去多次完成此操作,但它使元素脫離了頁面的正常流向,這使得父元素垂直摺疊。所以,它的工作原理,但它不是一個理想的解決方案,可以在所有情況下使用。我應該把這個需要說成是'這個空白從哪裏來的' - 對不起! –

+0

那沒問題。我一直是展示浮筒的使用者 – Tomgrohl