当前位置: 首页 > 面试题库 >

使用@media查询时,电话是否会加载非相关查询和图像?

陈坚
2023-03-14
问题内容

如果我将CSS基于移动样式,然后使用@media查询来逐步显示较大的内容(平板电脑,台式机等),那么移动设备会使用台式机样式吗?

我认为,通常,移动设备将加载所有图像,即使它们不适用于其特定的媒体大小。这意味着它将加载所有图像,并隐藏与基于查询的样式表不匹配的图像。

我想做的是为该网站的较大版本使用一种背景:

.splash {
    background: #1a1a1a url('/assets/imageLarge.png') no-repeat;
}

另一个用于移动版本:

.splash {
    background: #1a1a1a url('/assets/imageSmall.png') no-repeat;
}

如果我在进行任何媒体查询之前应用了移动CSS,并使用诸如这样的查询在下方添加了大型媒体CSS @media screen and (min-device- width: 481px) {...},那么移动设备也会加载大型图片吗?


问题答案:

行为取决于浏览器,但iOS Safari和Android Chrome将尊重媒体查询,并且仅下载适用媒体查询的背景图片。

如果要检查此行为,请尝试使用Mobitest(http://mobitest.akamai.com/)或系留设备加载页面。

如果您使用单独的CSS文件(我也不太希望您这样做),则浏览器即使不需要它们也会下载每个文件,这是CSSOM的局限。一些浏览器(例如,基于WebKit和Blink的浏览器)对样式表进行优先级排序,因此,首先下载呈现页面所需的那些浏览器,然后在某个时间点下载其他浏览器。

需要注意的一件事是显示:在内容图像上无显示,因为在很多情况下它不会阻止下载。蒂姆·卡德莱克(Tim
Kadlec)在这里进行了更多探索:http : //timkadlec.com/2012/04/media-query-asset-
downloading-results/



 类似资料:
  • 我正在用会话加载数据,但没有看到我在其他地方所做的更改。 “由于在刷新过程中出现以前的异常,此会话的事务已回滚。”(或类似) 但是为什么flush()坚持发布回滚? 但是为什么一个自动调用回滚不够?为什么我必须再次回滚? 如何创建一个始终为每个查询添加特定筛选器的查询? 我的查询返回的对象数与查询.count()告诉我-为什么? 我已经创建了一个针对外部联接的映射,当查询返回行时,不会返回任何对象

  • 本文向大家介绍什么是相关子查询?如何使用这些查询?相关面试题,主要包含被问及什么是相关子查询?如何使用这些查询?时的应答技巧和注意事项,需要的朋友参考一下 经验更加丰富的开发人员将能够准确地描述这种类型的查询。相关子查询是一种包含子查询的特殊类型的查询。查询里包含的子查询会真正请求外部查询的值,从而形成一个类似于循环的状况。

  • 问题内容: 即使它有性能问题,我是否也可以知道相关子查询的用途? 问题答案: 好吧,首先它没有性能问题。就是这样,鉴于硬件和数据库结构的性能限制,它将尽可能地执行。 至于它的作用,它只是表达特定逻辑条件的一种方式。

  • 媒体查询是CSS3模块,包括宽度,高度,颜色等媒体功能,并根据指定的屏幕分辨率显示内容。 Foundation使用以下媒体查询来创建细分范围 - Small - 用于任何屏幕。 Medium - 用于640像素和更宽的屏幕。 Large - 用于1024像素和更宽的屏幕。 您可以使用breakpoint classes更改屏幕大小。 例如,您可以将.small-6类用于小尺寸屏幕,使用.mediu

  • 本文向大家介绍SQL语句中‘相关子查询’与‘非相关子查询’有什么区别?相关面试题,主要包含被问及SQL语句中‘相关子查询’与‘非相关子查询’有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 (1)非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给外部查询。 (2)相关子查询的执行依赖于外部查询的数据,外部查询执行一行,子查询就执行一次。 因此非相关子查询比相关子查

  • 问题内容: 使用Laravel 4,我有以下模型和关系:具有多记录的事件具有多项目的事件。我想做的是这样的 原因是无效的,因为Eloquent在检索记录时不会将模型联接在一起。因此,如何在不自己编写SQL的情况下解决这个问题(我想避免使用分页,但要避免这种情况)。 问题答案: 您想要的是渴望加载。 如果要指定其他约束,它的工作原理如下: