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

【学习图片】1.图片简史

尽管现 代web 十分复杂,但处理图像基本原则并没有改变:使用 web 友好图像格式保证兼容性,使用合理压缩技术来节省带宽,并使图像尺寸适合页面布局中空间。...在我们认为我们对用户体验有更多影响力时候,使用固定宽度布局使这个过程变得简单易懂。设置图像尺寸特别容易。对于一个宽500像素,高300像素图像,只需指定相同大小图像就行了。...为了使图像变得灵活,开发人员开始使用CSS将max-width:100%设置图像上(或所有图像,整个站点),告诉浏览器渲染引擎通过缩放图像来防止图像超出其父容器。...当渲染引擎得到图像数据多于图像在布局中所占据空间时,它们就能对如何渲染缩小图像做出明智决定,并且可以在不引入任何视觉伪影或模糊情况下完成。...使用 img { max-width: 100% } 意味着,当灵活容器调整大小时,图像将根据需要缩小。与设置更严格 width: 100% 不同,这也确保图像不会超过其固有大小而被缩放。

1.1K40

CSS Flexbox 可视化手册

其中项目不会自动伸展来适应整个宽度(主轴),为了做到这一点,它们会缩小。 ? 项目会被拉伸适合交叉轴(在此示例中为高度)。...把项目宽度设置为300px,nowrap选项会输出以下结果: ? 其中,每个项目都会缩小到大约 70px 来适合容器。 当属性被更新为wrap时,现在项目的宽度实际上是原始值300px。...在第一部分中,容器高度设置为 100vh,因此可用空间被平均分为四行,来适合 300px项目的需要。 如果我们没有设置 100vh,容器高度则会遵循项目内容高度,如下图所示: ?...flex-grow:如果有额外空间,每个项目应该如何放大 flex-shrink:如果没有足够空间,应该如何缩小每个项目 flex-basis:在设置上述两个属性之前,该项目的大小应该是多少 flex-grow...由于没有空间容纳所需宽度 1500px,所以默认flex shrink factor(弹性收缩系数)值为1,这样会使每个项目的宽度均匀缩小到196px。 ?

3K20
您找到你想要的搜索结果了吗?
是的
没有找到

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

缩小适应400个逻辑像素宽布局空间时,该800像素图像源具有双倍像素密度 - 在具有DPR为2显示器上,它看起来很清晰。...地址:https://codepen.io/web-dot-dev/pen/QWBGVyo 由于DPR为1显示屏无法利用图像增加密度,因此图像将被缩小匹配显示屏。...在《图像和性能》中所学到,使用缩小到400px图像低密度显示器用户只需要一个固有宽度为400px源。...承担浏览器更适合为我们处理责任和额外工作是没有意义。 用w来描述宽度 srcset 可以接受第二种类型描述符,用于图像源候选项。这是一种更加强大描述符,而且对于我们目的来说,更容易理解。...这并没有告诉我们有关图像在页面布局中应该如何渲染任何信息 - 它甚至不能将视口用作 img 大小上限代理,因为它可能占据水平滚动容器。因此,我们需要使用标记语言提供这些信息给浏览器。

1.1K20

CSS_Flex 那些鲜为人知内幕

在这种情况下,限制因素是父元素没有足够空间容纳一个宽度为 2000px 子元素。因此,子元素大小被缩小「适应空间」。 这是 Flexbox 哲学核心部分。...容器至少需要 500px 宽度,以便将这些子元素以其假设大小容纳其中。 假设我们将容器缩小到 400px。嗯,我们不能把 500px 内容塞进一个 400px 袋子里!我们有 100px 亏空。...flex-shrink 控制项目大于其容器时空间「移除方式」。 这意味着这两个属性中只能有一个生效。如果有额外空间,flex-shrink没有影响,因为项目不需要缩小。...如果子元素太大而无法容纳,flex-grow没有影响,因为没有额外空间可分配。 防止缩小 有时,我们不希望 Flex 子元素缩小。 让我们看一个例子: 当容器变窄时,我们两个圆形被挤变形了。...通过直接在 Flex 子元素上设置min-width: 0px,我们告诉 Flexbox 算法覆盖内置最小宽度。因为我们将其设置为 0px,所以元素可以缩小到必要程度。 8.

19810

【适配】425- 彻底搞懂移动Web开发中viewport与跨屏适配

视口范围内图像剪切形式,投影到到世界坐标窗口中,完成图像可视化展示。 在 Web 浏览器中,视口是整个文档可见部分。如果文档大于视口,则用户可以通过滚动来移动视口。...因为,浏览器窗口中所浏览图像放大,是依赖于视口缩小来实现。 如果不好理解,可以参照下图动画来感受一下。(上面蓝框表示底层画布、红框表示视口,下面表示用户在浏览器窗口中看到页面) ?...按照 2.1 里 viewport 解释,如此设计,会把逻辑层画布中 980px 图像投影显示到 320px 屏幕上,看到效果便是一个挤在一起看不清楚细节缩小版页面。 ?...浏览这类站点时,随着屏幕缩小,你会看到页面模块布局结构在伸缩、流动或显隐变化,文字图片等主体内容在布局容器内流动填充、其大小也一直在做梯级变化。...●设置 viewport 宽度为 device-width 或其他固定值,得到 px 为单位文字、图标或边线等期望渲染效果 ●css 单位使用 rem,js 根据 viewport 宽度以及 css

