本篇文章带大家一起深入了解一下css3中的新特性object-view-box属性,聊聊新属性的作用和使用方法,希望对大家有所帮助!

在开发时,一直希望有一种原生的CSS方式来裁剪图片,并将其定位在我需要的任何方向。这可以通过使用一个额外的HTML元素和不同的CSS属性来实现,后面解释。
在这篇文章中,将带领大家了解Jake Archibald在今年年初提出的新的CSS属性object-view-box。它允许我们裁剪或调整被替换的HTML元素,就像一个 或 <video></video>。【推荐学习:css视频教程】
在下面的例子中,我们有一个需要裁剪的图像。请注意,我们只想要该图像的特定部分。
立即学习“前端免费学习笔记(深入)”;

目前,我们可以通过以下方式之一来解决这个问题。
<img alt="一文了解CSS3中的新属性object-view-box" > 并将其包裹在一个额外的元素中background-image 并修改位置和大小这是一个常见的解决这个问题的方法,步骤如下:
<figure></figure>)。position: relative 和 overflow: hidden
position: absolute,并对定位和尺寸值进行了调整,以实现这一结果。<figure>
@@##@@
</figure>figure {
position: relative;
width: 300px;
aspect-ratio: 1;
overflow: hidden;
border-radius: 15px;
}
img {
position: absolute;
left: -23%;
top: 0;
right: 0;
bottom: 0;
width: 180%;
height: 100%;
object-fit: cover;
}在这个解决方案中,我们使用一个 这很好,但如果我们想把上述内容应用于 属性 根据CSS规范(https://drafts.csswg.org/css-images-4/#the-object-view-box) 该属性的值是 我们回到这个问题上来。 有了 这是怎么做到的呢?我们往下看。 内在大小是默认的图像宽度和高度。我处理的图像大小为 使用上述CSS,图片的渲染尺寸将是 <img alt="一文了解CSS3中的新属性object-view-box" > 我们的目标是在固有图像上画一个矩形。要做到这一点,我们使用 本文档主要讲述的是关于Objective-C手动内存管理的规则;在ios开发中Objective-C 增加了一些新的东西,包括属性和垃圾回收。那么,我们在学习Objective-C之前,最好应该先了解,从前是什么样的,为什么Objective-C 要增加这些支持。有需要的朋友可以下载看看 <img alt="一文了解CSS3中的新属性object-view-box" > 回到 以下是上述内容的背后的样子,值 如果图像的尺寸是正方形的,那么裁剪后的结果将是变形的。 这可以使用 我们可以使用 我们也可以用一个负的 想象一下,这对于能够缩放图像是多么有用,而不需要用一个额外的元素来包装它。 地址:https://codepen.io/shadeed/pen/yLvXJRd 期待这个新的属于尽快来了! 作者:ishadeed 来源:ishadeed 原文:https://ishadeed.com/article/css-object-view-box/ (学习视频分享:web前端)<div class="brownies"></div>
.brownies {
width: 300px;
aspect-ratio: 3 / 2;
background-image: url("brownies.jpg");
background-size: 700px auto;
background-position: 77% 68%;
background-repeat: no-repeat;
}<img alt="一文了解CSS3中的新属性object-view-box" > 呢?嗯,这就是 object-view-box 的作用。引入Object-View-Box
object-view-box 可能会在 Chrome 104 中支持。现在可以在 Chrome canary中使用。object-view-box属性在一个元素上指定了一个 "视图框",类似于属性,在元素的内容上进行缩放或平移。
<basic-shape-rect> = <inset> | <rect> | <xywh></xywh></rect></inset></basic-shape-rect>。在本文的演示中,我将着重介绍inset()的用法。object-view-box,我们就能用inset从四边(上、右、下、左)画一个矩形,然后应用object-fit: cover来避免变形。@@##@@
img {
aspect-ratio: 1;
width: 300px;
object-view-box: inset(25% 20% 15% 0%);
}图像的内在尺寸
1194 × 1194 px.img {
aspect-ratio: 1;
width: 300px;
}300×300px。inset()值。使用 inset
inset()值将基于原始图像的宽度和高度,从而形成一个裁剪过的图像。它将帮助我们绘制一个嵌入的矩形并控制四个边缘,类似于处理margin或padding。inset 值定义了一个嵌入的矩形。我们可以控制四个边缘,就像我们处理margin或padding一样。在下面的例子中,卡片的所有边缘都有一个20px的嵌入。
0
object-view-box:img {
aspect-ratio: 1;
width: 300px;
object-view-box: inset(25% 20% 15% 0%);
}25%、20%、15%和0% 的值分别代表顶部、右侧、底部和左侧。
修复图像失真

object-fit 属性来解决。img {
aspect-ratio: 1;
width: 300px;
object-view-box: inset(25% 20% 15% 0%);
object-fit: cover;
}
放大或缩小
inset 来放大或缩小图像。根据我的测试,过渡或动画不能与object-view-box工作。
inset 值来缩小。
事例

以上就是一文了解CSS3中的新属性object-view-box的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号