Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 使用空白源调整图像大小_Html_Css - Fatal编程技术网

Html 使用空白源调整图像大小

Html 使用空白源调整图像大小,html,css,Html,Css,我有一个很长的页面,有棱角。页面上的图像是延迟加载的,因此在将图像滚动到视图中之前不会设置src 容器是灵活的,图像的缩放比例不应大于其尺寸(我知道并且可以在样式属性上设置) 现在,我在没有设置适当缩放源的情况下获取图像时遇到了问题 TL;DR 我希望和在最大尺寸的灵活容器中占据完全相同的空间 演示: HTML(这将由JavaScript生成,我们在JavaScript中提前知道尺寸) 这里有一个演示,演示了图像大小被硬设置,因此它们不再灵活。这就是我想要避免的:这很简单,你要做的就是

我有一个很长的页面,有棱角。页面上的图像是延迟加载的,因此在将图像滚动到视图中之前不会设置
src

容器是灵活的,图像的缩放比例不应大于其尺寸(我知道并且可以在
样式
属性上设置)

现在,我在没有设置适当缩放源的情况下获取图像时遇到了问题

TL;DR 我希望
在最大尺寸的灵活容器中占据完全相同的空间

演示:


HTML(这将由JavaScript生成,我们在JavaScript中提前知道尺寸)


这里有一个演示,演示了图像大小被硬设置,因此它们不再灵活。这就是我想要避免的:

这很简单,你要做的就是

    <img src="img.jpg" width"20px" height"20px"/>

或任意数量的像素,并对另一个像素执行相同的操作

    <img src="" width"20px" height"20px"/>

如果您提前知道每个图像的尺寸,我几乎总是建议将普通ol'
背景图像
属性结合使用。你不必迎合
标签的特性,你也可以

给你一种感觉。我使用一个指令来设置宽度和高度,它们被传递到一个隔离范围,然后当我检测到指令顶部偏移小于窗口高度时,设置
背景图像
属性。快速,肮脏,但简单的实现我认为你要去的

优点:

  • 上述暂缓处理不断变化无常的
    img
    标签
  • 能够添加一些整洁的悬停效果(尝试在代码栏中的一只猫上悬停)
缺点:

  • 使用背景图像检测图像加载并不像使用图像标记可用的
    img.onload
    回调那样容易。您可能会创建使用
    img
    挤出此功能的指令模板。由你决定
希望这有帮助

编辑:正如Chris在评论中提到的,当图像容器的宽度不同时,这种技术仍然不能解决纵横比问题。为了解决这个问题,我想出了我最喜欢的CSS技巧之一,由尼古拉斯·加拉赫(Nicolas Gallagher)撰写


不幸的是,我没有时间将修复添加到我的原始笔(即将开始工作)中。元素的
填充底部
将随着元素宽度的增加或减少而成比例缩放,从而保持元素的纵横比。

良好。如果您知道宽度500px和高度700px总是相同的,您可以只设置高度:700px。但我知道你想要的基本上是你想知道一个img src的大小,甚至在你加载/调整它之前。我无法想象,如果使用纯html/cssonload page call脚本函数来获取图像源、获取信息并进行比较,您将如何做到这一点。根据该值,您只需将图像的最大值赋给两个标记。您想使用延迟加载的具体原因是什么?带宽问题?如果是这样,您将得到的任何解决方案都将否定延迟加载技术的优势。不,我已经有了所有的图像尺寸,只是出于带宽/性能的原因,我不想全部加载它们(其中许多可能是大型动画GIF)。我可以在图像上硬设置大小,但是它们不灵活。为了进一步解释我想要的:我有图像尺寸,但是没有
src
集的图像无法保持正确的纵横比。不,这根本不起作用。这是我尝试的第一件事
没有源的标记不考虑
宽度
高度
属性。看看这个使用代码的演示:顺便说一下,在宽度和高度属性中使用px是一个错误。如果你想使用px,请使用CSS。啊,太好了,这是一个很好的选择-谢谢!然而,这只解决了部分问题,因为这里的图像现在是固定的高度和宽度。我怎样才能使它们对其父容器保持灵活,并保持正确的纵横比?我已经把你的演示放在这里了。这有点接近了,但还不是100%,很高兴它能帮上忙!刚刚在我的答案中添加了一个编辑,其中包括纵横比和
。但愿我有时间折叠我以前的代码笔,但剩下的唯一真正步骤是在
lazymeage
指令中计算属性的比率。非常好,谢谢!我能够结合这些,并使用这种技术计算图像比率。这是一个奎斯克硬编码的工作示例:这是我最后的工作演示!
    <img src="img.jpg" width"20px" height"20px"/>
    <img src="" width"20px" height"20px"/>