今天在项目中遇到图片居中的问题,嗯,之前也有写过解决这个问题的文章,有n种方法。不过今天要说一个新的方案:object-fit ,嗯,这个才是真的方便的方案啊。 先看预览: ?...在使用 object-fit 时,一定要设定元素的size,也就是 width 和 height 直入正题,object-fit 有五个可选值,分别是: fill 默认值。...效果类似 contain 或 none 用法也超级简单: .cover{ object-fit: cover; }.contain{ object-fit: contain; }.fill{...object-fit: fill; }.scale-down{ object-fit: scale-down; } one more thing object-position 当元素被...浏览器兼容性 IE 全家不支持,包括最新的 EDGE android 4.4.4+ 支持,Chrome 29+ 支持 Safari 7.1+ 和 iOS 8+ 支持 object-fit,不支持object-position
从图中可以看出,随着调整浏览器窗口,图片的宽高比也被破坏了,我们该怎么办呢?... 上面是object-fit取值为 none 的情况,我们看看object-fit取值为 contain 的情况。 ?...contain 包含,保持原始的尺寸比例,保证替换元素完整显示,宽度或高度至少有一个和内容区域的宽度或高度一致,部分内容会空白。 cover 覆盖,保持原始的尺寸比例,保证内容区域被填满。...就好像依次设置了none或contain, 最终呈现的是尺寸比较小的那个。...比:img元素的内容通常会被其src属性指定的图像替换掉。替换元素通常有其固有的尺寸:一个固有的宽度,一个固有的高度和一个固有的比率。
如果图像的长宽比与为其指定的宽度和高度不同,那么结果将是一个被挤压或拉伸的图像。 我们在下图中看到了这一点。...[post18image2.jpeg] 一张好看的照片和一张被拉伸的图像的比较 图像的长宽比与包含它的box不同,图像会被拉长。...[post18image3.jpeg] 在遮罩中裁剪了顶部和底部边缘的图像的例子 首先,我们会将图片垂直居中,然后在遮罩中剪裁。这就保留了图像的长宽比,防止它被挤压。...CSS object-fit object-fit属性定义了被替换的元素(如img或video)的内容应如何调整大小以适应其容器。object-fit的默认值是fill,这可能导致图像被挤压或拉伸。...object-fit的可能值 object-fit: contain 在这种情况下,图像的大小将被调整以适应其容器的长宽比。如果图像的长宽比与容器的长宽比不一致,它就会被“黑边化”。
当我们稍后查看object-position属性时,我们将学习如何指定图像的可见部分。 object-fit: contain contain 值强制图像完全适应其内容框,但不会扭曲。...图像保持其自然的宽高比,因此不会填满其容器: img { width: 100%; height: 100%; object-fit: contain; } 你可能会认为,只需在图像上设置height...显然,在我们当前的示例中,它会选择 contain,因为我们的容器比图像小。...在响应式布局中使用 object-fit object-fit 属性在图像的指定区域的尺寸响应浏览器视口大小的情况下可能最有用。...更常见的是,有一个图像需要适应的特定空间,所以 object-fit 对于允许图像适应该空间而不被扭曲(即使其中一部分必须被隐藏)非常有用。
0x01 图像样式属性介绍 如何处理图像溢出问题呢? 描述: 前面我们说过 CSS 中万物皆盒。...语法参数 object-fit: contain; # 被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。...object-fit: cover; # 被替换的内容在保持其宽高比的同时填充元素的整个内容框。...: cover; } .contain { object-fit: contain; } .fill{ object-fit: fill; } .scale{ object-fit: scale-down...round: 随着允许的空间在尺寸上的增长,被重复的图像将会伸展 (没有空隙), 直到有足够的空间来添加一个图像。
在图像和其他响应式元素的宽度和高度之间有一个一致的比例是很重要的。在CSS中,我们使用padding hack已经很多年了,但现在我们在CSS中有了原生的长宽比支持。...盒子被按比例调整大小,其宽度和高度之间的比例是一致的。现在,让我们想象一下,这个盒子里有一张重要的图片,我们关心它的所有细节。 请注意,无论大小如何,图像细节都被保留。...我们可以给图片加个object-fit: cover。问题解决了,对吗?不是这么简单滴。这个解决方案在多种视口尺寸下都不会好看。...最近,它在Safari 15的官方版本中得到支持。 我们回到前面的例子,我们可以这样改写它。...蓝色区域是图像的大小,object-fit: contain是重要的,避免扭曲图像。 Responsive Circles 你是否曾经需要创建一个应该是响应式的圆形元素?
在我知道::marker伪元素之前,如果要重置小圆圈列表样式,我们一般使用伪类::before或::after伪元素: ul { list-style: none; padding: 0....element { background-size: contain; background-repeat: round; } 太神奇了,是不是 ? object-fit 属性 ?...通过使用object-fit:contain,我可以控制徽标的width和height,并强制将图像包含在定义的宽度和高度中。??...更好的是,我们可以将以上内容包装在@supports中,以避免在不支持对象适配的浏览器中拉伸徽标图像。...@supports (object-fit: contain) { img { object-fit: contain; height: 75px; } } ---- 代码部署后可能存在的
在我知道::marker伪元素之前,如果要重置小圆圈列表样式,我们一般使用伪类::before或::after伪元素: ul { list-style: none; padding: 0...通过使用object-fit:contain,我可以控制徽标的width和height,并强制将图像包含在定义的宽度和高度中。??...-- other logos --> css img { width: 130px; height: 75px; object-fit: contain;...更好的是,我们可以将以上内容包装在@supports中,以避免在不支持对象适配的浏览器中拉伸徽标图像。...@supports (object-fit: contain) { img { object-fit: contain; height: 75px; } } ---- 代码部署后可能存在的
很多细节的东西需要处理, Aliplayer播放器在最新发布的版本中支持了X5浏览器的h5的同层播放,并且很多细节的东西帮助实现了,下面使用Aliplayer实现了两个例子: 点播视频H5Demo 全屏直播...上面两种情况的处理有点不一样的 视频居中的样式 退出全屏时恢复视频顶部播放 退出全屏的时候会出发事件,在事件里移除居中的样式 直播全屏播放 直播场景下会把视频充满整个屏幕,在上面显示评论、点赞、主播和观众信息等...改变视频显示方式 全屏播放视频默认是平铺的,如果想不平铺可以设置object-fit的样式为contain或其它 微信返回时关闭页面 微信在原来的页面上面打开另一个页面全屏播放视频, 如果正常流程返回时...object-fit属性 该object-fit CSS属性指定替换元素的内容应该如何适应到其使用的高度和宽度确定的框 可选的值: object-fit: fill; object-fit: contain...; object-fit: cover; object-fit: none; object-fit: scale-down; 每个值的效果: object-position属性 object-position
object-fit 避免图片拉伸 当然,限制高宽也会出现问题,譬如图片被拉伸了,非常的难看: 这个时候,我们可以借助 object-fit,它能够指定可替换元素的内容(也就是图片)该如何适应它的父容器的高宽...object-fit 的取值有 fill、none、contain、cover,与 background-size 类似,可以类比记忆。...此属性值适用于像素艺术作品,例如一些网页游戏中的图像。 image-rendering: pixelated:放大图像时,使用最近邻居算法,因此,图像看着像是由大块像素组成的。...虽然规范定义了挺多值,但是实际上,现代浏览器基本暂时只支持:auto、pixelated、以及 -webkit-optimize-contrast(Chrome 下的 smooth)。...总结而言,image-rendering 的作用是在图像缩放时,提供不一样的渲染方式,让图片的展示形态更为多样化,或者说是尽可能的去减少图片的失真带来的信息损耗。
-- 图片数量大于1,给定image固定高度和margin,这里的行内样式其实我在class里面也写得有,但是不知道为啥绑定的没用,必须写行内 --> 在水平或垂直方向是完整的,另一个方向将会发生截取。...当时使用image实现图像自适应的时候,设置mode="aspectFill" CSS object-fit 属性 object-fit 属性可接受如下值: fill - 默认值。...contain - 缩放替换后的内容以保持其纵横比,同时将其放入元素的内容框。...cover - 调整替class="gui-comments-image-pic-gt1"换内容的大小,以在填充元素的整个内容框时保持其长宽比。该对象将被裁剪以适应。
Chrome\Opera\Android JPEG XL 支持 支持 渐进式解码 有损压缩\无损压缩 直接色 基本一致 部分高版本 Chrome\Opera\Firefox\Edge AVIF 支持...Chrome 从 91 版本开始已经实验室性质支持了 .jxl 格式的图片,需要通过 --enable-features=JXL 配置开启,遗憾的是,从 Chrome 110 开始,Chrome 又不再支持...虽然 AVIF、JPEG XL 等新型图片格式未得到任何浏览器的完全支持,但是在新版本的 Chrome、Firefox 和 Edge Chromium,可以使用配置标志启用对应图像格式,配合 HTML...object-fit 避免图片拉伸 当然,限制高宽也会出现问题,譬如图片被拉伸了,非常的难看: 这个时候,我们可以借助 object-fit,它能够指定可替换元素的内容(也就是图片)该如何适应它的父容器的高宽...object-fit 的取值有 fill、none、contain、cover,与 background-size 类似,可以类比记忆。
Chrome 81 的延迟也扰乱了 Google 正常的六周发布时间表。因此 Google 此前也宣布,下一个版本将直接跳过 Chrome 82 ,直接发布 Chrome 83。...混合 HTTPS 内容早在上个版本(Chrome 80)的更新中我就介绍过了:是指通过 HTTP 和 HTTPS 加载图像、JavaScript 或样式表等内容的网页,这意味着该站点实际上并不完全通过...因此,为了防止造成重大破坏,Google 为该过程选择了一个三步计划: 在 2019 年 12 月发布的 Chrome 79 中,该团队将引入一个新设置来取消阻止特定网站上的混合内容。...Chrome 80 仍然可以加载混合图像资源,但它们会使 Chrome 在状态框上显示不安全。...不安全的下载将被直接阻止 从 Chrome 83 开始,不安全的下载将直接被阻止,和上面的混合内容更新一样,这个更新也是分步进行的,直到 Chrome 86 所有在安全页面上的不安全的下载将被全部阻止
在Web 开发领域中,CSS(层叠样式表)是构建网站视觉美感和布局的支柱。虽然许多开发人员熟悉常用的 CSS 属性,但仍有大量隐藏的宝石等待被发现。...图像渲染: 此属性控制图像在浏览器中的渲染方式,提供优化图像质量和渲染速度的选项。....element { overscroll-behavior: contain; } 9. user-select: user-select控制用户是否可以选择元素内的文本,从而更好地控制用户交互和界面设计..."; counter-increment: section; } 13. object-fit: Object-fit 指定如何调整元素内容的大小以适合其容器、保留纵横比并控制溢出行为。...img { width: 200px; height: 200px; object-fit: cover; } 14. mask-image: mask-image应用图像来选择性地遮盖或显示元素内容的部分内容
在非等比缩放的情况下会被拉伸变形。 设置宽度或者高度时,会保持原宽高比进行缩放。 ?...W3c 是这么描述的:标签创建的是被引用图像的占位空间。...而张鑫旭大大在半深入理解CSS3 object-position/object-fit属性一文中也指出: 元素其实与内容是相互独立的。相当于一个外壳包裹着内容。...那如果使用 object-fit属性按照业务需求去控制内容,貌似可以完成任务。 ? 我们把值设为 contain,布局是没有问题了,但是其实很不美观。...在重新计算放大后的高度。
以前在使用 flex 布局的时候经常会用 margin、padding 来控制 flex item 之间的间隔,用 gap 会更方便。...50%); } 6. object-fit 属性 MDN - object-fit Can I Use - CSS3 object-fit/object-position object-fit 属性用于设置...filter 通常用于调整图像、背景和边框的渲染。...conic-gradient() 函数创建一个图像,该图像由渐变色组成,颜色围绕中心点旋转过渡(而不是从中心辐射)。...通过设置 overscroll-behavior:contain 就可以修改这一行为,而不需要监听 scroll 事件去阻止冒泡。
我在之前很多篇文章中都提到过,是一个很好用的属性: Web图像组件设计的最佳实践 Chrome 88 新功能解读 解读新一代 Web 性能体验和质量指标 给定图片的纵横比后,浏览器可以自动计算图片尺寸,...: cover; } } 目前兼容性感人: 如果想试用,还要开启一个实验配置:chrome://flags/#enable-container-queries 图形和图像 CSS 图形 (Shape...contain 保持原有的尺寸比例。保证替换内容尺寸一定可以在容器里面放得下。因此,此参数可能在容器内一下空白。 cover 保持原有的尺寸比例。...contain 属性的主要目的是隔离指定内容的样式、布局和渲染。...这个属性在包含大量独立组件的页面非常实用,它可以防止某个小部件的 CSS 规则改变对页面上的其他东西造成影响,contain 属性有以下七个值: none 无 layout 开启布局限制 style 开启样式限制
上一个版本带有学校logo,根据比赛规则,删掉了学校logo。 图片背景 也就是将图片作为背景。...background-size: contain;恰好包含在父容器中。不会被裁剪。 为什么已经指定了background-size: contain;还要设置height: 100%;?...object-fit是设置填充方案,以下引用自MDN文档: contain:被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。...整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加“黑边”。 cover:被替换的内容在保持其宽高比的同时填充元素的整个内容框。...样式就会切换成结束的样式。 这是在瞬间完成的。要实现动画效果,需要元素样式中添加transition属性,描述动画的:生效范围、持续时长、动画效果。
:root{ --main-color: #3498db; } h1{ color: var(--main-color); } 08.图像控制的Object-fit属性 object-fit...:is(h1, h2, h3) { color: blue; } 34.CSS变量的计算 在动态样式的 CSS 变量中执行计算。...自定义单选按钮和复选框 设置不带图像的单选按钮和复选框的样式。...设计破损图像的样式 使用 :broken 伪类将样式应用于损坏的图像。 img:broken { filter: grayscale(100%); } 53.....optimized-element { contain: layout; } 98.
CSS(层叠样式表)是 Web 开发人员必不可少的工具,可让你精确地设置 HTML 元素的样式。但是,掌握 CSS 不仅仅需要了解基础知识。...垂直和水平居中元素 问题:在容器中垂直和水平居中元素 解决方案:使用 Flexbox。...自定义复选框和单选按钮 问题:设置默认复选框和单选按钮的样式。 解决方案:隐藏默认输入并设置标签的样式。...对象适合图像 问题:确保图像适合其容器而不会变形。 解决方案:使用“object-fit”。....fit-image { width: 100%; height: 200px; object-fit: cover; /* or contain, fill, etc. */ } 17.
领取专属 10元无门槛券
手把手带您无忧上云