默認的ul的內外補丁(margin、padding)都不是0,如果在li中用到的左漂浮屬性(float:left;)時往往會把外部div撐大,導致頁面變形,而且在ie6里,第一個li會有一個小小的縮進值,最終導致排版出問題。解決div層不被撐大時應將層的內外補丁設為0即可(margin:0;padding:0;),而解決第一個li有縮進值時則應該定義li為塊狀顯示(display:inline;)即可
2. img屬性的問題
這里牽涉的不同瀏覽器的問題,ie6是一直讓網頁設計師最頭疼的一個問題。頁面插入img時在ie6里有時圖片顯示的高度總是要大于準確值,會多出下面的2px的誤差,解決方法是給img定義一個顯示屬性:img{float:left;}即可
3. overflow屬性的問題
此屬性用的最多的地方就是文本域、注冊協議等,因為文字篇幅比較大,但又不想占用大的頁面篇幅,這里就可以定義好層的寬度和高度值,然后加上overflow:auto;屬性。
4. float屬性問題
有時會在水平方向上漂浮2個或2個以上的div層,都使用了float:left;屬性,最終導致下面的層會漂浮到該水平方向上來,導致頁面顯示非常混亂,不注意的話在排錯階段也很難找出問題所在。對待float屬性一定要謹慎,解決以上問題方法有二,第一是將這幾個漂浮的層的父級層定義clear:both;屬性;第二是將這幾個層的寬度值加起來的值等于父級元素的寬度值,這樣下面的層自然不會漂上來。
5. height值不統一
當height為1px時,在ie6中可能并不是1px而是超過1px,怎么解決呢?方法有兩種,第一種是直接將該div層里的字號設為1px就可以了(font-size:1px;),第二種方法是在該div層里設置行高即可(line-height:1px;),但這里需要提醒下,在ie6里該層不能為空,可以寫一個空格字符( )即可。
6. css編碼問題
很多人寫頁面的時候習慣通過dw軟件來創建一個html頁面,但往往又忽略了其默認編碼格式的設置,最終導致頁面顯示亂碼。@charset "utf-8"注意這行代碼,utf-8與gb2312是比較常用的兩種編碼方式,選擇與之匹配的編碼格式,避免出現亂碼。
7. 關于選擇器的選擇(class和id)問題
當一個div要在頁面中多次使用時,不要用id,要用class,還有就是要用引用js的時候,樣式最好不要用id,因為id要留給js使用,當程序員寫后臺用的是.net時,最好不要用id,id要留給程序員用,前臺我們就用class好了。
8. div層高度自動擴展問題
就是div層的結構很復雜,用了至少2個以上的div層,在定義好最小高及高度為自動,但最后超過層高度后導致在ff中顯示為高度不自動擴展,解決ff不兼容方法很簡單,只要加上:overflow:hiiden;即可。
9. 常用的兼容屬性寫法問題
這里具體實例不列出了,估計長篇大論的也沒問會看,我就把常用到的兼容性屬性列出來,具體靈活運用就靠自己啦!建議定義屬性時書寫順序為FireFox在最前,其次是IE8、IE7,最后是IE6。
①!important屬性只對ff生效,如:width:200px!important;width:100px;則ff里寬度顯示為200px
②帶“_”的屬性只對ie6生效,如:color:red;_color:blue;則ie6里字體顏色為blue
③帶“+”的屬性只對ie7生效,寫法如上
④ff什么都不識別,但樣式中加上上述小符號,則優先對特定瀏覽器生效,例如css定義為:color:yellow;+color:blue;_color:red; 則輸出效果為ff顯示黃色,ie7顯示為藍色,ie6顯示為紅色
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com