问题标签 [object-fit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
css - 对象拟合:Cover 和 Srcset
我正在使用object-fit: cover
一堆图像。图像的框架占据50vw
并具有动态高度。封面属性效果很好,但这意味着我真的不知道我的实际图像在给定时间会有多宽。
它很可能会比 更宽,50vw
并且由于适合对象的覆盖,它的溢出将被隐藏。
当我尝试使用 srcset 时,问题就出现了。我无法为尺寸属性提供可靠的宽度。
我知道大小只需要一个近似值,但我很好奇是否有人以前处理过这个问题。
html - 在 a 上使用对象拟合带有子元素,包括
我有一个大小和宽度可变的外部容器。假设在这个容器内,我有一个画布,我希望它尽可能地增长,同时保持比例而不是裁剪。为此,我通常会使用object-fit: contain
.
现在,假设我不仅有一个画布,还有一个画布,旁边放置了另一个元素。
HTML:
CSS:
在这种情况下,我想缩放整个 externalContainer 的大小,就像我对画布所做的那样。问题是它object-fit
实际上并没有缩放元素……它缩放了它的内容。这似乎不适用于普通的块元素,导致如果有足够的宽度,内部的画布可能会倾斜。
如果我添加object-fit: contain
到canvas
元素中,它会保持比例但仍使用全宽,这意味着.beside
元素一直向右。这通过画布上的紫色背景进行可视化。
我想要的是outerContainer
使用画布内容进行缩放,以便.beside
始终具有画布内容的高度。应该在父元素中居中,在.outerContainer
不扭曲画布的情况下占用尽可能多的空间。像这样,在任何比例范围内:
这对现代 CSS 可行吗?或者我必须使用脚本解决方案吗?
css - flexslider 上的对象拟合的后备解决方案
我使用的是 flexslider(固定高度为 500 像素),但对其进行了轻微修改,以使图像即使高度超过 500 像素也能很好地显示。因此我添加了
适合对象:封面;对象位置:中心;
到 img-Tag 的 CSS。
但是,这不受支持,并且图像在 Internet Explorer 中以非常难看的方式拉伸。IE有什么好的后备解决方案吗?
我已经在 StackOverflow 上进行了搜索,但所有答案都不是很令人满意。
css - codepen 是否解决响应性问题?
我一直在努力让我的图像适合它们的父元素。为了问一个更好的 StackOverflow 问题,我决定制作一个 codepen,但是当我这样做时,问题就解决了吗?但是,当我运行本地服务器时,它仍然没有解决。谁能解释一下?
外层:
内图:
html - 如何将文本与使用 object-fit 自动缩放的图像对齐:包含
我有一个占屏幕约 75% 的视口,我使用object-fit: contain
css 将不同纵横比的单个图像放入其中。在图像上方,我有文件名和类型的文本标签。我想保持这些对齐以从图像的最左边开始并在最右边结束。<img>
我可以通过将它们与标签对齐来轻松做到这一点。
使用的一个副作用object-fit: contain
是<img>
元素比可视图片大,所以当我尝试将文本对齐时,<img>
它可能会出现文本漂浮在图像之外。
img
当标签扩展以适应整个视口但实际图片在img
标签内自动缩放时,如何将文本与可视图像对齐object-fit: contain
?
css - 在具有 object-fit 的 flex 容器中实现重叠图像
嘿,我之前问过一个类似的问题并且能够实现它,问题是我必须使用 png 图像,缺点是它太大了。
经过一些研究,我发现了一种使用 svg 容器和图像的 alpha 和 beta 通道的方法。
然而,我遇到的主要困难是让对象适合工作,因此图像将始终覆盖其 flexbox 容器的全部 50% ......这可能吗?我错过了什么……非常感谢。
javascript - 在 Angular 2 中使用 Typescript 将对象适合应用于元素
我试图对我的应用程序中的元素使用对象拟合。我的 IDE 无法识别:
child.style.objectFit = '封面';
由于某些原因。它在 objectFit 下有波浪线。当我这样做时:
child.style.setProperty('object-fit', 'cover', '!important');
它不会出现在我的浏览器的检查器中。所以它不应用代码。
为什么它的行为如此奇怪?
javascript - 如何使用 JavaScript 在 MS Edge 中获取未知样式规则
我想使用object-fit
CSS 规则。
MSIE 和 MS Edge 浏览器不支持此功能。
虽然有一些适用于 IE 的 polyfill,但据我所知,没有一个适用于 Edge。
例如,Jonathan Neal 的 polyfill fitie可以在 IE 中使用,但不能在 Edge 中使用(至少不在我的机器上)。这是因为 fitie 使用了 MS only JS 对象element.currentStyle
,element.runtimeStyle
这些对象不再在 Edge 浏览器中得到任何支持。但如果我使用window.getComputedStyle(element).getPropertyValue('object-fit')
,Edge 什么也不返回。
那么如何object-fit
在 MS Edge 浏览器中用 JavaScript 获取 CSS rule rule 的值呢?
编辑
它必须以某种方式成为可能,因为它没有被完全忽略。
开发者工具显示规则带下划线
奖金问题:
是否有任何适用于 Edge 的对象拟合 polyfill?
javascript - 我们可以创建类似 Object-fit 的东西吗:填写 Javascript/Jquery
我正在使用适合视频的对象。我看到在 IE 和其他一些浏览器中不起作用。是否可以创建类似 Object-fit:fill 的东西与 Javascript/Jquery 一起使用?