當一個大框架中有許多小物件 (box1、box2、box3、box4) 想要排列整齊並且橫向排列時,現在許多人會選擇用 position 的方式 但每個 box 都要分別去設定絕對位置是很麻煩的事情~ 這時候用 float 是不錯的選擇~ 先前很流行的直條式版型,大多數人都將 #links 放在文章底下~ 但由於 #links 內的物件比較適合小區塊排列~ 放在文章區塊下的話使每個 box 的寬度都很寬 每個 box 右邊都多出了很多空白看起來不漂亮又不順眼 如下圖所示: 這時候其實可以使用 float 屬性使 box 都整齊排列 將 box 固定寬高之後,便可以方便的排列整齊 box 但需要注意的是: 若是高度沒有固定,float 的呈現就會不整齊呈現高低不整的樣子 bug1. 且 float 後,IE6 對 margin 的定義會錯誤 假設 float: left; ie 解讀 margin-left 時會以兩倍的距離去計算 解除這個 bug 的方式就是 float 與 display: inline; 同時使用 bug2. float 之後會造成 #links (父元素)的內容(子元素float之後)都浮動出來 若是 #links 有設定背景色就會發現這個問題 所以,整體寫法如下則可避免: -- /* css 範例開始 */ #links {  width: 400px;  _height: 1%;  overflow: hidden;  _overflow: none;  background: #ccc;  padding: 0px 0px 10px 0px; /*padding屬性順序-上右下左*/ } .box {  float: left;  _display: inline; /*解 IE6 margin bug*/  width: 185px;  height: 110px;  overflow: hidden; /*避免內容超出寬高而寫入*/  margin: 10px 0px 0px 10px; /*margin屬性順序-上右下左*/ } -- 效果圖示: 其中  _height: 1%;  overflow: hidden;  _overflow: none; 此三行為解除 bug2. 所說明的浮動後內容空置問題 / 以上為使用痞客模板為範例說明 float 的 bug2. 另外一個解法則是 若 float 的區塊之下還有其他區塊是不需要 float (同層級) 則在下方區塊設定 clear: both; 即可 前提是下方區塊須有獨立的 class 或 id 希望大家都可以試著運用看看 :)
創作者介紹
創作者 FINE LOOK in PIXNET 的頭像
themes

FINE LOOK in PIXNET

themes 發表在 痞客邦 留言(2) 人氣( 3569 )