【问题标题】:Image border in Strict HTML using CSS使用 CSS 的 Strict HTML 中的图像边框
【发布时间】:2011-05-03 23:41:29
【问题描述】:

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

<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 验证器不是必需的,但我想知道是否有人遇到过这个问题并可能修复:)

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

谢谢

【问题讨论】:

    标签: html css border image w3c-validation


    【解决方案1】:

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

    HTML

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

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

    CSS

    .mystyle
    {
        border: 0px;
    }
    

    因为要表示一个类规则,你需要在它上面加上一个.# 代表 ids)。我们从那里删除了img,因为这意味着您想要设置img标签的样式,这些标签包含在具有mystyle类的其他元素中。

    【讨论】:

    • 谢谢。我现在很惊讶它可以在 Safari/Chrome 中运行。正如我上面提到的,我的意思是类,而不是我的 HTML sn-p 中的样式。也许它足够聪明来解决它? ^^
    • 也许 chrome 和 safari(都是基于 webkit,不是吗)默认显示无边框的链接图像,所以无论如何你都会得到你想要的行为
    【解决方案2】:

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

    .mystyle img { 边框:0px; }

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

    <img href="img" style="border: none;" />
    

    【讨论】:

      【解决方案3】:

      不应该是&lt;img src="img" class="mystyle" /&gt;吗?

      【讨论】:

        【解决方案4】:

        我的问题是你没有正确地捕捉 css。 应该是**.**mystyle img

        <a href="link" ><img style="border: 0px" src="http://www.google.com/images/nav_logo16.png"  /></a>
        

        【讨论】:

          【解决方案5】:

          首先,它应该是class="mystyle" 而不是style="mystyle"

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

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

          您真正想要定义样式的方式是img.mystyle

          所以你的 CSS 代码应该是这样的:

          img.mystyle {
              border:0px;
          }
          

          您的 HTML 将如下所示:

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

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

          至于原始代码如何在 Chrome/Safari 而不是 Firefox/IE 中工作的谜团:我怀疑 Chrome/Safari 已经放弃了默认边框。所以与其说它们对你有用,更多的是那些浏览器甚至不需要你这样做,而 Firefox 和 IE 仍然使用旧的默认样式的图像链接,默认给它们一个边框,所以他们这样做需要覆盖。

          【讨论】:

            猜你喜欢
            • 2021-09-23
            • 2020-11-08
            • 2013-10-10
            • 1970-01-01
            • 2012-12-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多