【发布时间】:2015-10-24 08:14:21
【问题描述】:
我正在构建一个图片库,并拥有水平和垂直图像。目前,图像一个接一个地加载,垂直堆叠。
它适用于水平图像,但一旦我在布局上有一个垂直图像,它就会拉伸以匹配水平图像的宽度并且变得太高而无法适应屏幕。
我正在尝试找到一种解决方案,始终将 2 个垂直图像并排对齐。
这里有一些图表来说明我想要实现的目标:
理想情况下,会有一个仅使用 CSS 的解决方案,但我认为这不可能。所以,我尝试使用一些 jQuery。
$('.image-wrapper').prop('height', function(){
if($(this).height() > $(this).width()){
//portrait, resize accordingly
var width = $(this).width();
var height = $(this).height();
$(this).css({"width": "50%", "float": "left"});
});
此解决方案的唯一问题是它没有考虑 DIV 的边距。而且我找不到补偿的方法。
这是JSfiddle的链接
更新:
我已经调整了 jQuery 来测试之前的图像是否是垂直的,并在它们之间添加边距。我只是想知道这个解决方案有多可靠。
这是 [Fiddle][4] 的链接
作为奖励,如果能够检查我在一个序列中有多少垂直图像并将它们并排放置,那就太好了。 ;)
谢谢!
【问题讨论】:
-
竖图应该去哪里?
-
为什么不把 float:left 放在每个垂直图像上?不需要jquery。 .vertical{浮动:左;宽度:50%}
-
@eugensunic 他们应该低于水平的。我链接的图片应该让您更好地理解我的意思。
-
@BragDeal 我无权访问 HTML,水平和垂直图像都具有相同的 CSS 类。我正在调整其中一个 Squarespace 主题。
-
图片重定向到某个网址?
标签: javascript jquery css alignment css-float