鉴于以下页面(SSCCE,就像我们都喜欢它):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
* {
border:0;
margin:0;
padding:0;
}
body {
background:#BCD5E1;
font:.85em Verdana;
}
#flag_panel {
position:absolute;
right:15px;
top:20px;
}
#flag_panel img {
vertical-align:middle;
}
#flag_panel .selected_image {
border:solid 2px #444;
padding:5px;
}
</style>
</head>
<body>
<div id="flag_panel">
<a href="#">
<img src="ro.gif" />
</a>
<img class="selected_image" src="us.gif" />
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这个HTML文件和2个图像可以在URL找到:image-problem.zip(1.6 KB)
预期的结果是:

但实际结果是:

如您所见,这两幅图像之间有一点下划线.我无法弄清楚原因.
我在Firefox v24和Chrome v31中尝试了这段代码.所以我很确定我是那个失踪的人.
我注意到这个问题在两种情况下消失了:
<img class="selected_image"...之前到来<a href="#"...(也就是说他们被交换)<a>).这段代码的目标是能够在我拥有的网站上切换英语和罗马尼亚语之间的语言.因此,其中一个图像必须始终具有该边框,而另一个图像必须始终可点击.但我希望能够在没有出现那种下划线的情况下做到这一点(看起来丑陋/越野车).
关于如何解决这个问题的任何想法?谢谢.
将标记元素及其内容放在一行上,例如: <a href="#"><img src="ro.gif" /></a>
编辑:
该text-decoration: none;方法仍然为您提供可点击的空白区域.