組來了一個新人小弟,CSS的問題都是比較常見的基礎(chǔ)問題,解決并回答的過程中,就當(dāng)鞏固了
絕對定位和相對定位的使用規(guī)則
<對于float>
1.可以一起組合使用的屬性
position:relative;
float:left;
情況分類:
relative本身是定義元素相對定位的屬性
當(dāng)定義relative出現(xiàn)在絕對定位布局的父元素身上時,該屬性僅是作用absolute元素的參考,沒有定位上的布局安排,使用float可以進(jìn)行布局,而不會浪費或是沖突
當(dāng)定義relative是作用于元素本身,進(jìn)行相對定位的布局時,則不要用float屬性,因為定位的位置由top等屬性的屬性定義
2.不可以組合使用的屬性
position:absolute;
float:left;
原因:
因為定義了absolute,元素會去尋找定義relative的父元素,進(jìn)行絕對定位布局,所以float的任何定義都不會生效。
<對于display>
relative : 原來是什么類型的依舊是什么類型。
absolute | fixed : 元素就被重置為了區(qū)塊元素
相對定位和絕對定位的使用率
整體而言:少用
使用選擇:除非做些特效或有必要才定位
原因:
1.影響布局加載的速度,會變慢
2.絕對定位:(和文檔流沒關(guān)系)如無申明,則其是對與body而言的。處理不好的話,如顯示器尺寸變了,可能就會變型。
? ?相對定位:相對他該出現(xiàn)的位置,如無設(shè)top left之類,和普通基本一樣。
相對定位和決定定位是脫離文檔流的一種布局
1.文檔流:默認(rèn)情況下,所有元素都是在z-index: 0 這一層的,這就是文檔流。
2.脫離文檔流:設(shè)置position: relative 或 position: absolute會讓元素浮起來(就像游戲中的概念-多層圖層),也就是z-index大于0,它會改變正常情況下的文檔流。
可以參考的博客:http://www.cnblogs.com/baimiaolei/p/5627755.html