CSS零碎記錄
1、對元素浮動的理解(float)
塊狀元素啟用浮動屬性,就被移出了默認的流隊列,即使其父元素是塊元素。
如果元素不設置寬度和高度,則默認該元素的高寬為0,即使其中有子元素,子元素的高度是不能改變父元素的寬高屬性,繼承不會由下到上。如果子元素在這種情況下,選擇浮動,則子元素被移出了父元素的顯示隊列之中,後續的父元素的兄弟節點就緊跟父元素,而不是在浮動的子元素之下,所以在這種情況下要定義父元素的高度。對象選擇浮動就相當於是換了層,浮動了上層,如果有背景會覆蓋掉父元素的兄弟節點。
將對象設置為float和將對象設置成inline有什麽區別?
如果將塊元素設置了display:inline屬性,則塊元素不在具備寬高屬性,只能有其元素包含的內容來體現他的寬度和高度,如果其中沒有內容,寬高得不到體現。
將對象設置為float和將對象設置為inline-block有什麽區別?
如果將塊元素設置為display:inline-block屬性,塊對象布局時不換行,但是一行之間的對象不能將寬度完全充滿,inline-block屬性本身使對象間具有一定像素的空間,充滿會導致換行。
如果將三個塊元素使用float控制在同一行是否可行?
當然可行,float屬性的設置是對象移出原來的流式排列,可以自由浮動。需要浮動的元素需要都設置float屬性,可以是left或這right。如果需要浮動的元素中有一個沒有設置float的left或者right屬性,則其不換行,因為沒有移出原始的流式排列和其他設置float屬性的元素不在同一層中。一般表現為就是浮動元素換行排列。
2、display:inline定義的對象是沒有寬高屬性的
3、ul,ol: 不能設置背景色或背景圖片,需要同時配置寬高,不然無效。
4、如果父元素裏面有兩個子元素,一個子元素是塊級元素,一個是浮動元素,則兩個是元素在父元素中是兩行排放,共同適應父元素的寬度,自適應高度。如果元素沒有定義高度會根據內容自使用高度,定義了邊框,邊框則隨之拉大。
CSS零碎記錄