【问题标题】:Width from background-image in an inline flexbox model内联弹性盒模型中背景图像的宽度
【发布时间】:2015-12-27 04:54:07
【问题描述】:

是否可以仅使用 css 从元素的背景图像计算元素的最小宽度?

在占据整个视口高度的内联 flexbox 包装器中,我们可以使用 javascript 来计算每个子 div 的相对宽度 - 基于背景图像的 (w/h) 比例。

var scale = ((img.naturalWidth / img.naturalHeight) * 100);

然后使用 css3 视口高度将其应用于元素

element.style.minWidth = scale + 'vh';

因此,如果图像是130px width x 100px height,则应用于 div 的最小宽度为 130vh

可以在没有 javascript 的情况下实现基于背景图像宽度的布局吗?

小提琴演示:https://jsfiddle.net/ucxyefmL/

【问题讨论】:

    标签: javascript html css flexbox viewport-units


    【解决方案1】:

    缩放背景图片以适应 div:

    背景尺寸:包含;

    缩放背景图像以覆盖整个 div:

    背景尺寸:封面;

    【讨论】:

    • 您好 W3,感谢您的洞察力。我实际上是想弄清楚如何使用 background-image 来确定元素的精确宽度,所以理论上 background-size contains 和 cover 都会达到相同的美感。
    猜你喜欢
    • 1970-01-01
    • 2010-11-25
    • 2019-01-08
    • 2018-01-30
    • 2016-07-05
    • 2021-01-25
    • 2014-08-27
    • 1970-01-01
    • 2021-08-28
    相关资源
    最近更新 更多