3

我有以下内容可以在网站上显示可点击的图像(无边框):

<a href="link"><img src="img" border="0" /></a>

但是,这不是严格的 XHTML 1.0,所以我也对其进行了更改:

<img src="img" class="mystyle" />

和CSS:

mystyle img
{
    border: 0px;
}

但是,这只适用于 Safari 和 Chrome,不适用于 IE 和 FireFox。

我知道 w3 验证器不是必需的,但想知道是否有人遇到过这个问题并可能修复:)

编辑:风格是一个错字,我的意思是类;)

谢谢

4

5 回答 5

6

需要一些更改(我很惊讶听到它可以在任何浏览器中使用,看起来基于 webkit 的浏览器不会在图像链接周围设置边框,正如@Adriano 在他的评论中提到的那样

HTML中

<img src="img" class="mystyle" />

因为style属性是直接分配属性值,而不是引用css规则。该class属性用于此目的。

CSS中

.mystyle
{
    border: 0px;
}

因为要表示一个班级规则,您需要在.其中添加一个(#对于 ids)。我们img从那里删除了 ,因为这意味着您想要对包含在具有该类img的其他元素中的标签进行样式设置。mystyle

于 2010-11-02T14:45:03.943 回答
2

您的 CSS 缺少“。” 在mystyle前面。这是你想要的CSS:

.mystyle img { 边框:0px; }

在您的 html 中,使用“class”标签,而不是“style”标签。当您包含在行 Css 中时,您将使用样式,例如:

<img href="img" style="border: none;" />
于 2010-11-02T14:45:24.397 回答
2

class="mystyle"首先,不应该style="mystyle"

其次,由于<img> 标记与具有mystyle该类的元素相同,因此您的 CSS 是错误的。

您定义的 CSS 用于一个名为的元素,该元素mystyle位于另一个名为img.

您实际上想要定义样式的方式是img.mystyle.

所以你的 CSS 代码看起来像这样:

img.mystyle {
    border:0px;
}

你的 HTML 看起来像这样:

<img src="img" class="mystyle" />

不过老实说,我更愿意将此应用于所有图像,所以我根本不会费心mystyle。只需有一个样式表条目img即可自行删除任何边框。如果您以后需要向特定图像添加一个,您可以随时覆盖它,但我宁愿默认关闭它。

As for the mystery as to how the original code worked in Chrome/Safari but not Firefox/IE: I suspect that Chrome/Safari have dropped the default border. So it's not so much that they worked for you, it's more that those browsers don't even need you to do this, whereas Firefox and IE are still using the old default style for image links that defaults to giving them a border so they do need the override.

于 2010-11-02T14:48:18.883 回答
0

不应该这样<img src="img" class="mystyle" />吗?

于 2010-11-02T14:46:15.940 回答
0

我的问题是你没有正确地抓住 css。它应该是**.**mystyle img

<a href="link" ><img style="border: 0px" src="http://www.google.com/images/nav_logo16.png"  /></a>
于 2010-11-02T14:47:43.643 回答