Javascript 砖石结构留下了几个缺口

Javascript 砖石结构留下了几个缺口,javascript,html,css,grid-layout,masonry,Javascript,Html,Css,Grid Layout,Masonry,我已经检查了所有关于这个主题的帖子,但是没有一个解决方案适合我 这就是我的网格的外观: 这是密码,这是密码。HTML: <!-- jQuery --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <!-- Masonry --> <script src="https://unpkg.com/masonry-

我已经检查了所有关于这个主题的帖子,但是没有一个解决方案适合我

这就是我的网格的外观:

这是密码,这是密码。HTML:

<!-- jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<!-- Masonry -->
<script src="https://unpkg.com/masonry-layout@4/dist/masonry.pkgd.min.js"></script>
<link rel="stylesheet" href="css/style.css">


<!-- imagesLoaded -->
<script 
src="https://unpkg.com/imagesloaded@4.1/imagesloaded.pkgd.min.js">

// init Masonry
var $grid = $('.grid').masonry({
  itemSelector: '.grid-item',
  percentPosition: true,
  columnWidth: '.grid-sizer'
});
// layout Masonry after each image loads
$grid.imagesLoaded().progress( function() {
  $grid.masonry('layout');
});
</script>


<!-- Bootstrap -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">


<body>

  <div class="container">

        <div class="grid">

          <div class="grid-item">
              <img src="http://hiphopgoldenage.com/wp-content/uploads/2015/10/MellowManAce.jpg" alt="Mellow Man Ace">
          </div>

          <div class="grid-item">
              <img src="https://pbs.twimg.com/media/C2O6p6ZWgAA67jA.jpg" alt="...">
          </div>

          <div class="grid-item">
              <img src="http://images1.mtv.com/uri/mgid:file:docroot:mtv.com:/shared/promoimages/bands/c/cypres_hill/photos/cr_rene_cervantes/flipbook/CH-0141.jpg?enlarge=false&matte=true&matteColor=black&quality=0.85" alt="...">
          </div>

          <div class="grid-item">
              <img src="https://cdn-images-1.medium.com/max/600/1*VfCrfkNhTVwAxftgfebcog.jpeg" alt="...">
          </div>

          <div class="grid-item">
              <img src="https://images.genius.com/ace91b03cd16b6f3678660cd184af26a.500x323x1.jpg" alt="...">
          </div>

          <div class="grid-item">
              <img src="https://images.pexels.com/photos/271560/pexels-photo-271560.jpeg" alt="...">
          </div>

          <div class="grid-item">
              <img src="https://images.pexels.com/photos/147504/pexels-photo-147504.jpeg" alt="...">
          </div>

          <div class="grid-item">
              <img src="https://images.pexels.com/photos/99551/hot-air-balloon-valley-sky-99551.jpeg" alt="...">
          </div>

        </div>
我在干什么?请帮帮我。
非常感谢

您需要将javascript放在它自己的
脚本
标记中(不带
src
),并且需要将与
imagesLoaded()
一起使用的jquery放在
$(document.ready()
(或
$(function(){})
)而且无需在布局中指定
columnWidth
,因为列宽在CSS中

.grid{
背景:DDD;
}
.网格:之后{
内容:'';
显示:块;
明确:两者皆有;
}
.grid sizer,
.表格项目{
宽度:33.333%;
浮动:左;
}
.网格项img{
显示:块;
最大宽度:100%;
}

$(函数(){
变量$grid=$('.grid')。砌体({
itemSelector:“.grid项”,
位置:正确,
});
$grid.imagesLoaded().progress(函数()){
$grid.mashine(“布局”);
});
});

正确的方法是使用真实的宽度值,因此如果您想自动获取它(因为您的值是百分比),只需获取网格项宽度即可

这是一种方法:

$('.grid').masonry({
  // options
  itemSelector: '.grid-item',
  columnWidth: $(".grid-item").width()
});

运行示例:

您的第一个问题是脚本标记不能同时包含src和内部文本。还有你遗漏的其他细节吗
$('.grid').masonry({
  // options
  itemSelector: '.grid-item',
  columnWidth: $(".grid-item").width()
});