浮動
如果希望塊元素在頁面中水平排列,使用float浮動元素,脫離文件流
可選值:
none:預設,元素在文件流中排列
left:元素脫離文件流,向頁面左側浮動
right:元素脫離文件流,向頁面右側浮動
元素浮動後,下邊的元素會立即向上移動 (a浮動後,b會直接頂到上面)
元素浮動後不會超出父元素邊框和內邊距或其它浮動元素
浮動元素上邊是乙個沒有浮動的塊元素,浮動元素不會超過此塊元素(a沒有浮動,b浮動了,會在a下面)
浮動元素不會超過他上邊的兄弟元素,最多一邊齊。
元素浮動後會變成行內塊元素,
子元素內容可能會溢位父元素內容區
overflow:visible 預設值,不會對溢位內容處理,在父元素外顯示
hidden:會剪掉
scroll:新增滾動條(不論垂直和左右方向是否溢位都有)
auto:根據需求新增滾動條
浮動造成的父元素高度塌陷問題(本來父元素內容區高度是由子元素撐起來的,現在沒了)
解決方式1:給父元素新增overflow:乙個非visible屬性
ie6用zoom:1;解決
解決方式2(ie6不支援):.box1:after
解決方式3:在最後新增乙個空的塊元素,並新增clear:both;
clear:left/right/both;清除浮動元素對它最大的影響
推薦方法1
.clearfix:before,.clearfix:after
.clearfix:after
.clearfix
推薦方法2
.clearfix:after
.clearfix
元素的寬度為auto時,內邊距不會影響可見框的大小,而是自動修改寬度,以適應內邊距。
父元素的層級再高也蓋不住子元素
定位通過position屬性來設定元素的定位
可選值:
static:預設值,元素沒有開啟定位
relative:開啟元素的相對定位
absolute:開啟元素的絕對定位
fixed:開啟元素的固定定位(也是絕對定位的一種)
相對定位:relative
1.相對定位是相對於元素在文件流中原來的位置左上角進行定位
2.相對定位的元素不會脫離文件流
3.相對定位會使元素提公升乙個層級
4.相對定位不會改變元素的性質,塊還是塊,內聯還是內聯
使用left,right,top,bottom來設定元素的相對偏移量 比如:left: 100px;top: 200px;
絕對定位:absolute 多用於一些圖示的位置調整
1.開啟絕對定位,會使元素脫離文件流
2.開啟絕對定位以後,如果不設定偏移量,則元素的位置不會發生變化
3.絕對定位是相對於離他最近的開啟了定位的祖先元素進行定位的(一般情況,開啟了子元素的絕對定位都會同時開啟父元素的相對定位),以左上角為定位,不考慮padding值
如果所有的祖先元素都沒有開啟定位,則會相對於瀏覽器視窗進行定位,滾動滾動條可以滾走。
4.絕對定位會使元素提公升乙個層級
5.絕對定位會改變元素的性質,
固定定位:fixed
固定定位也是一種絕對定位,它的大部分特點都和絕對定位一樣
不同的是:
固定定位永遠都會相對於瀏覽器視窗進行定位
固定定位會固定在瀏覽器視窗某個位置,不會隨滾動條滾動
ie6不支援固定定位
實現固定居中顯示
top:50%;
margin-top:-npx;(自身高度的一半)
絕對定位和固定定位後內聯元素變成塊元素,塊元素的寬度和高度預設都被內容撐開,如果沒有內容要寫寬和高
層級如果定位元素的層級是一樣,則下邊的元素會蓋住上邊的
通過z-index屬性可以用來設定元素的層級
可以為z-index指定乙個正整數作為值,該值將會作為當前元素的層級
層級越高,越優先顯示
對於沒有開啟定位的元素不能使用z-index
CSS浮動與定位
css浮動 clear 向哪邊浮動,清除哪邊 clear left 在左側不允許浮動元素。clear right 在右側不允許浮動元素。clear both 在左右兩側均不允許浮動元素 clear none 預設值。允許浮動元素出現在兩側。clear inherit 規定應該從父元素繼承 clear...
CSS浮動與定位
1.1浮動 浮動 是指設定了浮動屬性的元素會脫離標準標準流的控制,移動到其父元素中指定位置的過程。它可以讓任何盒子可以在一行排列,目的用來布局。在css中,通過float屬性來定義浮動,其基本語法格式如下 float none left right選擇器 屬性值描述 left 元素向左浮動 righ...
CSS 定位與浮動
css 定位 static 元素框正常生成。塊級元素生成乙個矩形框,作為文件流的一部分,行內元素則會建立乙個或多個行框,置於其父元素中。相對定位 relative 與最近的乙個元素進行定位。相對於原始的位置進行移動 注意,在使用相對定位時,無論是否進行移動,元素仍然佔據原來的空間。因此,移動元素會導...