2011-05-24 98 views
0

我遇到了Firefox的問題(嘗試使用3.6和4)。與Firefox的CSS顯示問題:錶行

我需要創建一個具有靜態大小菜單和動態大小內容列(如果有比下面的代碼更簡單的方式,我想知道)的2列布局。

最簡單的可能是我粘貼的HTML和樣式(這只是一個簡單的例子「bug」)。

<html> 
<head> 
    <title>Test</title> 
    <link type="text/css" href="style.css" rel="stylesheet"> 
</head> 
<body> 
<div style="padding:0 9%;"> 
    <ol class="container row padd"> 
     <li class="content cell padd"> 
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus id laoreet orci. Aenean congue pharetra enim, et sollicitudin est congue quis. Sed sit amet nibh ut nibh suscipit sagittis. Curabitur eros nisi, pulvinar id placerat blandit, vulputate id eros. Nullam tempor placerat ultrices. Sed ut dui ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Ut tempor felis non felis commodo in volutpat sapien malesuada. Nunc congue bibendum leo, sed rutrum sem imperdiet vel. Cras gravida leo id odio scelerisque ut pharetra turpis sollicitudin. Morbi urna lorem, laoreet a lacinia ac, convallis sed urna. Morbi ut diam magna, a elementum erat. Nulla viverra molestie vestibulum. Ut nec ante in urna egestas tincidunt.</p> 
      <p>Nullam malesuada, urna ac pretium suscipit, purus est viverra nulla, semper placerat lacus urna in mauris. Integer egestas venenatis commodo. Mauris sagittis rutrum erat, quis tincidunt erat bibendum non. Etiam quis erat diam, at ullamcorper nisl. Suspendisse non convallis ante. Fusce eget augue nunc. Praesent pellentesque commodo est, nec vulputate dolor tincidunt vitae. Ut in pretium felis. Sed rutrum, nisi vel commodo accumsan, ante neque mattis neque, quis convallis magna metus molestie erat. Duis aliquet tempus neque ac vestibulum. Morbi nec lectus in lectus blandit blandit sit amet blandit justo. </p> 
      <p>Sed lorem ligula, rhoncus ac ornare vel, vulputate nec dui. Suspendisse id lectus in est aliquam tristique nec et augue. Morbi non quam id lorem sollicitudin gravida ut ut sem. Aenean nec nunc ac enim sodales laoreet sed quis neque. Maecenas auctor feugiat risus, eget porttitor lorem laoreet porttitor. Ut in ipsum non felis bibendum scelerisque convallis ac nibh. Vivamus nec viverra quam. Nam urna justo, eleifend eget semper ut, tristique non nisl. Duis posuere malesuada metus sed aliquam. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum nulla tellus, condimentum vitae tincidunt gravida, tristique vel odio. Praesent sed nulla quam, fringilla convallis tellus. Suspendisse potenti. Morbi accumsan elementum placerat. Duis tellus nunc, lacinia non mattis et, varius a magna. Donec consequat viverra massa. Morbi sit amet metus lacus. Curabitur mattis lacinia eros, ac semper nisi dapibus nec. </p> 
      <p>Duis et diam sit amet metus aliquet cursus. Vivamus lobortis purus id ante accumsan tincidunt. Ut auctor sodales velit, imperdiet aliquet dui facilisis eu. Mauris porta pulvinar tortor ut mattis. Nullam congue sapien ut est luctus egestas. Curabitur eget neque augue. Donec a lacus sed purus consectetur euismod. Vivamus ut odio magna. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec sagittis dui ac odio convallis vel iaculis nibh rutrum. Donec porttitor sapien vel ipsum lacinia ut tristique ante consequat. In sodales malesuada odio, vitae iaculis dui molestie quis. Mauris eu magna at eros viverra pretium. Fusce placerat dolor turpis, id imperdiet orci. Proin sed magna aliquet sem accumsan rutrum. Etiam id sagittis purus. </p> 
     </li> 
     <li class="menu cell padd"> 
      <div id="menu1" class="cell padd"> 
       Column 1 
      </div> 
      <div id="menu2" class="cell padd"> 
       Column 2 
      </div> 
      <!--<ul> 
       <li>Punkt 1</li> 
       <li>Punkt 2</li> 
       <li>Punkt 3</li> 
      </ul>--> 
     </li> 
    </ol> 
</div> 
</body> 
</html> 

這裏是CSS:

.container { display:table-row; } 
.container .content { width:auto; background-color:#B0B0B0; display:table-cell;} 
.container .menu { background:none repeat scroll 0 0 #FFFFEC; display:table-cell; width:350px; } 
#menu1 { width:200px; float: left; margin-left: 5px; height:200px; } 
#menu2 { width:100px; float: left; margin-left: 5px; height:200px; } 

/* Misc */ 
.table { border: 1px solid #7777A0; } 
.row { border: 1px solid #777799; background-color: #A000A0; } 
.cell { border: 1px solid black; background-color: white; } 
.padd { margin:4px; } 

在Firefox打開時,這個問題應該是顯而易見的,在右邊的菜單欄推在左欄因爲某些原因文本。

它在Opera中看起來正確。 該示例使用列表,但可以用div替換(沒有區別)。

我在樣式表中做了非法的事情來激起這種行爲嗎?

Ps。它在IE8中看起來完全垃圾。

回答

2

無論出於何種原因,只需在.cell上加上vertical-align: top即可排除垂直對齊問題。

它在IE8中看起來非常可怕,因爲您忘記了添加a doctype--因此IE8在Quirks Mode中呈現。

您應該添加一個文檔類型,例如HTML5文檔類型。您應該將頂部行改爲:

<!DOCTYPE html> 
<html> 

現在應解決這兩個問題。

+0

非常感謝,這是訣竅。我只需要將它添加到.content。還會添加一個DOCTYPE。 – DarkNeuron 2011-05-24 13:09:19