首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

超越媒体查询:使用更新的特性进行响应式设计

作者:David Atanda 译者:前端小智 来源:CSS-Tricket 除了使用媒体查询和现代CSS布局(例如flexbox和grid)来创建响应式网站之外,我们使用一些比较不太被用或者比较新的特性来制作响应式网站...原因是为了确保我们有适合正确设备的正确图像分辨率,因此我们最终不会为较小的屏幕下载尺寸过大的图像,而这最终可能会降低网站的性能 ?。...)" srcset="picture-mid.png"> srcset="picture-sm.png"> src=...浏览器查找媒体查询与当前视口宽度匹配的第一个元素,然后它将显示适当的图像(在srcset属性中指定)。...相反,如果45%计算得出的值大于600px,则将使用600px作为元素的宽度。 max()函数也有类似的情况。 它也接受两个值,但是我们没有定义元素的最小尺寸,而是定义了它可以获取的最大尺寸。

4.1K10

响应式图像

自从2010年Ethan Marcotte开始讨论响应式网页设计,开发者和设计师们竞相寻求处理响应式图片的方法。这的确是一个棘手的问题 ,因为我们对同一个网站在众多设备宽度下,使用同一图像源。...因为我们无法预测用户在何地以及如何访问我们的网站,所以我们需要浏览器自身根据情况选择最好的图像。...不理解srcset的浏览器会直接加载src属性中声明的图像。...srcset="crest-383.jpg 1.5x, crest-510.jpg 2x" src="crest-255.jpg" alt="USWNT crest" /> 网站logo就是固定宽度图像的一个例子...我们无法确定究竟显示哪张图像,因为每个浏览器根据我们提供的信息挑选适当图像的算法是有差异的。(译者注:srcset和size列表是对浏览器的一个建议(hint),而非指令。

2.1K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【学习图片】13.自动压缩和编码

    响应式图像标记语言(尤其是srcset和sizes)使用较少的字符描述了大量信息。 不管是好是坏,这种简洁是设计出来的:让这些语法不那么简练,从而让开发者更容易理解,可能会让浏览器更难解析它们。...和基于 Node.js 的 Sharp 从一开始就带有惊人的功能。...本地开发工具和工作流程 像Grunt、Gulp或Webpack这样的任务运行器和捆绑器可以用来优化图像资产和其他常见的性能相关的任务,如CSS和JavaScript的最小化。...只要每个源的宽高比一致,过载srcset属性并不会造成任何伤害。一个srcset属性可以包含服务器生成的每个备用图像的URI和宽度,而不会引起任何不必要的请求。...因为这些浏览器都会忽略、和srcset,所以我们需要在内部的src属性中指定一个默认来源。

    1K20

    响应式图像 - 腾讯ISUX

    自从2010年Ethan Marcotte开始讨论响应式网页设计,开发者和设计师们竞相寻求处理响应式图片的方法。这的确是一个棘手的问题 ,因为我们对同一个网站在众多设备宽度下,使用同一图像源。...因为我们无法预测用户在何地以及如何访问我们的网站,所以我们需要浏览器自身根据情况选择最好的图像。...不理解srcset的浏览器会直接加载src属性中声明的图像。...浏览器利用srcset和sizes信息来选择最符合规定条件的图像。如果浏览器的viewport是600像素,图像最可能以75vw的宽度显示。...我们无法确定究竟显示哪张图像,因为每个浏览器根据我们提供的信息挑选适当图像的算法是有差异的。(译者注:srcset和size列表是对浏览器的一个建议(hint),而非指令。

    1.3K10

    响应式图像

    自从2010年Ethan Marcotte开始讨论响应式网页设计,开发者和设计师们竞相寻求处理响应式图片的方法。这的确是一个棘手的问题 ,因为我们对同一个网站在众多设备宽度下,使用同一图像源。...因为我们无法预测用户在何地以及如何访问我们的网站,所以我们需要浏览器自身根据情况选择最好的图像。...不理解srcset的浏览器会直接加载src属性中声明的图像。...浏览器利用srcset和sizes信息来选择最符合规定条件的图像。如果浏览器的viewport是600像素,图像最可能以75vw的宽度显示。...我们无法确定究竟显示哪张图像,因为每个浏览器根据我们提供的信息挑选适当图像的算法是有差异的。(译者注:srcset和size列表是对浏览器的一个建议(hint),而非指令。

    2.2K20

    【学习图片】14.网站生成器、框架和内容管理系统

    这通常需要一个以上的图像管理过程:一个开发层面的任务,用于建设和维护网站的图像资产--背景、图标、标志等等;另一个任务是关于通过使用网站产生的图像资产,如编辑团队在帖子中嵌入的照片,或用户上传的头像。...虽然对你的响应式图像标记不可能有一个放之四海而皆准的方法,但这些系统提供了合理的默认值、配置选项和API挂钩,以以便简化其实现。...静态站点生成器 与任务运行器相比,静态网站生成器(如Jekyll或Eleventy)处理图像的方式有一些相似之处。...与任务运行器不同,静态网站生成器可以直接了解这些库的配置和使用情况,以及为生产网站生成的标记--这意味着它可以做更多的事情来自动化我们的响应式图像标记。...也许最令人兴奋的是,像Jetpack的网站加速器(以前的 "Photon")这样的插件可以为编码提供服务器端的协商,确保用户将收到他们的浏览器能够支持的最小、最有效的编码,而不需要和类型标记模式

    91320

    响应式图像

    (美术设计)选择 基于图像格式选择 一、固定宽度图像:基于设备像素比选择   srcset属性列出了浏览器可以选择加载的源图像池,是一个由逗号分隔的列表。...x描述符表示图像的设备像素比。浏览器根据运行环境,利用这些信息来选择适当的图像。不理解srcset的浏览器会直接加载src属性中声明的图像。...srcset="crest-383.jpg 1.5x, crest-510.jpg 2x" src="crest-255.jpg" alt="USWNT crest" /> 网站logo就是固定宽度图像的一个例子...对于可变宽度的图像,我们使用srcset搭配w描述符以及sizes属性 。w描述符告诉浏览器列表中的每个图象的宽度。sizes属性是一个包含两个值的,由逗号分隔的列表。...根据最新规范,如果srcset中任何图像使用了w描述符,那么必须要设置sizes属性。 2. sizes属性有两个值:第一个是媒体条件;第二个是源图尺寸值,在特定媒体条件下,此值决定了图片的宽度。

    2.5K10

    【学习图片】12.规定性的语法

    srcset和sizes旨在无缝地工作,根据用户浏览器的指示无缝地交换源。然而,有时我们希望在断点处更改源以更好地突出内容,就像调整页面布局一样。...例如:在大视口上,带有小中央焦点的全宽头图像可能效果很好: 但是,当缩小以适应小视口时,图像的中央焦点可能会丢失: 这些图像源的主题相同,但为了更好地视觉聚焦于该主题,我们将希望图像源的比例在断点处发生变化...正如在“图像格式和压缩”中学到的那样,浏览器无法解析的编码甚至都不会被识别为图像数据。...无法解析WebP编码的浏览器将引发onerror事件,并将data-fallback值交换到src。这是一种浪费的解决方案,但是,像这样的方法是前端上唯一可用的选项。...这也是前瞻性的:随着更新更高效的文件格式将带有自己的媒体类型,我们将能够借助picture利用它们——无需JavaScript、无服务器依赖,并且具有的所有速度。

    1.2K20

    CSS(八)

    概述 响应式设计指的是网站可以在不论是宽屏显示器还是移动设备都能表现得同样出色。这是一种网页设计和开发方法,它消除了网站的移动版本与桌面版本之间的区别。 响应式设计是通过媒体查询完成的。...流式布局 流式布局是一种拉伸和缩小以填充屏幕宽度的布局,如之前我们介绍过的 Flexbox 布局一样。 弹性媒体 不同的设备有不同的图像要求。HTML 提供了为用户设备选择最佳图像的方法。...属性指向备用图像文件列表,以及定义浏览器何时应使用它们的属性。...不支持 srcset 属性的较旧浏览器会回退到 src 属性。...上面的例子中,当屏幕宽度至少为 960 像素时,图像也将是 960 像素宽。 否则,100vw 默认值告诉浏览器图像的宽度将是”视口宽度”的 100%。

    74730

    网站优化思路在不到一秒的时间内加载网页

    如何毫不费力地提高网站加载时间?哪些优化和改进可以帮助加快页面加载速度?以网页为例,证明可以在不到一秒的时间内下载。 什么会降低网站性能?...图像 您可以做的第一件事是压缩所有图像。有些图片可以在不损失质量的情况下进行压缩。为此,我们可以使用在线服务 TinyPNG。 无需一次下载所有图像。...让我们为此编写一个简单的脚本: 只是获取带有类名 .lazy 的页面的所有图像 var lazyImages = [].slice.call(document.querySelectorAll(...= lazyImage.dataset.src; lazyImage.srcset = lazyImage.dataset.srcset; lazyImage.classList.remove...但是当用户滚动我们的页面时,图片将被加载而不会丢失加载时间。 总结 今天的网站已经变得更加复杂和多样化。但尽管如此,它们仍然可以在不到一秒的时间内启动。只需遵循所述的优化步骤即可。

    15910

    【Java 进阶篇】HTML 图片标签详解

    以下是一些常见的图像属性: width 和 height:指定图像的宽度和高度,以像素为单位。这些属性可以用于调整图像的大小,但最好使用与原始图像比例相同的值,以避免图像变形。...srcset属性允许您指定多个不同大小的图像,浏览器会根据屏幕大小自动选择合适的图像。...src 属性:提供备选图像文件的URL,用作浏览器不支持 srcset 属性或选择逻辑失败时的后备选项。 5....替代文本:始终为图像提供有意义的 alt 属性值,以确保无障碍性和搜索引擎优化。 版权和授权:确保您拥有或获得了插入到网页中的图像的版权和授权。...请确保合理使用图像,以提高用户体验和网站性能。 希望本文对您理解HTML图像标签和其属性有所帮助。如果您正在学习Web开发,这是一个重要的基础知识点,可以让您创建更具吸引力的网页。

    55420

    【译】Web中的图像技术总结,前端开发中各种图片引入的优点缺点及实例

    我们有两种不同的方式来生成一组响应式图片: 1.4.1 srcset 属性 src="small.jpg" srcset="medium.jpg 500w, large.jpg 800w" alt...对我来说,我不认为使用 srcset 是根据屏幕宽度显示多个图片大小的完美解决方案。只能让浏览器选择合适的图片,而我们对此无能为力。...好处是,只有在图像源失败的情况下,背景才会起作用。那不是很酷吗? Demo 4.2 网站Logo Logo是很重要的,因为它可以将网站与其他网站区分开。...对其应用了蒙层的group 图像本身带有 preserveAspectRatio = "xMidYMid" 用于内边框的圆圈 在CSS中,我们将具有以下内容: circle { stroke-width...我们可以通过强制浏览器显示图片来解决这个问题,虽然这对Firefox和IE来说不起作用。

    5.6K20

    web 图像技术:前端引入图片的各种方式及其优缺点

    选择正确的方式是很重要的,它对性能和可访问性有很大的影响。 在本文中,我们会学习引入图像的各种方式,以及每种方式的优点和缺点,以及何时使用和为什么使用它们。...HTML 元素 最简单的情况下,img元素必须包含src属性: src="cool.jpg" alt=""> 设置宽度和高度属性 在页面加载时,它们会在页面图像加载时发生一些布局变化...如果一个图像应该被隐藏,那么它可能是出于装饰的目的。 img { display: none; } 同样,上面的方法也不能阻止浏览器加载图像,即使它在视觉上是隐藏的。...我们有两种不同的方式来生成一组响应式图像: 1.srcset属性 src="small.jpg" srcset="medium.jpg 500w, large.jpg 800w" alt=""...对我来说,srcset可以根据屏幕宽度显示多个图像尺寸,这并不是一种完美的解决方案。它让浏览器选择合适的图像,而我们对此无能为力。

    5.1K20

    《Web性能实战》读书笔记

    本节从减少传输的数据量入手,简单的简绍了3中提高性能的方法:缩小资源、使用服务器压缩、压缩图像。...如果服务器按照Accept-Encoding头信息中的内容进行编码,它将用一个Content-Encoding响应头信息进行回复,其值是所使用的压缩方式。...压缩图像 压缩图像书中简绍了使用常用的TinyPNG去压缩,大小缩小了60%左右。 通过这三种方式,网站的加载速度提高了近70%,还是非常可观的。...;min-resolution是现代浏览器所支持的直接显示值就行了,最后min-width根据屏幕的宽度来加载不同大小的图片。...script带有async属性与不带async的区别: 不带async:下载脚本->脚本下载完成->浏览器等待其他脚本->执行脚本 带有async:下载脚本->脚本下载完成->执行脚本 带有async脚本下载完会立即执行而不会阻塞渲染

    25810

    多图站点性能优化

    根据 HTTPArchive 的数据可知,图像是大多数网站需求最多的资源类型,通常比其他资源占用更多带宽。在多图站点中,图片资源对于页面的加载和整体的用户体验有更明显的影响。最常见的问题是图片加载慢。...支持无损压缩且通常比 PNG 格式的相同图像小 26%。支持有损压缩且比视觉上相似压缩水平的 JPEG 图像平均小 25-35%。但是浏览器兼容性差。...通过 Intersection Observer 或 scroll 等 API 检测离屏图片是否滚动到预期位置,如果是则将 data-src 的值赋给 src 属性,从而达到懒加载的目的。...通过给 loading 属性设置 lazy 值,可以推迟加载资源,直到它与视口达到一定距离。caniuse.com 可查阅跨浏览器兼容性支持的详细信息。...picture 的常见作用包括: 艺术指导(Art direction) 为不同的媒体条件裁剪或修改图像。比如在较小的显示器上,加载一个更突出重点的图像。

    1.4K00

    【学习图片】11.描述性语法

    使用srcset和sizes来向浏览器提供有关图像来源和它们如何被使用的信息。 在这个模块中,我们将学习如何为浏览器提供一系列图像选择,以便它可以做出最佳的显示决策。...对于不支持srcset的浏览器,将忽略该属性及其内容,通常会请求src的内容。 很容易将srcset属性中指定的值误解为指令。 2x告知浏览器相关源文件适用于DPR为2的显示器-有关源本身的信息。...他们可能会在一个网站上尊重他们的偏好,并在下一个网站上遇到一个破坏带宽的图像墙。...我们已经准确地描述了 srcset 中候选源列表和 sizes 中图像的宽度,就像在 srcset 中的 x 语法一样,剩下的就由浏览器来处理了。...因此,如果我们在一个宽度为1000像素的设备上渲染这个图像,它将占用800像素。然后,浏览器将把这个值与我们在 srcset 中指定的每个图像源候选项的宽度相除。

    1.2K20

    web图像的常见应用策略与技巧

    特点:应用简单,上手容易,性能表现良好 难点:lazyload实现 根据不同设备,不同分辨率,不同像素比使用的响应式图像,常用的有两种场景: 1.01 固定尺寸图像 基于设备像素比选择,很多网站logo...w描述符告诉浏览器列表中的每个图象的质量。sizes属性是一个包含两个值的,由逗号分隔的列表。根据最新规范,如果srcset中任何图像使用了w描述符,那么必须要设置sizes属性。...="360.jpg" alt=""> 我们来逐条读这一个img标签的信息 srcset,我们给浏览器准备了四个质量的图像,分别为360 768 1200 1920 sizes,我们来告诉浏览器,在不同的环境下图像的宽度...最后一个src作为默认图像url引入,并且是天然的回退方案,当浏览器不认以上属性的时候,直接读取src渲染。...而且这个写法的懒加载非常好处理,只需要在传统的lazyload策略上稍加改进 data-src data-srcset 在加载到的时候更换为 src srcset 就轻松解决了。

    1.6K30

    【Web技术】610- Web上的图片技巧

    它可以是一个HTML ,或者是通过CSS背景生成的图片,也可能是SVG 。选择正确的技术很重要,对网站的性能和可访问性起着巨大的作用。...srcset属性 src="small.jpg" srcset="medium.jpg 500w, large.jpg 800w" alt=""> 这是一个简单的问题。...对于我来说,我认为使用 srcset并不是一个完美的解决方案,根据屏幕宽度的不同,出现多个图片的大小。这个选择只能由浏览器来挑选合适的图片,而我们并没有控制权。...一个蒙版,将图像剪裁成圆形 一个被套上面具的组 图像本身带有 preserveAspectRatio="xMidYMid" 将用于内侧边界的圆圈 在CSS中,我们将有以下几点。...就是这样的情况。我们可以通过强制浏览器显示图片来解决这个问题,虽然这对Firefox和IE来说不起作用。

    3K30

    5个方法对于重量级网站的图片优化

    这样,无论何时图像维度要求发生变化,获取新图像所需的全部内容都是在URL中指定该图像尺寸。 网上有许多开源和服务器端实现 ,或者你也可以自己实现。 ...在其他不支持的浏览器上,你可以继续提供原始图像格式。 简单地说,图像质量是衡量图像外观的一种方式。 图像质量和图像大小之间存在直接关联。 更高的质量会导致更高的图像尺寸,从而导致网站速度变慢。...使用响应式图像标签,使用img标签的srcset和sizes属性,你可以为浏览器提供单个图像的变体列表以及不同屏幕上相对图像大小的定义。...一个名为Client Hints的现代规范,使得响应式图像的入门变得简单,并且与srcset和sizes属性方法相比,使代码看起来更清晰。...然后,如果来自巴西的用户从您的网站请求图像,而不是从美国的服务器获取该图像,则CDN从巴西最接近该用户的节点提供该图像。这减少了加载图像所需的往返时间。本维基百科页面列出了一些值得注意的CDN。

    1.6K20
    领券