如何使用 CSS object 您所在的位置:网站首页 高比和高比克是一样的吗图片大全集 如何使用 CSS object

如何使用 CSS object

2024-07-02 16:53| 来源: 网络整理| 查看: 265

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

简介

在处理图片时,你可能会遇到需要保持原始宽高比的情况。保持宽高比可以防止图片被拉伸或压缩而出现失真。解决这个问题的常见方法是使用 background-image CSS 属性。更现代的方法是使用 object-fit CSS 属性。

在本文中,你将探索 object-fit CSS 属性中可用的 fill、cover、contain、none 和 scale-down 值的效果,以及它们如何裁剪和缩放图片。你还将探索 object-position CSS 属性以及它如何偏移图片。

先决条件

如果你想跟着本文学习,你需要:

了解 CSS 属性和值。在 style 属性中使用 CSS 声明。一个代码编辑器。一个支持 object-fit 和 object-position 的现代网页浏览器。 观察示例图片的默认行为

考虑以下用于显示示例图片的代码:

这段代码将在浏览器中产生以下结果:

Sample image of a turtle riding on top of an alligator that is swimming in the water - scaled to 600 x 337.

这张图片的原始宽度为 1200px,高度为 674px。使用 img 属性,宽度被设置为 600,高度被设置为 337 - 保持了宽高比。

现在,考虑一种情况,布局期望图片占据宽度为 300px,高度为 337px:

这段代码将在浏览器中产生以下结果:

Sample image of a tutle riding on top of an alligator that is swimming in the water - scaled to 300 x 337.

结果图片不再保持原始宽高比,看起来被视觉上“压扁”了。

使用 object-fit: fill

fill 值是 object-fit 的初始值。这个值不会保持原始宽高比。

这段代码将在浏览器中产生以下结果:

Sample image of a tutle riding on top of an alligator that is swimming in the water - scaled to 300 x 337 - with object-fit: fill.

由于这是浏览器渲染引擎的“初始”值,与缩放后的图片相比,外观没有变化。结果图片仍然看起来被压扁了。

使用 object-fit: cover

cover 值保持了原始宽高比,但图片占据了所有可用空间。

这段代码将在浏览器中产生以下结果:

Sample image of a tutle riding on top of an alligator that is swimming in the water - scaled to 300 x 337 with object-fit: cover.

在某些情况下,object-fit: cover 会导致图片被裁剪。在这个示例图片中,原始图片的左右部分由于无法适应声明的宽度而未显示。

使用 object-fit: contain

contain 值保留了原始的长宽比,但同时也限制了图像不超出可用空间的边界。

这段代码将在浏览器中产生以下结果:

一个鳄鱼游泳中,上面骑着一只乌龟的示例图像 - 缩放至 300 x 337 - 使用 object-fit: contain。

在某些情况下,object-fit: contain 会导致图像未填满所有可用空间。在这个示例图像中,由于声明的高度比缩小后的高度更高,因此图像上方和下方会有垂直空间。

使用 object-fit: none

none 值根本不调整图像的大小。

这段代码将在浏览器中产生以下结果:

一个鳄鱼游泳中,上面骑着一只乌龟的示例图像 - 缩放至 300 x 337 - 使用 object-fit: none。

在图像比可用空间大的情况下,它将被裁剪。在这个示例图像中,由于原始图像的某些部分无法适应声明的宽度和高度的边界,因此左侧、右侧、顶部和底部的一些部分不会显示。

使用 object-fit: scale-down

scale-down 值将根据哪种方式会导致更小的图像,显示像 contain 或 none 一样的效果。

这段代码将在浏览器中产生以下结果:

一个鳄鱼游泳中,上面骑着一只乌龟的示例图像 - 缩放至 300 x 337 - 使用 object-fit: scale-down。

在这个示例图像中,图像已经被缩小,表现得像 contain 一样。

使用 object-fit 和 object-position

如果 object-fit 产生的图像出现裁剪,那么默认情况下图像将居中显示。object-position 属性可用于改变焦点位置。

考虑之前的 object-fit: cover 示例:

一个鳄鱼游泳中,上面骑着一只乌龟的示例图像 - 缩放至 300 x 337 - 使用 object-fit: cover。

现在让我们改变图像在 X 轴上可见部分的位置,以显示图像的最右边缘:

这段代码将在浏览器中产生以下结果:

裁剪后的示例图像,显示一个在水中游泳的鳄鱼 - 缩放至 300 x 337 - 使用 object-fit: contain 和 object-position: 100% 0。

在这个示例图像中,乌龟已经被裁剪出图像。

最后,让我们观察一下如果指定的位置超出了可用空间的边界会发生什么:

这段代码将在浏览器中产生以下结果:

裁剪后的示例图像,显示部分乌龟和部分在水中游泳的鳄鱼 - 缩放至 300 x 337 - 使用 object-fit: contain 和 object-position: -20% 0。

在这个示例图像中,乌龟和鳄鱼的头部已经被裁剪出图像。图像的左侧还有一些空间,以弥补图像左侧的 20% 偏移。

结论

在本文中,您探索了object-fit和object-position CSS 属性可用的值。

object-fit 还支持 inherit、initial 和 unset。

在项目中使用 object-fit 之前,请通过在 Can I Use? 上检查浏览器支持情况来验证它是否受到您预期受众使用的浏览器的支持。

如果您想了解更多关于 CSS 的知识,请查看我们的 CSS 专题页面,了解练习和编程项目。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有