規(guī)范:
1.計(jì)算一定要準(zhǔn)確,不要讓內(nèi)容的高度超過我們?cè)O(shè)置的寬高【再IE6下,內(nèi)容會(huì)撐開設(shè)置好的寬高】;
2.在IE6元素浮動(dòng),如果寬度需要內(nèi)容撐開,就給里邊的塊元素都加浮動(dòng);
3.在IE6,7下元素要通過浮動(dòng)并在同一行,就給這行的元素都加浮動(dòng);
4.注意標(biāo)簽嵌套規(guī)范(p標(biāo)簽不能嵌套塊元素);
1.IE6下最小高度問題
再IE6下元素高度小于19px的時(shí)候,會(huì)被當(dāng)做19px來處理
解決辦法:overflow:hidden
2.border——>1px dotted(1像素點(diǎn)線) IE6不支持
解決辦法:切背景平鋪
3.再IE6下解決上下margin傳遞要觸發(fā)haslayout
解決辦法:overflow:hidden;zoom:1;
4.IE6下雙邊距BUG
再IE6下,塊元素有浮動(dòng)和橫向的margin值,橫向的margin值會(huì)被放大成兩倍
解決辦法:display:inline
(margin-right:一行右側(cè)第一個(gè)元素雙邊距;margin-left:一行左側(cè)第一個(gè)元素雙邊距)
5.再IE6下父級(jí)有邊框的時(shí)候,子元素的margin值消失
解決辦法:觸發(fā)父級(jí)的haslayout——>zoom:1;(盡量使用同一方向的margin)
6.再IE6下,li本身沒浮動(dòng),但是li的內(nèi)容有浮動(dòng),li下邊就會(huì)產(chǎn)生一個(gè)間隙——>4px
解決辦法:①給li加浮動(dòng)(當(dāng)IE6下最小高度和li間隙問題同時(shí)存在時(shí),用)
? ? ? ? ? ? ? ? ? ②給li加vertical-align
7.在IE6下文字溢出BUG
子元素的高度和父級(jí)的寬度相差小于3px,兩個(gè)浮動(dòng)元素之間有注釋內(nèi)容或者內(nèi)嵌元素
解決辦法:①與父級(jí)寬度相差3px以上;②用div把注釋或者內(nèi)嵌元素包起來
8.當(dāng)浮動(dòng)元素和絕對(duì)定位元素是并列關(guān)系的時(shí)候,再IE6下絕對(duì)定位元素會(huì)消失
解決辦法:給定位元素外面包個(gè)div,讓他們不是并列關(guān)系
9.再IE6,7下元素有相對(duì)定位的話,父級(jí)的overflow包不住子元素
解決辦法:給父級(jí)也加相對(duì)定位
10.在IE6下絕對(duì)定位元素的父級(jí)是奇數(shù)的時(shí)候,元素的right值和bottom值會(huì)有1px的偏差
解決辦法:避免奇數(shù)
11.在IE6下輸入類型的表單控件上下各有1px的間隙
解決辦法:給input加浮動(dòng)
12.在IE6,7,下輸入類型的表單控件輸入文字的時(shí)候,背景圖片會(huì)跟著一塊移動(dòng)
解決辦法:把背景加給父級(jí) ?或者 ?給input元素設(shè)置background-attachment:fixed;
13.固定定位IE6不支持
解決辦法:用js
14.不透明度
解決辦法:opacity:0~1;filter:alpha(opacity=0~100);
15.IE6不支持png24圖片
解決辦法:①用JS插件(問題:不能處理body之上png24)
? ? ? ? ? ? ? ? ? ②原生濾鏡
16.IE6不支持display:inline-block
解決辦法:{*display:inline;*zoom:1;}
17.IE6,7父級(jí)的overflow:hidden是包不住子級(jí)的relative
解決辦法:給父級(jí)加position:relative;
18.第一塊塊元素浮動(dòng),第二塊元素加margin值等于第一塊元素,再IE下會(huì)有間隙問題
解決辦法:①不要這么寫 ? ? ?②用浮動(dòng)去解決,不要用margin
19.再IE6下,在!important后邊再加一條同樣的樣式,會(huì)破壞掉!important的作用,會(huì)按照默認(rèn)的優(yōu)先級(jí)順序走