2.8K30

彻底搞懂移动Web开发中viewport与跨屏适配

视口范围内图像剪切形式,投影到到世界坐标窗口中,完成图像可视化展示。 在 Web 浏览器中,视口是整个文档可见部分。如果文档大于视口,则用户可以通过滚动来移动视口。...因为,浏览器窗口中所浏览图像放大,是依赖于视口缩小来实现。 如果不好理解,可以参照下图动画来感受一下。(上面蓝框表示底层画布、红框表示视口,下面表示用户在浏览器窗口中看到页面) ?...按照 2.1 里 viewport 解释,如此设计,会把逻辑层画布中 980px 图像投影显示到 320px 屏幕上,看到效果便是一个挤在一起看不清楚细节缩小版页面。 ?...浏览这类站点时,随着屏幕缩小,你会看到页面模块布局结构在伸缩、流动或显隐变化,文字图片等主体内容在布局容器内流动填充、其大小也一直在做梯级变化。...●设置 viewport 宽度为 device-width 或其他固定值,得到 px 为单位文字、图标或边线等期望渲染效果 ●css 单位使用 rem,js 根据 viewport 宽度以及 css

3.2K20

CSS网页布局框架设计指南

摘要 本文是一篇关于如何设计优秀CSS网页布局框架文章,提供了一些设计指南和具体代码示例,帮助读者快速搭建出优秀网站。...定义了一个 .row 类设置负边距。 此外,我们还定义了一个 .col 类,该类是我们网格系统构建块。我们使用浮动(left)属性来让列按预期方式对齐。...在使用此网格系统时,每个容器都应具有 .container 类,每行都应该有 .row 类,列例如 .col-4 应用于需要宽度为33.33333%元素。...第三个媒体查询更改了 .col-md-4 类为 .col-xs-6 类适应小屏幕,并使图片在小屏幕上缩小。 其他设计考虑因素 除了上述提到设计指南外,还有一些其他设计考虑因素。...可以使用颜色、动画、渐变和图像等来增强你网站视觉效果,使其更加吸引人。 最后还要考虑网站性能。

19810

30分钟彻底弄懂flex布局

这里针对上面两种场景,引入两个属性(需应用在弹性元素上) flex-shrink:缩小比例(容器宽度<元素总宽度如何收缩) flex-grow:放大比例(容器宽度>元素总宽度如何伸展) 1. flex-shrink...在不折行情况下,此时容器宽度是明显不够分配。 实际上,flex-shrink默认为1,也就是当不够分配时,元素都将等比例缩小,占满整个宽度,如下图。...容器剩余宽度:-70px 缩小因子分母:1*50 + 1*100 + 1*120 = 270 (1为各元素flex-shrink值) 元素1缩小因子:1*50/270 元素1缩小宽度缩小因子乘于容器剩余宽度...决定;没有设置则由内容决定 (4) flex-basis == 主轴上尺寸 !...交叉轴上单行对齐 align-items 默认值是stretch,当元素没有设置具体尺寸时会将容器在交叉轴方向撑满。

11K325

看完这篇,对flex布局还不熟悉,那就来找我(flex布局最全详解)

容器属性 flex-direction属性决定主轴方向(即项目的排列方向)。 flex-wrap属性决定如果一条轴线排不下,如何换行。...baseline比较特殊,它让项目第一行文字基线为参照进行排列: ? 用于控制项目在纵轴排列方式,默认stretch即如果项目没设置高度,或高度为auto,则占满整个容器。...注意,如下演示12个项目我均没有设置高度。...flex-shrink 取值:默认1,用于决定项目在空间不足时是否缩小,默认项目都是1,即空间不足时大家一起等比缩小;注意,即便设置了固定宽度,也会缩小。...flex-basis 取值:默认auto,用于设置项目宽度,默认auto时,项目会保持默认宽度,或者width为自身宽度,但如果设置了flex-basis,权重会width属性高,因此会覆盖widtn

1.3K30

CSS(六)

