DIV CSS在ie6 下超链接失效。CSS告诉帮忙

我的背景图片是不规则的,用GIF会有虚边,所以必须使用png格式,但ie6下png呈灰色,所以必须使用CSS滤镜。现在都实现了,但层内的超链接却失效。(图片我已附上,另存... 我的背景图片是不规则的,用GIF会有虚边,所以必须使用png格式,但ie6下png呈灰色,所以必须使用CSS滤镜。现在都实现了,但层内的超链接却失效。(图片我已附上,另存png格式)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
<!--
.show .info_left{
height:33px;
line-height:33px;
width:120px;
background: url(../images/i_show/i_show_BT03.png);
text-indent:10px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/i_show/i_show_BT03.png'); /* IE6 */
_background-image: none; /* IE6 */
}
.info_left a:link,
.info_left a:visited,
.info_left a:hover{
color:#FF0000;
}
-->
</style>
</head>
<body>
<div class="show">
<div class="info_left"><a target="_blank" onclick="location.href='http://www.baidu.com'">超链接失效</a></div>
</div>
</body>
</html>
测试ie6 就成,给我解决的我50加分。
只有CSS中的图片路径都可用且正确才能看到问题,否则滤镜不可用就看不出来了。谢谢大家,用ie6试试。我追加 80 分。
展开
 我来答
wo_and_men
2010-09-07
知道答主
回答量:13
采纳率:0%
帮助的人:6.6万
展开全部

我把你的代码测了一下,没问题啊,ie6也是可以点击的。

你要用png图片,想在ie6里面兼容其实用js也可以实现的。

function correctPNG()     

{     

 for(var i=0; i<document.images.length; i++)     

 {     

  var img = document.images[i]     

  var imgName = img.src.toUpperCase()     

  if (imgName.substring(imgName.length-3, imgName.length) == "PNG")     

  {     

  var imgID = (img.id) ? "id='" + img.id + "' " : ""     

  var imgClass = (img.className) ? "class='" + img.className + "' " : ""     

  var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "     

  var imgStyle = "display:inline-block;" + img.style.cssText     

  if (img.align == "left") imgStyle = "float:left;" + imgStyle     

  if (img.align == "right") imgStyle = "float:right;" + imgStyle     

  if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle     

  var strNewHTML = "<span " + imgID + imgClass + imgTitle     

  + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"     

+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"     

  + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"     

  img.outerHTML = strNewHTML     

  i = i-1     

  };     

 };     

};     

if(navigator.userAgent.indexOf("MSIE")>-1)     

{     

window.attachEvent("onload", correctPNG);     

};    

用这段代码就可以解决png在ie6的兼容问题

还有就是你说用gif格式的会有白边,你可以用ps这样保存ctrl+alt+shift+s,然后再右边选项部分选gif,有一个选项mettle,选none,这样就不会有白边了。

貊佳寻8397
2010-09-16 · TA获得超过5500个赞
知道小有建树答主
回答量:858
采纳率:0%
帮助的人:1667万
展开全部
不知道你的背景图片放在什么地方,根据link rel="stylesheet" type="text/css" href="style/main.css"你调用CSS的路径看,如果图片在父目录下的images文件夹下的话,在这个CSS里设置图片应该是先返回父目录吧

background-image:url("1.jpg");
就应该是background-image:url("../images/1.jpg");

这样才对
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
易烨华0h2
2010-09-08
知道答主
回答量:53
采纳率:0%
帮助的人:24.8万
展开全部
用了ie的滤镜就是这样麻烦

只要在用到滤镜filter内的a链接样式上加上position:relative;链接就可以生效了

楼主,给你介绍一篇相关文章,请看参考资料

参考资料: http://www.pqshow.com/design/htmlcss/200912/12604.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dx_1210
2010-09-07 · TA获得超过141个赞
知道小有建树答主
回答量:351
采纳率:0%
帮助的人:170万
展开全部
<div class="info_left">这个DIV首先就没有用吧!!过多的标签!试试下面的下法吧!!

<body>
<div class="show">
<a target="_blank" href="http://www.baidu.com">超链接失效</a>
</div>
</body>

.show a,.show a:hover{
color:#FF0000;
display:inline-block ;
height:33px;
line-height:33px;
width:120px;
background: url(../images/i_show/i_show_BT03.png);
text-indent:10px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/i_show/i_show_BT03.png'); /* IE6 */
_background-image: none; /* IE6 */
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaofeispace
2010-09-07 · TA获得超过511个赞
知道小有建树答主
回答量:152
采纳率:0%
帮助的人:88.9万
展开全部
我不知道你到底想要什么效果,你把你想要的效果告诉我好么?
然后我来帮你解答啊,呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式