Chrome、Firefox 和 Explorer 中的图片、srcset 和 css

Posted

技术标签:

【中文标题】Chrome、Firefox 和 Explorer 中的图片、srcset 和 css【英文标题】:picture, srcset and css in Chrome, Firefox, and Explorer 【发布时间】:2019-04-13 07:10:22 【问题描述】:

在 Chrome (70.0.3538.77)、Firefox (63.0.1) 和 Internet Explorer ( 11.0.9600.19155)

<style type="text/css">
  .ralphBackground 
    position: absolute;
    left: 0px;
    top: 0px;
    z-index: -1;
    width: 100%;
    height: 100%;
    transition: opacity 5.5s;
  

  .ralphFadeIn 
    opacity: 0;
    transition: opacity 5.5s;
  
</style>

<div>
  <picture>
    <source srcset="/assets/root/360x740-text/740x360-text.png" media="(orientation: landscape)">
    <source srcset="/assets/root/360x740-text/360x740-text.png" media="(orientation: portrait)">
    <img class="ralphBackground" id="ralphBackgroundId" src="/assets/root/SomePicture - 2048x1367.png" />
  </picture>
</div>

<div> 
<script language="javascript" type="text/javascript">
    const ralphBackground = document.getElementById('ralphBackgroundId');


    $( window ).on('load', function() 
      ralphBackground.style.opacity = '0.55';
    );
  </script>
</div>

在 Chrome 和 Firefox 中,css 类 ralphBackground 会根据窗口的方向(即大小)应用于 360x740-text.png 或 740x360-text.png 的图像,并显示相应的图像。这种行为让我既惊讶又高兴,因为我在任何地方都没有发现任何文件表明会发生这种情况。

在资源管理器中,它是 一些图片 - 2048x1367.png 显示的图像。

我从https://www.diffuse.nl/blog/creating-responsive-images-with-srcset-and-sizes 引用以下内容:

您可以看到 src 属性仍然是必需的。这是一个后备 对于不支持 srcset 和 size 的浏览器。我猜你是 毫不奇怪,这个浏览器竟然是 Internet Explorer。

所以我的问题是: 1)我想要的行为(将css应用于相关图像)是可能改变的未记录行为吗?还是它记录在某处而我只是没有找到文档? 2) 有什么方法可以欺负 Explorer 让其按我的意愿行事吗? 3) Explorer 是否支持 srcset 中的媒体查询?

【问题讨论】:

【参考方案1】:

1) 我也很惊讶 img 类应用了图片源。也许是因为它在同一个图片标签内?我查看了各种文档,但找不到任何相关内容。

2) 不幸的是,IE 不会使用 srcset。看: https://caniuse.com/#feat=srcset

3) IE 不会尊重 srcset 中的任何内容。

【讨论】:

以上是关于Chrome、Firefox 和 Explorer 中的图片、srcset 和 css的主要内容,如果未能解决你的问题,请参考以下文章

Div 在 Firefox、Safari、Chrome 等中显示,但在 Internet Explorer 中不显示

图像缩放会导致 Firefox/Internet Explorer 质量不佳,但不会导致 chrome

如何获取 Internet Explorer 和 Firefox 选项卡的内存详细信息?

s-s-rS 2008 R2 - s-s-rS 2012 - ReportViewer:在 Safari/Chrome 中报告,但在 Firefox/Internet Explorer 8 中运行良好

为啥内联“背景图像”样式在 Chrome 10 和 Internet Explorer 8 中不起作用?

CSS:Firefox/Internet Explorer 中 flexbox 的图像缩放问题