【问题标题】:Why is CSS content image not displaying?为什么 CSS 内容图像不显示?
【发布时间】:2015-10-16 15:40:58
【问题描述】:

考虑这个 html:

<div class="logo-b"></div>

还有这个 CSS:

div.logo-b {
    content: url(http://placehold.it/350x150);
    height: 150px;
    border: 1px solid darkred;
}

我正在尝试使用 CSS 显示图像。图像未显示。请参阅此jsfiddle 以了解我的意思。请问我错过了什么?

编辑:Chrome 似乎按照我在上面提供的方式渲染了小提琴,但 Firefox(我使用的)没有。如果我将:before:after 添加到我的CSS 中的类名,图像将显示在Firefox 中。有人能解释一下为什么会这样吗?

编辑:我使用错误的构造将图像放置在我的页面上。在我正在做的事情的上下文中,我应该使用&lt;img&gt; html 标记。 CSS content 构造使用 :before 和/或 after 来放置内容,包括图像,但我知道这些是在特定上下文中使用的。我只是想显示一个徽标。

【问题讨论】:

  • 小提琴对我有用
  • 是的,这个小提琴叉很好
  • content:''; 没有:before:after o_0 我认为你应该使用background-image
  • 所以通常我们必须使用:before:after 总是......问题在cmets 中解决了;)
  • @SteveCooke 你是对的,它与 clearfix 无关:原因是根据定义, content 属性与 :before 和 :after 伪元素一起使用,以插入生成的内容。 (这就是为什么 FF 不支持它.. 但 chrome 支持 :)

标签: html css


【解决方案1】:

此属性content:before:after 一起使用 在文档中生成内容的伪元素。 -W3C

我认为 Firefox 中的行为是正确的。

【讨论】:

  • 是的 - 根据我的问题下的 cmets,这是正确的答案。我不知道它是否能全面了解我的问题 - 更多关于 here
  • 我不知道你的另一个问题是什么,你能澄清一下吗?或发布一个与同一个问题不太相关的新问题。
猜你喜欢
  • 2016-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-16
  • 2015-11-07
  • 2023-03-09
  • 1970-01-01
  • 2014-04-17
相关资源
最近更新 更多