(Flexbox 是一种一维布局方案,而 Grid 是一种二维布局方案) 概述 Flexbox 是一个完整模块而不是单个属性,其中一些是在容器设置(父元素,称为 “Flex 容器”),而其他设置在子元素上...如果所有 items flex-grow 都设置为 1,则容器剩余空间将平均分配给所有 item。如果其中一个 item 值为 2,则剩余空间将占用其他空间两倍。...默认值为 auto,表示继承父元素 align-items 属性,如果没有父元素,则等同于 stretch。...不为 0 item 占据 当 flex-wrap 为 nowrap,且 items 宽度之和小于父容器宽度时,flex-grow 会起作用,item 会根据 flex-grow 设定值放大(为...0 项不放大) 当 flex-wrap 为 nowrap,且 items 宽度之和超过父容器宽度时,flex-shrink 会起作用,item 会根据 flex-shrink 设定值进行缩小(为

1K10

前端硬核面试专题之 CSS 55 问

现在对两种技术做对比归纳如下: Canvas 依赖分辨率 不支持事件处理器 弱文本渲染能力 能够 .png 或 .jpg 格式保存结果图像适合图像密集型游戏,其中许多对象会被频繁重绘 SVG...如何优化图像图像格式区别 ? JPG 特性 支持摄影图像或写实图像高级压缩,并且可利用压缩比例控制图像文件大小。...不同类型 Box,会参与不同 Formatting Context(决定如何渲染文档容器),因此 Box 内元素会不同方式渲染,也就是说 BFC 内部元素和外部元素不会互相影响。...;而 main 没有设置宽度。...而宽度 100% 是相对于它父标签来,如果我们改变了它父标签宽度,那 main 宽度也就会变——比如我们把浏览器窗口缩小,那 container 宽度就会变小,而 main 宽度也就变小,

2K20

【移动端网页布局】流式布局案例 ③ ( 实现搜索栏功能 | 伪元素选择器 | 子绝父相 | 外边距塌陷处理 | 二倍精灵图处理方案 )

一、搜索栏样式及核心要点 1、实现效果 上一篇博客中 , 完成了顶部提示栏 , 本篇博客开始完成下面的 搜索栏布局 ; 2、自动伸缩搜索栏实现 在上面的基础上 , 如果 缩小浏览器宽度 , 搜索栏也会跟着缩小..., 如果 拉长浏览器宽度 , 搜索栏也会跟着拉长 ; 实现自动伸缩效果 : HTML 标签结构如下 : 最外层容器容器内部两个半圆形容器 ; 中间部分可自动伸缩容器盒子 半圆子容器...: 两侧 半圆形 圆角矩形框 是通过 定位 设置 ; 中间矩形子容器 : 中间 白色矩形框 是通过 标准流 盒子实现 , 该盒子不设置宽度 , 自动充满父容器 ; 为了不让该白色矩形影响到两侧半圆.../ 设备宽度 8% */ width: 8%; } .app ul li:nth-child(1) img { /* 设置关闭按钮图像宽度 该图片自动水平 / 垂直对齐 */...nth-child(2) img { /* 在 10% 宽度 Logo 盒子中 图片宽度是 30 像素 高度没有给出 但是 宽高等比例缩放 高度也是 30 像素 */

2K30

Flutte部件目录-基本部件(一)

如果小部件没有孩子,没有高度,没有宽度没有约束,也没有对齐,但父级提供有界约束,则Container展开适应父级提供约束。...如果部件有alignment,并且父级提供了有界限约束,那么容器会尝试展开适合父级,然后根据alignment将该子级定位到其自身内。...另外,部件有一个子部件,但没有高度,没有宽度没有约束,也没有对齐,并且容器将约束从父项传递给子项,并将其自身尺寸设置为与子部件匹配。...constraints被设置适合字体大小加上充足头部垂直空间,同时水平扩展适合父母。padding用于确保内容和文本之间有空间。 颜色使箱子蓝绿色。alignment使得子部件被置于框中。...mainAxisSize被设置为MainAxisSize.min,以便该列缩小适合子部件。

7.4K20

如何在 Flutter 中设置背景图像【Flutter专题16】

本教程将向您展示如何在 Flutter 中设置背景图像。 在 Flutter 应用程序中设置背景图像常用方法是使用DecorationImage....Fit 模式 如果图像适合屏幕,您可能需要调整图像如何嵌入到可用空间中。...fitWidth: 设置宽度匹配目标框宽度。它可能会导致源垂直溢出目标框。 fitHeight: 设置高度匹配目标框宽度。它可能会导致源水平溢出目标框。...none: 对齐目标框内源并丢弃框外任何部分.. scaleDown:在目标框内对齐源并在必要时缩小适合目标框。...对于图像源,您需要创建一个DecorationImage并将其传递给Decoration. 还可以定义图像如何刻入可用空间并设置图像不透明度。

11.1K21

一个前端开发对于Flex布局总结(图解,简单易懂,全)

这里可以作为参考手册,我敢保证,我打开过100次以上flex布局知识网页,都是看这一部分容器属性,它作用是用于定义容器里面的项目如何布局。...stretch(默认):即在项目没设置高度,或高度为auto情况下让项目填满整个容器,与align-items类似。注意,如下演示13个项目我均没有设置高度。...3.2 flex-grow# 取值:默认0,用于决定项目在容器里有剩余空间情况下是否放大,默认0表示不放大;注意,即便设置了固定宽度,但是设置了flex-grow也会放大。...3.3 flex-shrink# 取值:默认1,用于决定项目在空间不足时是否缩小,默认项目都是1,即空间不足时大家一起等比缩小;注意,即便设置了固定宽度,也会缩小。...3.4 flex-basis# 取值:默认auto,用于设置项目宽度,默认auto时,项目会保持默认宽度,或者width为自身宽度,但如果设置了flex-basis,权重会width属性高,因此会覆盖

1.6K20
领券