2011年9月1日 星期四

讓我們擠在一起


越來越多美編喜歡用 DIV 來設計樣板,不像我們傳統工程師,都是用 Table 去 layout 畫面。或許在未來新的瀏覽器裡,對 CSS 的支援更強大、更統一之後,以 DIV + CSS 為設計的方式將會越來越普遍。但將來的事,現在說什麼都還算太早,眼下我先搞定如何將兩個 DIV 放在同一列比較重要。

原先我都以為使用 DIV ,就一定會佔用一行的空間。沒想到透過 {float:left;} 的 CSS 定義後,就可以讓好幾個 DIV 擠在一起。

參考一下 HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<style>
.oneline
{
float:left;
}

div{
border-width:1px;
border-color:red;
border-style:solid;
border-color: #336699;
padding:1px;
}

</style>
</head>
<body>
<div style="padding-top:30px" class="oneline">元素A</div>
<div class="oneline">元素B</div>
<div style="clear:left;">元素C</div>

</body>
</html>
透過 float:left ,讓元素A、元素B 都擠在同一列。但如果希望這行為不要發生在元素C,則可以透過 clear:left 來結束。

此外,除了使用 float:left 之外,還可以用 display:inline; 來達到擠在同一列的效果,差別在於 display:inline 會有靠下對齊的效果,而  float:left 則是靠上對齊。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<style>
.oneline
{
display:inline;
}

div{
border-width:1px;
border-color:red;
border-style:solid;
border-color: #336699;
padding:1px;
}

</style>
</head>
<body>
<div style="padding-top:30px" class="oneline">元素A</div>
<div class="oneline">元素B</div>
<div style="clear:left;">元素C</div>

</body>
</html>
參考:

1.關於CSS DIV並排的問題
http://www.lslnet.com/linux/f/docs1/i30/big5240138.htm

2.CSS display 屬性用法介紹 display:block 與 display:inline
http://www.webtech.tw/info.php?tid=37

3.Float vs. Inline-Block
http://www.ternstyle.us/blog/float-vs-inline-block

沒有留言:

張貼留言