图片显示是网页设计中的重要组成部分,而图片的大小和位置也会对页面的整体美观度产生影响。在实际的网站开发过程中,我们会遇到需要将图片放入一个容器中,并让其按比例缩放以适应容器大小的需求。...使用 max-width 和 max-height 属性为了让图片按比例缩放以适应父元素的大小,我们可以使用 max-width 和 max-height 属性来设置图片的最大宽度和最大高度,同时保持图片的原始宽高比...在 img 标签中,我们使用了 max-width 和 max-height 属性来控制图片的最大宽度和高度,使其可以自适应容器大小。...这样一来,无论父元素的大小如何变化,图片都会按照比例缩放以适应容器。...具体来说,object-fit 属性的值为 cover,意味着图片会拉伸或缩小以填充整个容器,并保持原始比例。总结本文介绍了两种方法来让 img 标签在父元素中自适应宽度或高度,并按比例显示。
, and padding-bottom 的百分比值不是指容器的高度,而是指父容器的宽度)。...如果为子元素的顶部和底部设置了百分比,它将相对于父元素的高度,并直接进行非静态定位(默认定位)。同样,如果为子元素的左侧和右侧设置了百分比,它将与父元素宽度的直接非静态定位(默认定位)相对应。...如果子元素的 padding 和 margin 设置为百分比,无论是垂直还是水平,它们都是相对于直接父元素的宽度而言的,与父元素的高度无关。...例如,现在有 5 个大小相同的屏幕(750 640 480 375 320),所有屏幕的总宽度被划分为 10rem. 然后,我们需要获取与这些不同屏幕相对应的 html 根元素的字体大小。...,中间一列的宽度则根据浏览器窗口的大小自适应调整。
在网页布局中,三栏布局是一种常见的布局方式,尤其在 PC 端。如下图所示。 ? 三栏布局 从上到下由页头、内容和页脚组成,内容由左、中、右三列组成,其中左右两列的宽度固定,中间一列自适应。...假设左右宽度是 100px,header 和 footer 的高度是 60px。 下面介绍五种方式,分别是:浮动、绝对定位、flex-box 和 grid-box 和表格布局。...margin 的值是百分比时,是相对于父容器的宽度 */ /* -100% 会向左移动父容器的宽度那么长 */ margin-left: -100%; /* 使用相对定位 */...除了上面的方式之外,使用浮动 + calc 也可以做到中间部分自适应。HTML 骨架也不需要做调整。...,用父容器宽度,减去左右容器的宽度 */ width: calc(100% - 200px); } 还有一种常见的使用浮动实现的三栏布局,被称为“双飞翼布局”。
我们并不总是能够为一个HTML元素加载不同大小的图像。如果我们使用的宽度和高度与图像的长宽比不成正比,图像可能会被压缩或拉伸。...object-fit: cover 这里,图像也将被调整大小以适应其容器的长宽比,如果图像的长宽比与容器的长宽比不一致,那么它将被剪切以适应。...object-fit: fill 使用这个,图像将被调整大小以适应其容器的长宽比,如果图像的长宽比与容器的长宽比不一致,它将被挤压或拉伸。我们不希望这样。...background-size: cover 在这里,图像将被调整大小以适应容器。如果长宽比不一样,那么图像将被屏蔽以适应。...[post18image12.jpeg] background-size: contain 调整图像的大小以适应容器。
背景:先声明一下运用的场景,假如项目布局使用的是自适应的布局方式,div给出的宽度是百分比的形式,即框占窗口宽度的50%,但边界和内边距是用像素来表示的怎么办?...,意味着“包含元素宽度的5%”,因此,随着示例输出窗口的大小增加,内边距和外边距也增加了。...; 那么最终呈现的效果是:当父容器在最小和最大宽度限制内时,它将填满整个视口宽度;当父容器超过1280px宽度时,布局将保持在1280px宽,并开始在可用空间内居中。...②max-width属性的另一个好处是可以将容器内的媒体(如图像和视频)控制在容器内(响应式图片): 在上述例子中,图像会引起一个问题–起初它的显示正常,但当容器变得比图像更窄时...而max-width:100%限制了图像的宽度使它的最大宽度与父容器的宽度相等。因此,当父容器宽度缩小到小于图像的宽度时,图像会一起缩小。
常见块级元素、行内元素、行内块元素的特点和区别 块级元素 (常见的块级元素div,p,h,form,li) 一行显示一个; 宽度默认为容器的100%; 可以设置高度宽度内外边距 块级元素可以包含其他的块级元素和文本...(如div下可包含div) 行内元素(常见的行内元素a,span.img) 一行显示多个 宽度为内容的宽度 不可以设置高度和宽度 标签内一般不包含标签(如a标签内包含a标签) 行内块元素 行内块元素包含块级元素和行内元素的特征...px和em的区别是什么 px和em都是长度单位,两者的区别是:px的值是固定的,指定为多少就是多少,计算比较容易;em的值不是固定的,是相对于容器字体的大小,并且em会继承父级元素的字体大小。...与em对应的另一个长度单位是rem,是指相对于根元素(通常是HTML元素)字体的大小。...vw和vh:都是针对当前浏览器窗口大小而言,1vw就等于可视窗口宽度的百分之一,1vh 就等于可视窗口高度的百分之一。
用于标识移动网站的Viewport Meta标签 viewport meta标签为浏览器如何调整页面以适应每个设备的宽度做出了依据。...媒体查询是自适应Web设计的重要组成部分,通常用于屏幕大小和方向不同的网格布局、字体大小、边距和填充。...Flexbox布局(Flexible Box)模块提供了另一种更棒的方式来应对页面种类似布局、对齐和分配容器等需求,即使它们的大小是动态的。...,我们设置其宽度为父级宽度的33%(图2)。...最后,宽度和高度为100%会使子级iframe元素成为其父级的100%。父级.videoWrapper完全控制建立此宽高比布局。
背景:先声明一下运用的场景,假如项目布局使用的是自适应的布局方式,div给出的宽度是百分比的形式,即框占窗口宽度的50%,但边界和内边距是用像素来表示的怎么办?...,意味着“包含元素宽度的5%”,因此,随着示例输出窗口的大小增加,内边距和外边距也增加了。...: margin:0 auto; 那么最终呈现的效果是:当父容器在最小和最大宽度限制内时,它将填满整个视口宽度;当父容器超过1280px宽度时,布局将保持在1280px宽...②max-width属性的另一个好处是可以将容器内的媒体(如图像和视频)控制在容器内(响应式图片): 在上述例子中,图像会引起一个问题--起初它的显示正常,但当容器变得比图像更窄时...而max-width:100%限制了图像的宽度使它的最大宽度与父容器的宽度相等。因此,当父容器宽度缩小到小于图像的宽度时,图像会一起缩小。
在过去,我们要么在图像编辑器中裁剪图像,要么通过设置宽度/或高度约束来调整图像大小(这不是一个完美的选择),或者执行某种复杂的裁剪,或者可能转而使用背景图像(如果图像不仅仅是为了装饰的话)。...这个指定的区域可能有固定的宽度和高度,或者可能是一个更具响应性的空间,如根据浏览器视口大小变化的网格区域。...但正如我们所看到的,为了让 object-fit 发挥作用,我们首先需要在图像的内容框上定义一个与其自然大小不同的高度和宽度。...在下面的示例中,我们将图像的宽度和高度限制为100%,这样其内容框就与容器div的大小相匹配: img { width: 100%; height: 100%; } 图像及其内容框现在紧密地适应容器...使用 object-fit 将图像适应容器 object-fit 属性为我们提供了五个主要的关键字值,以确定我们的图像如何在其容器内显示。
(6)计算BFC的高度时,浮动元素也参与计算 可应用到解决浮动元素的父元素高度塌陷问题中: 如果父元素的子元素都是浮动元素,那么父元素的高度会发生高度塌陷(height:0)。...> 效果: 原margin.png 以第一行来看,它距离顶部的垂直距离,和距离第二行的垂直距离是一样的。...overflow: hidden; } 效果: bfc解决两栏.png 不过我个人觉得这样做只是让BFC的区域不会与float元素区域重叠,实现了两栏布局效果,但并不是自适应的两栏布局,上述例子只是刚好父容器的宽度...如果把父容器的container的宽度,设为一个小于左盒子的宽度+右边盒子的宽度值(200px+300px),如400px时,就会看到这样的效果: 两栏.png 说明左右两个盒子并不会自动调整宽度来自适应的布局...display: flex; } 右盒子不需要设置overflow:hidden; 效果: flex解决自适应两栏布局.png 可以看出左右盒子都按比例调整了自身的宽度: 200px:300px=2
子元素的top和bottom如果设置百分比,则相对于直接非static定位的父元素的高度,同样子元素的left和right如果设置百分比,则相对于直接非static定位父元素的宽度。...,使用em可以使元素根据字体大小的动态调整来制作响应式布局。...rem单位 rem单位都是相对于根元素html的font-size来决定大小的,根元素的font-size相当于提供了一个基准,当页面的size发生变化时,只需要改变font-size的值,那么以rem...因此,如果通过rem来实现响应式的布局,只需要根据视图容器的大小,动态的改变根元素的font-size即可。 vh vw vmin vmax vh: 相对于视窗的高度,1vh等于视窗高度的1%。...vw: 相对于视窗的宽度,1vw等于视窗宽度的1%。 vmin: vw和vh中的较小值。 vmax: vw和vh中的较大值。 缩放比例 通过动态地控制网页视图的缩放比例来制作响应式布局。
这样的话,如果我们把思路转向组件的父组件呢?换句话说,如果我们查询父组件,并根据父组件的宽度或高度来决定组件应该是什么样子的呢?我们来看下容器查询的概念。 什么是容器查询 首先,让我定义容器。...在右边,一个根据父组件宽度更改的组件。这就是容器查询的功能和用途。 在设计时考虑容器查询 作为一名 UI,你需要适应这个革命性的CSS特性,因为它将改变我们为网页设计的方式。...我们不仅为屏幕尺寸设计,还考虑组件在容器宽度变化时应如何适应。 现在,设计系统变得越来越流行。设计团队将构建一组规则和组件,以便其他成员可以基于它们构建页面。...随着CSS容器查询的到来,我们还将设计一个组件应该如何根据其父组件的宽度进行调整。 考虑以下设计: 请注意,我们有标题、文章部分、引文和时事通讯。它们中的每一个都应该适应父视图的宽度。...我们可以使用CSS容器查询来实现它。 当有足够的空间时,清单将展开并显示每个用户的名称。聊天列表的父元素可以是动态调整大小的元素(例如:使用CSS视口单元,或CSS比较函数)。
右列容器开启右浮动 */ float: right; } 2. 通过float实现(二) 实现步骤: 为了完成效果需要调整 HTML 结构,调整后如下: <!...使中间自适应的宽度为父级容器减去两个定宽的列 */ width: calc(100%-400px); } .right { /* 2....使中间自适应的宽度为父级容器减去两个定宽的列 */ width: calc(100%-400px); /* 3....使用calc函数实现 使用 calc 函数实现的方式会比较简单,中间的容器最少高度为视口宽度的100% - 头部和底部两部分的高度即可完成该功能。...实现CSS代码如下: .container { /* 这里的 中间 部分的容器最少为视口宽度的 100% - 头部和底部两部分的高度即可完成该功能 */ min-height: calc
这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,所有浏览器已支持rem。...在标准模式下的盒模型:盒子总宽度/高度=width/height+padding+border+margin 在怪异模式下的盒模型下,盒子的总宽度和高度是包含内边距padding和边框border宽度在内的...(1)、降低图片的大小、选择适当的图片宽度尺寸,压缩图片,选择更小kb的图片格式,以达到最优的显示效果。...等,当按百分比设定它们时,依据的也是父容器的宽度,而不是高度。...自适应的单位有以下几个 百分比:% 相对于视口宽度的单位:ww 相对于视口高度的单位:vh 相对于视口宽度或者高度(取决于哪个小)的单位:Vm 相对于父元素字体大小的单位:em 相对于根元素字体大小的单位
其实你可以统一在这里设置内边距,但是我选择在内容中设置内容,这样我可以更清楚的看见这些内容适应于内边距的样子,又或者根本不用设置内边距。...添加文本后效果如下: 此时设置一下文本大小,随后加入文本后将会出现如下情况: 这是因为你并没有设置该文本大小,你需要设置文本宽度为100%,意思就是跟当前的容器大小一致,这样文本就会自动换行...: 可是此时内容如果很多,就会发现有很多行,这样并不例如我们有一个整齐的排版,所以咱们此时需要限制当前文本的显示行数,此时在这个文本的属性中找到最大行数,设置为 2 即可: 此时记得发现显示多余内容时将会以省略号进行省略...接着我们添加一个行,命名为信息: 接着调整对应的高度和背景色: 此时我们还需要设置一个很重要的属性,那就宽度,否则这个部分的内容将会左对齐显示,此时设置宽度小于父容器宽度后,由于父容器的水平对齐设置将会使整个行居中显示...,其内容也随着容器变动: 接着在这个信息中添加两个文本设置好大小和文本此时效果如下: 此时内容应该上下还有内边距,在这里我们需要设置父容器博文的高度为垂直居中即可: 此时效果如下
主要是取消列表的小圆点 */ li { list-style: none; } 设置图片自适应 : 设置的图片可能 大于或小于 图片容器 , 设置其宽度填充 100% 父容器 , 可以保证图片填充满父容器...垂直居中 ; 首先 , 走到父容器高度的一半 ; 然后 , 向上走自己高度的一半 ; /* 使用绝对定位 在 相对定位的父容器中任意放置元素 */ position: absolute;.../* 首先 走到父容器高度一般 */ top: 50%; /* 然后 向上走自己高度的一半 */ margin-top: -15px; /*绝对定位的盒子 无须转换,直接给大小就好了...水平居中 ; 首先 , 走到父容器宽度的一半 ; 然后 , 向左走自己宽度的一半 ; /* 在 相对定位 父容器中 使用 绝对定位 任意摆放 */ position: absolute;.../* 设置底部小圆点容器居中 */ /* 首先 走到父容器宽度的一半 */ left: 50%; /* 然后 向左走自己的一半宽度 */ margin-left: -35px
Resizing选项 使用Resizing功能可以实现如下图的效果,拖动父容器,根据设置不同,会实现不同的自适应效果。...接下来以第一次提到的这个演示为例,首先将内容做出来,并排布好 然后,从最内侧文本开始,选中文本图层,将Resizing中的横向布局改为Fill container(这是自动布局中最常用的选项,使用此项后内容会根据容器大小响应式的移动...自动布局(Resizing)的几个选项 拥抱内容(Hug contents):它始终适合高度和/或定义的内容或宽度。也是之前传统的Figma自动布局选项。...固定(Fixed):调整父级大小时,保持固定的宽度和/或高度。如果你不希望元素尺寸发生变化,请选这个。...填充容器(Fill container):这是自适应布局中最常用的选项,容器中的内容会自动适应容器的变化,并作出调整。具体就不放图了,参考本文第一个图。
1rpx 约等于屏幕宽度的 1/750 ,因此在不同设备上显示的大小会自动进行缩放,适应不同的屏幕尺寸。通常用于布局和字体大小的设置。...3 . vw (视窗宽度的百分比): 是相对长度单位,表示相对于视窗宽度的百分比。 1vw 等于视窗宽度的 1 %。通常用于响应式布局中,根据视窗宽度的变化调整元素大小。...4 . vh (视窗高度的百分比): 是相对长度单位,表示相对于视窗高度的百分比。 1vh 等于视窗高度的 1 %。通常用于响应式布局中,根据视窗高度的变化调整元素大小。...下面是整理的一个表格,方便大家查看: 单位 特点 用途 rpx 相对于屏幕宽度的响应式单位,自适应缩放 布局和字体大小 px 固定单位,不具备响应性 边框、阴影等固定尺寸元素 vw 相对于视窗宽度的百分比...,用于打印和排版领域 打印样式 % 相对于父元素的百分比 布局和尺寸调整
主轴:Flex容器的主轴主要用来配置Flex项目,默认是水平方向 侧轴:与主轴垂直的轴称作侧轴,默认是垂直方向的 方向:默认主轴从左向右,侧轴默认从上到下 主轴和侧轴并不是固定不变的,通过flex-direction...调整主轴方向(默认为水平方向) flex-direction: column 垂直排列 flex-direction: row 水平排列 http://m.ctrip.com/html5/ 携程网手机端地址...项目被拉伸以适应容器。 让子元素的高度拉伸适用父容器(子元素不给高度的前提下) center 项目位于容器的中心。 垂直居中 flex-start 项目位于容器的开头。...垂直对齐结束位置 底对齐 5、flex-wrap控制是否换行 当我们子盒子内容宽度多于父盒子的时候如何处理 值 描述 nowrap 默认值。规定灵活的项目不拆行或不拆列。...项目被拉伸以适应容器。 center 项目位于容器的中心。 flex-start 项目位于容器的开头。 flex-end 项目位于容器的结尾。
领取专属 10元无门槛券
手把手带您无忧上云