Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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_Html_Css_Twitter Bootstrap_Image Gallery - Fatal编程技术网

具有不同图像大小的JavaScript和引导图像库

具有不同图像大小的JavaScript和引导图像库,javascript,html,css,twitter-bootstrap,image-gallery,Javascript,Html,Css,Twitter Bootstrap,Image Gallery,我无法将图像库与不同大小的图像对齐。我不想以编程方式设置大小,因为在不同的屏幕上,它们看起来不太好看。另一个问题是图像和场景之间的空白,我不知道图像的大小(图像是作为图像列表获得的,通过SpringFramework控制器,并为每个周期添加)。我的代码是: <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@page session="false"%> <%@ taglib prefix="c"

我无法将图像库与不同大小的图像对齐。我不想以编程方式设置大小,因为在不同的屏幕上,它们看起来不太好看。另一个问题是图像和场景之间的空白,我不知道图像的大小(图像是作为图像列表获得的,通过SpringFramework控制器,并为每个周期添加)。我的代码是:

 <%@page contentType="text/html" pageEncoding="UTF-8"%>
 <%@page session="false"%>
 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
 <%@ taglib prefix="s" uri="http://java.sun.com/jsp/jstl/core" %>
 <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
 <!DOCTYPE html> 
 <html>
 <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Who s the whale here? Im the whale</title>
<link rel='stylesheet' href='webjars/bootstrap/3.2.0/css/bootstrap.min.css'>
<style>
    body {
        padding-top: 20px;
    }

    .navbar-default {
        background-color: rgba(255,255,255,0.88);;
        border-color: rgba(255,255,255,0.88);;
    } 
</style>
<sec:csrfMetaTags/>
 </head>
 <body>
 <script type="text/javascript" src="webjars/jquery/2.1.1/jquery.min.js">        
  </script>
  <script type="text/javascript" src="webjars/bootstrap/3.2.0/js/bootstrap.min.js"></script>
   <script type="text/javascript" src="webjars/masonry/3.1.5/masonry.pkgd.min.js"></script>
  <br>
  <br>    


   <c:if test="${!empty masterpieceList}">
    <div class="container">
        <ul class="row">
            <c:forEach items="${masterpieceList}" var="masterpiece">
                <li class="col-md-3 col-sm-4 col-xs-6 wrapper">
                    <img class="img-responsive imgClip"src="/something/getImg${masterpiece.masterpieceId}" />
                </li>
        </c:forEach> 
            </ul>
        </div>
    </c:if>


   <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
   <div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-body">
        </div>
    </div><!-- /.modal-content -->
   </div><!-- /.modal-dialog -->
 </div><!-- /.modal -->
  </body>
   </html>

这里的鲸鱼是谁?我是鲸鱼
身体{
填充顶部:20px;
}
.navbar默认值{
背景色:rgba(255255,0.88);;
边框颜色:rgba(255255,0.88);;
} 


画廊看起来像:

有没有办法让它更平滑。?我尝试了不同的解决方案,但由于我的图像经历了一个周期,它们似乎无法正常工作。先谢谢你

更新:

应该是这样的:

您应该尝试使用砌体库来排列不同大小的图像。这是这个图书馆的更多信息。还可以查看此快速教程:

您应该尝试使用砌体库来排列不同大小的图像。这是这个图书馆的更多信息。另请查看此快速教程:

1)一种方法是获取所有li元素的最大高度,然后将此高度应用于所有li元素-下面是一个脚本:

jQuery(document).ready(function($) {
    // calculate max height among all elements
    var maxHeight = 0;
    var rowElements = $('ul.row');
    rowElements.each(function() {
        var elementHeight = $(this).height();
        if(elementHeight > maxHeight) {
            maxHeight = elementHeight;
        }
    });

    // now apply this height to all elements
    rowElements.height(maxHeight);
});
该脚本从所有行中获取所有元素,因此某些行之间可能存在较大的空白,这些行没有大的图像,但您可以根据需要调整该脚本

2) 第二个选择是将每4幅图像包装在一个单独的文件中,这是一个更简单的解决方案。这将需要在foreach循环中使用一点jsp。我不懂jsp,所以不会提供任何特定代码,但应该非常简单。

1)一种方法是获得所有li元素的最大高度,然后将此高度应用于所有li元素-下面是一个脚本:

jQuery(document).ready(function($) {
    // calculate max height among all elements
    var maxHeight = 0;
    var rowElements = $('ul.row');
    rowElements.each(function() {
        var elementHeight = $(this).height();
        if(elementHeight > maxHeight) {
            maxHeight = elementHeight;
        }
    });

    // now apply this height to all elements
    rowElements.height(maxHeight);
});
该脚本从所有行中获取所有元素,因此某些行之间可能存在较大的空白,这些行没有大的图像,但您可以根据需要调整该脚本


2) 第二个选择是将每4幅图像包装在一个单独的文件中,这是一个更简单的解决方案。这将需要在foreach循环中使用一点jsp。我不知道jsp,所以不会提供任何特定的代码,但应该非常简单。

由bbh和Paulie_D提出的Mashise库是一个正确且很好的案例解决方案,许多网站使用它处理与我非常相似的案例。因此,他们的选择在方法上是正确的

为了实现我的问题更新中所示的分组(一个高度,不同的宽度和每行中不同数量的列/图像),我只使用CSS表示:

  .ImgClip{ max_width = 100%; heigth = auto; }

现在所有图像都有一个高度和不同的宽度。宽度可以更小,然后最大

由bbh和Paulie_D提出的砌石库是一个正确且很好的案例解决方案,许多网站将其用于与我非常相似的案例。因此,他们的选择在方法上是正确的

为了实现我的问题更新中所示的分组(一个高度,不同的宽度和每行中不同数量的列/图像),我只使用CSS表示:

  .ImgClip{ max_width = 100%; heigth = auto; }

现在所有图像都有一个高度和不同的宽度。宽度可以更小,那么最大值看起来像是另一个问题,你确定吗?我已经更新了我需要达到的目标,砖石结构似乎并不能让所有的图像都达到一个高度,就像另一个问题一样,你确定吗?我已经更新了我需要实现的目标,砖石结构似乎并没有为所有图像设置一个高度,etcI已经更新了我的答案,正如您所看到的,它有点复杂:所有行的高度也应该是一个尺寸,但是图像比例应该保持不变,没有截断……砖石结构能做到吗?我想砖石结构的问题是这样的:我更新了我的答案,正如你所看到的,它有点复杂:所有行的高度也应该是一个尺寸,但是图像比例应该保持不变,没有截断……砌体能做到这一点吗?我认为砌体的问题是这样的: