DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> 深入學習DIV CSS設計中常見問題解決辦法(3)
深入學習DIV CSS設計中常見問題解決辦法(3)
編輯:CSS詳解     

18、如何解決IE下的3像素BUG?

參閱:http://blog.doyoe.com/article.ASP?id=68

19、DIV CSS設計中如何做1像素細邊框的table?

方法1:設置table的border-collapse:collapse;

  1. <styletypestyletype="text/CSS">
  2. table{border-collapse:collapse;border-color:#000;}
  3. td{border-color:#000;}
  4. </style>
  5. <tablecellspacingtablecellspacing="0"cellpadding="0"border="1">
  6. <tr>
  7. <td>測試</td>
  8. <td>測試</td>
  9. </tr>
  10. </table>

方法2:關鍵在於設置cellspacine="1",用間隙來作為邊框

  1. <styletypestyletype="text/CSS">
  2. table{background:#000;}
  3. tr{background:#fff;}
  4. </style>
  5. <tablecellspacingtablecellspacing="1"cellpadding="0"border="0">
  6. <tr>
  7. <td>測試</td>
  8. <td>測試</td>
  9. </tr>
  10. </table>

20、以圖換字的幾種方法及優劣分析

以圖換字,其實是為了保證頁面的可讀性,這樣既有利於搜索引擎,又有利於結構查看。由於這種方式被大多數人所認同,所以方法也越來越多:

方法1:使用text-indent的負值,將內容移出容器;
方法2:使用display:none,將內容隱藏;
方法3:使用padding將文字擠出容器之外,並將超出的部分hidden;
方法4:使用font設置超小字體,達到隱藏內容的目的。

方法1(非常不推薦)看起來蠻簡單,但其實有幾個不理想的地方,1是比較吃資源;2是在IE5下面會出現滯後背景無法顯示;3是內容為超鏈接時,長長的黑色虛框,讓你抓狂。
方法2(不推薦)其實倒也不復雜,只是需要多添加一個標簽,比較浪費;且display:none出現的幾率太多,對SEO也是會有些許影響的。
方法3(推薦)StandardModel下要2層標簽才能搞定,不過相對方法1和2還是有優勢的,推薦一下。
方法4(強烈推薦)只需要將字體和行高設置為0,然後overflow:hidden就行;不過這樣在Safari和Chrome下還是會有1px高的字出現,所以應該再設置一下字體的顏色和背景圖相同或相近。以此就同樣可以達到隱藏內容的目的,暫時還沒發現有什麼副作用,強烈推薦。

21、DIV CSS設計中如何容器透明,內容不透明?

假設在標准模式下有如下結構:

  1. <divclassdivclass="outer">
  2. <pclasspclass="inner">我不要透明</p>
  3. </div>

IEonly的方法:在父容器outer被設置為透明後,只需要將子容器inner設置為position:relative;如果需要兼容其它浏覽器,則以上的方法不適用,且結構也需改為:

  1. <divclassdivclass="outer"></div>
  2. <divclassdivclass="inner">我不要透明</div>

然後使用position+z-index搞定位置

22、DIV CSS設計中如何去掉鏈接的虛線框?

IE下:<ahref="#"onfocus="this.blur();"...>
FF下:a{outline:none;}

23、如何使得頁面字體行距始終保持n倍字體大小為基調?

在body內設置line-height:n即可,注,不可以為它加上單位
原因可參閱:http://blog.doyoe.com/article.ASP?id=195

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved