元素之间的列数高度问题

Column-Count Height Issue between Elements

我遇到列数问题 CSS 属性。

我将它与媒体查询一起使用,使我的页面在移动时更加动态。

但是我的表格之间存在很大差距。 目前我正在将高度硬编码为 'fix' 但这不是正确的方法。

有人遇到过这种问题吗?

@media only screen and (min-width: 400px) {
  .masonry {
    column-count: 1;
  }
}

@media only screen and (min-width: 700px) {
  .masonry {
    column-count: 2;
  }
}

.masonry {
  margin: 1.5em 0;
  padding: 0;
  column-gap: 1.5em;
  font-size: .85em;
  /*********Hard Coded Height Needs to be looked at***********/
  /* height:940px; */
}

.item {
  display: inline-block;
  background: #fff;
  padding: 1em;
  margin: 1px 0 1.5em;
  width: 100%;
  box-sizing: border-box;
  box-shadow: 2px 2px 2px 2px #ccc;
  border: 0px;
}

.legendTitle {
  font-size: 25px;
  font-weight: 500;
  font-family: 'Pacifico';
}
<form class="masonry">
  <fieldset class="item">
    <legend>
      Heading1
    </legend>
    <p>
      Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
      survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
      publishing software like Aldus PageMaker including versions of Lorem Ipsum.
    </p>
  </fieldset>
  <fieldset class="item">
    <legend>
      Heading2
    </legend>
    <p>
      Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
      survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
      publishing software like Aldus PageMaker including versions of Lorem Ipsum.
    </p>
  </fieldset>
  <fieldset class="item">
    <legend>
      Heading3
    </legend>
    <p>
      Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
      survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
      publishing software like Aldus PageMakeLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled
      it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum
      passages, and more recently with desktop publishing software like Aldus PageMakeLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown
      printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release
      of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
    </p>
  </fieldset>
</form>

<form class="masonry">
  <fieldset class="item">
    <legend>
      Heading4
    </legend>
    <p>
      Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
      survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
      publishing software like Aldus PageMaker including versions of Lorem Ipsum.
    </p>
  </fieldset>
  <fieldset class="item">
    <legend>
      Heading5
    </legend>
    <p>
      Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
      survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
      publishing software like Aldus PageMaker including versions of Lorem Ipsum.
    </p>
  </fieldset>
  <fieldset class="item">
    <legend>
      Heading6
    </legend>
    <p>
      Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
      survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
      publishing software like Aldus PageMaker including versions of Lorem Ipsum.
    </p>
  </fieldset>
</form>

JSFiddle Demo

使用显示网格而不是列并且它是密集设置:

糟糕,列错了 div - 此处:

html:

<div id="wrapper">
    <form class="masonry">
      .....
    </form>
</div>

css:

    /* add a wrapper div */

    #wrapper {
      display:grid;
      /* no columns mentioned here because we put them in the @media calls at the bottom of the layout css */
      grid-gap: 1.5em;
      grid-auto-flow: dense;
    }
            .masonry {
        margin: 1.5em 0;
        padding: 0;
        /* column-gap: 1.5em; */
        font-size: .85em;
        /*********Hard Coded Height Needs to be looked at***********/
        /* height:940px; */
    }
    .item {
        display: inline-block;
        background: #fff;
        padding: 1em;
        margin: 1px 0 1.5em;
        width: 100%;
        box-sizing: border-box;
        box-shadow: 2px 2px 2px 2px #ccc;
        border: 0px;

    }
    .legendTitle{
      font-size: 25px;
      font-weight:500;
      font-family: 'Pacifico';
    }

    @media only screen and (max-width: 699px) {
        /* putting the grid columns count in the media call on the #wrapper NOT the .masonry inner div */
        #wrapper {
          /* column-count: 1; */
          grid-template-columns:1fr;
        }
    }

    @media only screen and (min-width: 700px) {
        /* putting the grid columns count in the media call on the #wrapper NOT the .masonry inner div */
        #wrapper {
            /* column-count: 2; */
            grid-template-columns:1fr 1fr;
        }
    }

已更新 fiddle:https://jsfiddle.net/0gtvj652/2/

很棒的网站:https://gridbyexample.com/examples/example1/