欢迎来到福编程网,本站提供各种互联网专业知识!

当ie7不认!important之后 [布局的解决办法]

发布时间:2007-02-02 作者: 来源:转载
在IE7之前,我们在布局时常用!important来解决IE和FF之间的差别;但是在IE7出来之后,!important对IE7就不起作用了,而有些时候IE7的解释方法又与FF和IE6不同;这时新的问题就出现了;用!important可以解决IE6但是解决不了IE7;这样在不同的浏览器中看到的同一个网页
在IE7之前,我们在布局时常用!important来解决IE和FF之间的差别;但是在IE7出来之后,!important对IE7就不起作用了,而有些时候IE7的解释方法又与FF和IE6不同;这时新的问题就出现了;用!important可以解决IE6但是解决不了IE7;这样在不同的浏览器中看到的同一个网页的效果就不同了;

这是前天作布局时的一个问题;可以先看一下效果;http://www.zishu.cn/blogview.asp?logID=553

或者运行一下下边的代码也可以同样看到效果:
复制代码 代码如下:




zishu.cntest





  • 64d/47hitspixu

  • 24d/35hits秀才

  • 66d/87hits透露

  • 40d/34hitsLIVID

  • 47d/56hits老孟

  • 42d/36hits小玉

  • 63d/67hitspixu






在这个例子中,如果我把
程序代码
*+html#zishu_testlia:hoverspan{margin-left:-8px;}/*IE7*/
这行删除;那么在IE7中;就会有差别了;

为了解决这个问题,我看了;http://www.blueidea.com/tech/site/2006/3626.asp里边的一种方法;但是如果程序员和布局人不是同一个人的话;这样的方法很不好控制;于是才有了下边的方法;

以下是代码;
程序代码
复制代码 代码如下:
*html#zishu_testlia:hoverspan{margin-left:-8px;}/*IE6*/
*+html#zishu_testlia:hoverspan{margin-left:-8px;}/*IE7*/

这是针对IE6和IE7的两种方法;
“*+html”被ie7与ie5.01所使用,而区分ie7与ie5.01又有很简单的方法,便是important,把important写在前面,这样才能形成了单独针对ie7hack的方法了。

比如:

*+htmldiv.IE7{
width:200px;!important;
width:100px;
}

相关推荐