元素之间的列数高度问题

时间:2018-11-01 09:05:27

标签: css column-count

列计数CSS属性有问题。

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

但是,我的表格之间存在很大的差距。 目前,我很难将高度编码为“固定值”,但这不是正确的方法。

有人遇到过这类问题吗?

@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

1 个答案:

答案 0 :(得分:0)

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

糟糕,列上的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;
        }
    }

更新的小提琴:https://jsfiddle.net/0gtvj652/2/

神话般的网站:https://gridbyexample.com/examples/example1/