2012-06-09 51 views
0

我正在處理css layout,其中第一個div應該包含文本,div的寬度和高度應該根據內容靈活變化。在右邊應該有4個(未來可能更多)圖像具有相同的尺寸,最適合第一個div,但它們必須是正方形。現在我只是像this。有任何想法嗎?謝謝!CSS Layout(1 div - 4 imgs從右側浮動)

回答

2

如何使用浮動?你將有兩個容器div。這些圖像可以很容易地放在一張桌子上,因爲它們的大小完全相同。如果提前知道圖像的寬度,可以將第一個div預先定義爲該寬度和高度,以便佈局太小時不會將圖像分開。

<div style="float:right;"> 
    <table> 
     <tr> 
      <td><img src="" /></td> 
      <td><img src="" /></td> 
     </tr> 
     <tr> 
      <td><img src="" /></td> 
      <td><img src="" /></td> 
     </tr> 
    </table> 
</div> 
<div> 
    <p>some text here</p> 
</div> 
+0

表格設計 - 議員! – jacktheripper

+1

是的,我通常從表中走開,但對於這樣一個易於用表格定義的簡單佈局,我做了一些例外。 CSS中的等價物將是一個跨瀏覽器的噩夢,並且要複雜得多。 – Tom

+0

正如我剛剛發現的:p – jacktheripper

0

您可以使用下面的HTML:

​<div id="wrapper"> 
    <div id="display">Some text</div> 
    <div id="rightBar"> 
     <div></div> 
     <div></div> 
     <div></div> 
     <div></div> 
    </div> 
</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

隨着下面的CSS:

#wrapper { 
    overflow: auto; 
    background-color: yellow; 
    display: inline-block 
} 

#display { 
    width: 100px; 
    height: 100%; 
    float: left; 
    border: 1px solid black; 
} 

#rightBar { 
    width: 100px; 
    background-color:red; 
    float: left; 
} 

#rightBar div { 
    border: 1px solid black; 
    width: 40px; 
    height: 40px; 
    display: inline-block; 
}​ 

看到一個活生生的例子here

+0

這是跨瀏覽器的兼容性。 IE7和Firefox <3不明白'inline-block'。 – Tom

+0

雖然有一個快速簡單的解決方法,請參閱此文章:http://css-tricks.com/snippets/css/cross-browser-inline-block/ – jacktheripper

+0

我不確定我會說快速和容易,但這絕對值得注意。我的問題是它看起來像是另一個黑客攻擊。 – Tom