【问题标题】:Content url does not display image on firefox browser, is there a work around that doesn't require removing alt tags?内容 url 在 Firefox 浏览器上不显示图像,是否有不需要删除 alt 标签的解决方法?
【发布时间】:2017-09-05 18:58:11
【问题描述】:

我想根据屏幕大小为我网站的用户提供不同的图像,但是在 css 中使用内容 url 不适用于 firefox,并且还需要使用 :after css 属性来提供图像(见下文):

所有浏览器:

.AnImage{ 
  content: url("images/Home/2560/SimonAndGeorgia.jpg");
}

火狐:

.AnImage:after { 
  content: url("images/Home/2560/SimonAndGeorgia.jpg");
}

这种方法的问题是alt在firefox中显示并且必须删除! 我想要 alt 标签,并且我想为不同大小的设备提供不同的图像以加快下载速度。

现在是 2017 年,肯定有人有解决方案,所以我可以两者都做???请

【问题讨论】:

  • 你能创建一个最小的例子吗?这会给我自己和其他人一些可以合作的东西。谢谢。
  • 由于您的“Firefox”解决方案适用于所有浏览器,因此您不仅可以在 Firefox 中使用它
  • HTML: <div id="mydiv"></div> CSS: #mydiv::after {content: url('/img/the-img.png'); } 适用于 FF、IE(从 v8 仿真开始)和 Google Chrome。哪些浏览器不支持?
  • 其实右边的选择器是::afterdeveloper.mozilla.org/en/docs/Web/CSS/::after
  • content CSS 属性是为 ::after::before 伪元素定义的。 developer.mozilla.org/en-US/docs/Web/CSS/content 一些浏览器可能会提供一些扩展实现。

标签: javascript jquery html css firefox


【解决方案1】:

我最终更改了我所有的 content:url css 以包括 :after 与 firefox 一起使用。

.AnImage, .AnImage:after{ 
  content: url("images/Home/2560/SimonAndGeorgia.jpg");
}

与此 javascript 代码耦合以删除 firefox 中的 alt 标签:

 // Firefox 1.0+
    if (typeof InstallTrigger !== 'undefined') {
        //alert("we are using firefox");
        var elements = document.getElementsByTagName('img');
        for (var i = 0, len = elements.length; i < len; i++) { 
     elements[i].removeAttribute('alt'); }
    }

因此 alt 标签用于 SEO,但在使用 Firefox 时被删除。

【讨论】:

  • 此解决方案不适用于引导轮播,最终我只是删除了 content:url 并添加了使用的 src。有谁知道这个的解决方案?使用 display: none 效果不佳,因为大多数浏览器都加载了图像,因此不会节省带宽/速度
猜你喜欢
  • 2013-07-28
  • 1970-01-01
  • 2014-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-20
  • 2021-03-24
  • 1970-01-01
相关资源
最近更新 更多