一、盒模型
1、盒模型由內容、內邊距、邊框、外邊距組成。
2、在CSS中,width和height指的是內容區域的高度和寬度,增加內邊距、邊框和外邊距的高度和寬度不會影響內容區域的內容區域的尺寸,但會增加元素框的總尺寸。
3、在IE中width指的是內容、內邊距和邊框的和
二、div水平垂直居中的方法
1、 margin-left:auto; margin-right:auto;(水平居中)
2、 假定有個父div和一個子div,要讓子div相對於父div水平垂直居中
三、固定佈局、流式佈局和彈性佈局的區別:
固定佈局:寬度以像素爲單位
流式佈局:尺寸用百分數而不是像素設置
彈性佈局:用自號來設置元素寬度
四、常見bug及其修復方法
1、 雙外邊距浮動bug
Windows上的IE6及其更低版本使浮動元素上的外邊距加倍,解決方法:display:inline
2、 3像素文本偏移bug
當文本與一個浮動元素相鄰時,文本在相鄰的地方會出現3像素間隙。
正常情況:
IE6及以下:
解決方法:
浮動元素非圖片
浮動元素是圖像:
IE5.x下:
Img .myFloat{
margin:0-3px;
}
IE6下
Img .myFloat{
margin:0;
}
3、 IE6的重複字符bug
當在一系列浮動元素的第一個和最後一個元素之間有多個註釋時,就會出現這個bug。前兩個註釋沒有影響,後續的每個註釋會導致兩個字符重複出現。3個註釋導致2個重複字符,4個註釋導致4個重複字符,5個註釋導致6個重複字符。
解決方法:去掉HTML中的註釋。
4、 IE6的藏貓貓bug
一個浮動元素後面跟着一些非浮動元素,然後是一個清理元素,所有這些元素都包含在一個設置了背景顏色或圖片的父元素中。如果清理元素碰到了浮動元素,那麼中間的非浮動元素看起來消失了,隱藏到了父元素的背景顏色或圖像後面,只有在刷新頁面時才重新出現。
解決方法:
1、 避免清理元素與浮動元素接觸
2、 給容器元素設定尺寸(之前是沒有設定尺寸的)
3、 給容器指定行高。
4、 將浮動元素和容器元素的position設置爲relative。
5、 相對容器中的絕對定位
IE5.x對相對容器中的絕對定位元素的絕對定位方式不正確,絕對元素會錯誤地相對於視口對框進行定位。(原因在於相對定位的元素沒有獲得IE?win內部的hasLayout屬性)
解決方案:
使用條件註釋過濾IE5和IE6,爲容器佈局提供一個任意的高度
.container{
Height:1%;
}
(這會讓容器擁有佈局,但是因爲IE6和更低版本中的元素會不正確地擴展以適應它們的內容,所以設置小的高度不會影響實際高度)