1. 程式人生 > >第6天 css

第6天 css

1.為什麼要清除浮動?

  因此在一些盒子中不方便賦予高度,比如在新聞文章中,文章內容每天是不定的。

  浮動的圖片,不能跨越 內邊距。

清除浮動,是在父盒子不給定高度的情況下,若子盒子都為浮動,即父盒子沒有了高度,height=0,下一個盒子可能“頂上來”,若給定父盒子高度,子盒子的內容可能會超出父盒子邊界。

 1.1若設定 clear:both (清除所有浮動)可解決(clear:left 清除左浮動;clear:right 清除右浮動),父盒子高度隨子盒子最大而定。

1.2 在最後一個子盒子後邊新增一個便籤,如div <div  class="clear"></div> \  或者 <div style="clear:both"></div>

   .clear{

     clear:both;

}

1.3 父級標籤新增 overflow:hidden ,觸發BFC 機制;

1.4 偽類元素after 清除浮動

.clearfix: after {

     content:" ";

     display:block;

     clear:both;

     visibility:hidden;

     height:0;

}

.clearfix {

   *zoom:1;

}

1.5 雙偽類標籤清除浮動

.clearfix:before, .clearfix:after {

         content:" ";

          display:table;

}

.clearfix:after {

       clear:both;

}

.clearfix {

    *zoom:1;  // 考慮到IE6、7的相容性

}

<div class="nav"  clearfix>

</div>

 

2.相對定位(position:relative)top: npx; right:n2px;

以自己盒子的左上角為中心,向下移動npx,向右移動n2px; 移動後原位置保留,浮動元素不能“頂上去”;

3.絕對定位(position:absolute)top:n1px; left:n2px;  絕對定位,不佔位置。

無父盒子無定位的情況下,以當前螢幕的頁面左上角為中心,向上左方向移動。

right:0px;bottom:0px;以右下角為中心。

若父元素有定位,則以父元素 左上角為基準;若父元素無定位,父父元素有定位,則以父父元素左上角為基準,以此內推。

4.“子絕 父相” 子盒子絕對定位,父盒子相對定位。

  在廣告欄中經常出現 滾動的小圓圈廣告。小圓圈為子盒子,懸停在圖片上,不佔空間,因此可以為絕對定位。對父盒子而言,如果其為絕對定位,那其不佔空間,子盒子為相對定位時,無法以父盒子為基準,可能跑出父盒子外,再者,與父盒子相鄰的其他盒子元素會“頂上來”。

5.浮動 並不是真正意義上的完全“脫標”,能做到完全“脫標”的是position:absolute;

eg:<div class=“star”>小星星</div>

  <div>小月亮</div>

.star {

   float:left;

}

.star {

  position:absolute;

}

第一種後面那個div 會“頂”上去,但其內容文字還是在原位置,因此不是完全的“脫標”;

第二種 則是全部“頂”上去。

6.定位的盒子居中對齊

 例如在輪播效果圖中位於輪播圖之上的小圓圈,

  若盒子加了定位,position:absolute;  或浮動  float:left /right。則margin:0 auto 盒子居中對齊失效。

7.絕對定位:Position:absolute,表示元素無固定位置,在螢幕上可任意滑動覆蓋,當元素屬性為絕對定位,有隱式轉換為行內塊元素的作用,大小與內容有關。可設定 top.left,right,bottom 的值,即在父盒子的上、左、右、下方位多少;

  將盒子都為絕對定位,下面其他的盒子會“頂”上去。後來者居上,重疊上去。

固定定位是特殊的絕對定位,只是以當前所見的瀏覽器為“父”。例如某網站左右側欄廣告一直顯示效果,並不隨滾動條移動而變化。

8.只有定位才有層疊屬性:z-index:0(預設為0),數字越大,層級越高,即將層疊與其他圖片之上顯示。在下拉選單中很常見。

9.相對定位,絕對定位,固定定位都是“脫離”標準流的(浮在標準流上),只不過相對定位佔有固定位置,(相對定位比標準流高一級)絕對定位和固定定位不佔用位置。

   相對定位由於佔有位置,在將浮動元素設定為相對定位時,它會第一個浮動出現(若不設定其他元素z-index )。

   標準流 設定相對定位,層級提升。若都為相對定位,設定z-index 屬性大小,層級提升,優先顯示。