2010-02-27 104 views

回答

2

尝试使用Descendant Selectors

a img { 
    border-bottom: none; 
} 

如果它似乎并没有工作,首先确保选择是正确的(即是引用正确的元素(S))通过把一些疯狂的陈述中这将明确哪些元素是受着选择:

a img { 
    color: red; 
    background-color: red; 
    border-bottom: none; 
} 

当选择工作正常,你就可以专注于不工作(不要忘记删除疯狂陈述的声明,虽然!)。这可能是被覆盖的地方,所以要尽量增加!important到语句的结尾:

border-bottom: none !important; 

如果一切正常,那么你需要仔细检查你的CSS代码,并重新安排你的风格规则,这样你不覆盖这个规则。

如果它仍然不起作用,那么请确保您使用正确的值覆盖正确的属性。

+0

已经尝试过。不知道为什么,但它不起作用。该图像没有边框,但由于某种原因,底部仍有边框。当我将鼠标悬停在标签上时,Firebug仅突出显示边框。只有图像,如果我悬停在img标签...所以它似乎是一个强调空间。 – 2010-02-27 09:57:41

+0

他看到文字装饰,而不是实际的'边框' – 2010-02-27 11:23:14

+0

@Squeegy:我可以保证你看到了边框,而不是文字的装饰。 – 2010-02-27 12:31:33

0

....

<style> 
    a{border-bottom: 1px solid;} 
    a img{border:none;} 
</style> 
+0

所有浏览器都不支持属性选择器。改编:IE会对它进行攻击。 – 2010-02-27 11:24:54

+0

@Squeegy:你是对的,但我认为所有的现代浏览器都支持IE7,但IE6(当然),反正修复 – Sarfraz 2010-02-27 11:33:37

2

a { text-decoration: none }

您看到的链接文字装饰下划线默认。但是,如果它们包含img标记,则不能在a标记上更改样式。 CSS不会那样工作。你可以添加一个类到任何a与图像,并根据它分配一个风格。

CSS

a.image { text-decoration: none } 

HTML

<a href="foo" class="image"><img src="foo.jpg"/></a> 
0

你为什么不换行<img><span>然后使用CSS

a {border-bottom: 1px solid #33ccff;} 
span a {border: none;} 
0

特别是由于标准的解决方案没有按” t为你工作,一些代码会非常有帮助。

在黑暗中拍摄,我的建议是,指定边框宽度:

a { border-bottom: 1px solid blue; } 
a img { border-width: 0 0 0 !important; } 

a img { border-bottom-width:0; } 

,未能这类原因,我开始寻找其他的风格,这将是重叠(不一定是继承,只影响悬停时的视觉空间),如填充和边距以及包含元素的背景颜色。

相关问题