手机
当前位置:查字典教程网 >网页设计 > Div+Css教程 >当ie7不认!important之后 [布局的解决办法]
当ie7不认!important之后 [布局的解决办法]
摘要:在IE7之前,我们在布局时常用!important来解决IE和FF之间的差别;但是在IE7出来之后,!important对IE7就不起作用了...

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

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

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

复制代码 代码如下:

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>

<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>

<title>zishu.cntest</title>

<style>

body{font-size:12px;line-height:1.8;font-family:Verdana,"宋体",Arial,Sans;text-align:center;background:#FFF;color:#666;margin:50px;padding:0;list-style:none;}

a:link,a:visited{color:#000099;text-decoration:underline;}

a:hover,a:active{color:#000;text-decoration:none;}

#zishu_testli{float:left;width:14%;text-align:center;margin:0auto;list-style:none}

#zishu_testlia{border-right:1pxsolid#fff;border-bottom:1pxsolid#fff;width:100px;height:110px;background:#fff;display:block;padding-top:10px;margin:auto}

#zishu_testliimg{width:75px;height:75px;display:block;text-align:center;margin:auto;background:#FFF;padding:3px;border:1pxsolid#D8A18B;}

#zishu_testlispan{display:none;}

#zishu_testlia:hoverspan{margin-top:-10px;display:block;border-bottom:1pxsolid#666;border-right:1pxsolid#666;background:#FA9000;width:100px;color:#FFF;position:absolute;}

*html#zishu_testlia:hoverspan{margin-left:-8px;}/*IE6*/

*+html#zishu_testlia:hoverspan{margin-left:-8px;}/*IE7*/

#zishu_testlia:hover{border-right:1pxsolid#D8A18B;border-bottom:1pxsolid#D8A18B;width:100px;height:110px;background:#F5F5F5;display:block;padding-top:10px;}

</style>

</head>

<body>

<divid="zishu_test">

<ul>

<li><ahref="http://yy.kijiji.cn/u/秀才"><span>64d/47hits</span><imgsrc="http://yy.kijiji.cn/img/p/10000009.jpg">pixu</a></li>

<li><ahref="http://yy.kijiji.cn/u/秀才"><span>24d/35hits</span><imgsrc="http://yy.kijiji.cn/img/p/294343.jpg">秀才</a></li>

<li><ahref="http://yy.kijiji.cn/u/秀才"><span>66d/87hits</span><imgsrc="http://yy.kijiji.cn/img/p/10000010.jpg">透露</a></li>

<li><ahref="http://yy.kijiji.cn/u/秀才"><span>40d/34hits</span><imgsrc="http://yy.kijiji.cn/img/p/11709126.jpg">LIVID</a></li>

<li><ahref="http://yy.kijiji.cn/u/秀才"><span>47d/56hits</span><imgsrc="http://yy.kijiji.cn/img/p/10000002.jpg">老孟</a></li>

<li><ahref="http://yy.kijiji.cn/u/秀才"><span>42d/36hits</span><imgsrc="http://yy.kijiji.cn/img/p/11695932.jpg">小玉</a></li>

<li><ahref="http://yy.kijiji.cn/u/秀才"><span>63d/67hits</span><imgsrc="http://yy.kijiji.cn/img/p/10000025.jpg">pixu</a></li>

</ul>

</div>

</body>

</html>

在这个例子中,如果我把

程序代码

*+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;

}

【当ie7不认!important之后 [布局的解决办法]】相关文章:

css控制div不能居中的解决办法

IE6下图片下方有空间距的多种解决方法

CSS实现左图右文混排布局的方法

CSS实现样式布局的锦囊妙计22招

ie placeholder属性的兼容性问题解决方法

div标签中的元素margin-top失效的解决方法

在ie7下css居中样式text-align:center;偏左问题解决方法

浏览器不支持position: fix的解决

CSS中的!important属性用法

li行间距大(IE中多了5个像素)的解决方法

精品推荐
分类导航