當ie7不認!important之後 [布局的解決辦法]_經驗交流

來源:互聯網
上載者:User
在IE7之前,我們在布局時常用!important來解決IE和FF之間的差別; 但是在IE7出來之後,!important對IE7就不起作用了,而有些時候IE7的解釋方法又與FF和IE6不同;這時新的問題就出現了;用!important可以解決IE6但是解決不了IE7; 這樣在不同的瀏覽器中看到的同一個網頁的效果就不同了;

這是前天作布局時的一個問題;可以先看一下效果;http://www.zishu.cn/blogview.asp?logID=553

或者運行一下下邊的代碼也可以同樣看到效果:
複製代碼 代碼如下:




zishu.cn test





  • 64d / 47 hitspixu

  • 24d / 35 hits秀才

  • 66d / 87 hits透露

  • 40d / 34 hitsLIVID

  • 47d / 56 hits老孟

  • 42d / 36hits小玉

  • 63d / 67 hitspixu






在這個例子中,如果我把
程式碼
*+html #zishu_test li a:hover span {margin-left:-8px; }/* IE7*/
這行刪除;那麼在IE7中;就會有差別了;

為瞭解決這個問題,我看了;http://www.blueidea.com/tech/site/2006/3626.asp 裡邊的一種方法; 但是如果程式員和布局人不是同一個人的話;這樣的方法很不好控制; 於是才有了下邊的方法;

以下是代碼;
程式碼
複製代碼 代碼如下:
* html #zishu_test li a:hover span {margin-left:-8px; } /* IE6 */
*+html #zishu_test li a:hover span {margin-left:-8px; }/* IE7*/

這是針對IE6和IE7的兩種方法;
“*+html”被ie7與ie5.01所使用,而區分ie7與ie5.01又有很簡單的方法,便是important,把important寫在前面,這樣才能形成了單獨針對ie7 hack的方法了。

比如:

*+html div.IE7 {
width:200px; !important;
width:100px;
}
  • 相關文章

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.