Проблема высоты подсчета столбцов между элементами - PullRequest
0 голосов
/ 01 ноября 2018

У меня проблема со свойством 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 голосов
/ 01 ноября 2018

Использовать сетку отображения вместо столбцов и ее плотную настройку:

Упс, столбцы на неправильном 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/

...