DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> 讓FireFox與IE兼容 CSS常見問題大全(1)
讓FireFox與IE兼容 CSS常見問題大全(1)
編輯:CSS詳解     

在前端開發中,我們經常遇到浏覽器的兼容性問題,特別是IE與FireFox之間。文章列舉了開發人員比較常見的Firefox與IE之間的兼容性問題,同時給出了相關的解決方法。

51CTO相關閱讀:CSS hack:實現IE6、IE7、Firefox兼容

1.超鏈接訪問過後hover樣式就不出現的問題

被點擊訪問過的超鏈接樣式不在具有hover和active了,很多人應該都遇到過這個問題,解決方法是改變CSS屬性的排列順序: L-V-H-A:

  1. <style type="text/CSS">
  2. <!--
  3. a:link {}
  4. a:visited {}
  5. a:hover {}
  6. a:active {}
  7. -->
  8. </style>
  9. <style type="text/CSS">
  10. <!--
  11. a:link {}
  12. a:visited {}
  13. a:hover {}
  14. a:active {}
  15. -->
  16. </style>

2.Firefox下如何使連續長字段自動換行

眾所周知IE中直接使用 word-wrap:break-Word 就可以了, FF中我們使用JS插入&#10;的方法來解決:

  1. <style type="text/CSS">
  2. <!--
  3. div {
  4. width:300px;
  5. word-wrap:break-Word;
  6. border:1px solid red;
  7. }
  8. -->
  9. </style>
  10. <div id="ff">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  11. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  12. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  13. aaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
  14. <style type="text/CSS">
  15. <!--
  16. div {
  17. width:300px;
  18. word-wrap:break-Word;
  19. border:1px solid red;
  20. }
  21. -->
  22. </style>
  23. <div id="ff">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  24. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  25. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  26. aaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
  27. Java代碼
  28. <scrīpt type="text/Javascrīpt">
  29. /* <![CDATA[ */
  30. function toBreakWord(el, intLen){
  31. var ōbj=document.getElementById(el);
  32. var strContent=obj.innerHtml;
  33. var strTemp="";
  34. while(strContent.length>intLen){
  35. strTemp+=strContent.substr(0,intLen)+"&#10;";
  36. strContent=strContent.substr(intLen,strContent.length);
  37. }
  38. strTemp+="&#10;"+strContent;
  39. obj.innerHtml=strTemp;
  40. }
  41. if(document.getElementById && !document.all) toBreakWord("ff", 37);
  42. /* ]]> */
  43. </script>
  44. <scrīpt type="text/Javascrīpt">
  45. /* <![CDATA[ */
  46. function toBreakWord(el, intLen){
  47. var ōbj=document.getElementById(el);
  48. var strContent=obj.innerHtml;
  49. var strTemp="";
  50. while(strContent.length>intLen){
  51. strTemp+=strContent.substr(0,intLen)+"&#10;";
  52. strContent=strContent.substr(intLen,strContent.length);
  53. }
  54. strTemp+="&#10;"+strContent;
  55. obj.innerHtml=strTemp;
  56. }
  57. if(document.getElementById && !document.all) toBreakWord("ff", 37);
  58. /* ]]> */
  59. </script>

3.ff下為什麼父容器的高度不能自適應

在子容器加了浮動屬性後,該容器將不能自動撐開,解決方法是在標簽結束後加上一個清除浮動的元素。

  1. clear: both;
  2. clear: both;

4.IE6的雙倍邊距BUG

浮動後本來外邊距10px,但IE解釋為20px,解決辦法是加上:

  1. display: inline
  2. display: inline

5. IE6下絕對定位的容器內文本無法正常選擇的問題

此問題在IE6、7中存在,解決問題的辦法是讓IE進入到qurks mode。

6. IE6下為什麼圖片下方有空隙產生

解決這個BUG的方法也有很多,可以是改變Html的排版,或者設置img 為display:block 或者設置vertical-align 屬性為vertical-align:top | bottom |middle |text-bottom
都可以解決.

7. IE6下兩個層中間怎麼有間隙

這個IE的3PX BUG也是經常出現的,解決的辦法是給.right也同樣浮動 float:left 或者相對IE6定義.left margin-right:-3px;

8. list-style-image無法准確定位的問題

list-style-image的定位問題也是經常有人問的,解決的辦法一般是用li的背景模擬,這裡采用相對定位的方法也可以解決。

9. LI中內容超過長度後以省略號顯示的方法

此方法適用與IE與OP浏覽器:

  1. <style type="text/CSS">
  2. <! --
  3. li {
  4. width: 200px;
  5. white-space:nowrap;
  6. text-overflow:ellipsis;
  7. -o-text-overflow:ellipsis;
  8. overflow: hidden;
  9. }
  10. -->
  11. </style>
  12. <style type="text/CSS">
  13. <! --
  14. li {
  15. width: 200px;
  16. white-space:nowrap;
  17. text-overflow:ellipsis;
  18. -o-text-overflow:ellipsis;
  19. overflow: hidden;
  20. }
  21. -->
  22. </style>
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved