Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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
Javascript 以不同的方式设置垂直图像的样式,以便它们并排运行_Javascript_Jquery_Css_Alignment_Css Float - Fatal编程技术网

Javascript 以不同的方式设置垂直图像的样式,以便它们并排运行

Javascript 以不同的方式设置垂直图像的样式,以便它们并排运行,javascript,jquery,css,alignment,css-float,Javascript,Jquery,Css,Alignment,Css Float,我正在建立一个图像库,有水平和垂直图像。此时,图像一个接一个地加载,垂直堆叠 它对水平图像非常有效,但一旦我在布局上有了垂直图像,它就会拉伸以匹配水平图像的宽度,并且变得太高而无法适应屏幕 我正试图找到一种解决方案,使两个垂直图像始终并排对齐 以下是一些图表来说明我试图实现的目标: 选项1: 您提到您没有访问html的权限。为了访问第n个元素的css,您可以使用类型(x)选择器的第n个 以下是一些关于它的信息: 仅使用css,添加以下内容: .image-wrapper:nth-of-type

我正在建立一个图像库,有水平和垂直图像。此时,图像一个接一个地加载,垂直堆叠

它对水平图像非常有效,但一旦我在布局上有了垂直图像,它就会拉伸以匹配水平图像的宽度,并且变得太高而无法适应屏幕

我正试图找到一种解决方案,使两个垂直图像始终并排对齐

以下是一些图表来说明我试图实现的目标:


选项1:

您提到您没有访问html的权限。为了访问第n个元素的css,您可以使用类型(x)选择器的第n个

以下是一些关于它的信息:

仅使用css,添加以下内容:

.image-wrapper:nth-of-type(2),.image-wrapper:nth-of-type(3){
    float:left;
    width:50%;
    padding:0;
    margin:0;
}
并删除你的js。这应该可以做到

演示:

选项2:

使用Jquery,在每个图像中找到单词“vertical”。找到后,向其添加样式

以下是如何找到它:

var x = $("img[src$='vertical-img']");
x.css("float","left");
演示:

这里有一个解决方案:

$('.thumb-image').each(function (i, obj) {
        if ($(this).width() > $(this).eq(i + 1).width()) {
            $('.thumb-image').slice(i + 1).each(function () {

                $(this).css({
                    float: "left",
                    width: "50%",
                    padding: "0",
                    margin: "0"


                });
            });
        }

    });

fiddle编辑

垂直图像应该放在哪里?为什么不在每个垂直图像上都放上float:left?不需要jquery。垂直{float:left;width:50%}@eugensunic他们应该走在水平的后面。我链接的图像应该能让你更好地理解我的意思。@BragDeal我没有访问HTML的权限,水平图像和垂直图像都有相同的CSS类。我正在调整其中一个Squarespace主题。图像重定向到某个URL?谢谢夸克。这是一项伟大的技术,但我并不总是知道垂直图像的第n个。有时是第二场和第三场,有时是第十场和第十一场等等。布拉德p当具有相同的类名时,不访问html可以做很多事情。我唯一的另一个想法是,在每张图片中找到“垂直”一词,并使用js将所需的样式添加到itSorry,Brag;)我想我已经为此挣扎太久了。该休息了。你是说在文件名中找到“垂直”这个词?这可能是一个有趣的方法。更新了我的答案。您可以找到所需的图像(假设图像中有垂直img这个词,那么你可以用非常优雅的解决方案Eugen来设计它。有没有办法在垂直图像之间添加20px的边距?我试过这样的方法:我发现你已经用你的示例实现了它。是的,你可以,但是你必须使用if stat。用一个右边留空白,右边留空白,但我相信你也得换一下包装。如果我明天有时间,如果你还想的话,我会这样做。如果你明天有空的话,我会非常感激。如果我在这期间发现任何东西,我会及时通知你的。谢谢
$('.thumb-image').each(function (i, obj) {
        if ($(this).width() > $(this).eq(i + 1).width()) {
            $('.thumb-image').slice(i + 1).each(function () {

                $(this).css({
                    float: "left",
                    width: "50%",
                    padding: "0",
                    margin: "0"


                });
            });
        }

    });