Создание grid сетки с разной высотой

128
12 декабря 2019, 12:30

Собственно, что хочу и что получаю:

.grid {  
  display: grid; 
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); 
  grid-gap: 20px; 
  align-items: start; 
  } 
.grid > article { 
  border: 1px solid #ccc; 
  box-shadow: 2px 2px 6px 0px  rgba(0,0,0,0.3); 
} 
.grid > article img { 
  max-width: 100%; 
} 
.text { 
  padding: 0 20px 20px; 
} 
.text > button { 
  background: gray; 
  border: 0; 
  color: white; 
  padding: 10px; 
  width: 100%; 
  }
<main class="grid"> 
  <article> 
    <img src="https://www.quackit.com/pix/samples/23m.jpg" alt="Sample photo"> 
    <div class="text"> 
      <h3>Seamlessly visualize quality</h3> 
      <p>Collaboratively administrate empowered markets via plug-and-play networks.</p> 
      <button>Here's why</button> 
    </div> 
  </article> 
  <article> 
    <img src="https://www.quackit.com/pix/samples/24m.jpg" alt="Sample photo"> 
    <div class="text"> 
      <h3>Completely Synergize</h3> 
      <p>Dramatically engage seamlessly visualize quality intellectual capital without superior collaboration and idea-sharing.</p> 
      <button>Here's how</button> 
    </div> 
  </article> 
  <article> 
    <img src="https://www.quackit.com/pix/samples/22l.jpg" alt="Sample photo"> 
    <div class="text"> 
      <h3>Dynamically Procrastinate</h3> 
      <p>Completely synergize resource taxing relationships via premier niche markets.</p> 
      <button>Read more</button> 
    </div> 
  </article> 
  <article> 
    <img src="https://www.quackit.com/pix/samples/15l.jpg" alt="Sample photo"> 
    <div class="text"> 
      <h3>Best in class</h3> 
      <p>Imagine jumping into that boat, and just letting it sail wherever the wind takes you...</p> 
      <button>Just do it...</button> 
    </div> 
  </article> 
  <article> 
    <img src="https://www.quackit.com/pix/samples/25m.jpg" alt="Sample photo"> 
    <div class="text"> 
      <h3>Dynamically innovate supply chains</h3> 
      <p>Holisticly predominate extensible testing procedures for reliable supply chains.</p> 
      <button>Here's why</button> 
    </div> 
  </article> 
  <article> 
    <img src="https://www.quackit.com/pix/samples/16l.jpg" alt="Sample photo"> 
    <div class="text"> 
      <h3>Sanity check</h3> 
      <p>Objectively innovate empowered manufactured products whereas parallel platforms.</p> 
      <button>Stop here</button> 
    </div> 
  </article> 
</main>

Новостной сайт, такие "карточки" подгружаются постоянно при скролле главной страницы вниз. Размеры самих картинок одинаковые, а вот заголовок и описание разной длинны. От чего эти карточки больше или меньше по высоте?

Answer 1

То что вы ищите гуглится в сети по запросу Grid CSS Pinterest Layout. Добавил первый же попавшийся код для примера:

@font-face{font-family:'Calluna'; 
 src:url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/4273/callunasansregular-webfont.woff') format('woff'); 
} 
body { 
	background: url(//subtlepatterns.com/patterns/scribble_light.png); 
  font-family: Calluna, Arial, sans-serif; 
  min-height: 1000px; 
} 
#columns { 
	column-width: 320px; 
	column-gap: 15px; 
  width: 90%; 
	max-width: 1100px; 
	margin: 50px auto; 
} 
 
div#columns figure { 
	background: #fefefe; 
	border: 2px solid #fcfcfc; 
	box-shadow: 0 1px 2px rgba(34, 25, 25, 0.4); 
	margin: 0 2px 15px; 
	padding: 15px; 
	padding-bottom: 10px; 
	transition: opacity .4s ease-in-out; 
  display: inline-block; 
  column-break-inside: avoid; 
} 
 
div#columns figure img { 
	width: 100%; height: auto; 
	border-bottom: 1px solid #ccc; 
	padding-bottom: 15px; 
	margin-bottom: 5px; 
} 
 
div#columns figure figcaption { 
  font-size: .9rem; 
	color: #444; 
  line-height: 1.5; 
} 
 
div#columns small {  
  font-size: 1rem; 
  float: right;  
  text-transform: uppercase; 
  color: #aaa; 
}  
 
div#columns small a {  
  color: #666;  
  text-decoration: none;  
  transition: .4s color; 
} 
 
div#columns:hover figure:not(:hover) { 
	opacity: 0.4; 
} 
 
@media screen and (max-width: 750px) {  
  #columns { column-gap: 0px; } 
  #columns figure { width: 100%; } 
}
<div id="columns"> 
  <figure> 
  <img src="//s3-us-west-2.amazonaws.com/s.cdpn.io/4273/cinderella.jpg"> 
	<figcaption>Cinderella wearing European fashion of the mid-1860’s</figcaption> 
	</figure> 
	 
	<figure> 
	<img src="//s3-us-west-2.amazonaws.com/s.cdpn.io/4273/rapunzel.jpg"> 
	<figcaption>Rapunzel, clothed in 1820’s period fashion</figcaption> 
	</figure> 
	 
  <figure> 
	<img src="//s3-us-west-2.amazonaws.com/s.cdpn.io/4273/belle.jpg"> 
	<figcaption>Belle, based on 1770’s French court fashion</figcaption> 
	</figure> 
   
	<figure> 
	<img src="//s3-us-west-2.amazonaws.com/s.cdpn.io/4273/mulan_2.jpg"> 
	<figcaption>Mulan, based on the Ming Dynasty period</figcaption> 
	</figure> 
	 
   <figure> 
	 <img src="//s3-us-west-2.amazonaws.com/s.cdpn.io/4273/sleeping-beauty.jpg"> 
	<figcaption>Sleeping Beauty, based on European fashions in 1485</figcaption> 
	</figure> 
	 
   <figure> 
	 <img src="//s3-us-west-2.amazonaws.com/s.cdpn.io/4273/pocahontas_2.jpg"> 
	<figcaption>Pocahontas based on 17th century Powhatan costume</figcaption> 
	</figure> 
   
	<figure> 
	<img src="//s3-us-west-2.amazonaws.com/s.cdpn.io/4273/snow-white.jpg"> 
	<figcaption>Snow White, based on 16th century German fashion</figcaption> 
	</figure>	 
   
   <figure> 
	<img src="//s3-us-west-2.amazonaws.com/s.cdpn.io/4273/ariel.jpg"> 
	<figcaption>Ariel wearing an evening gown of the 1890’s</figcaption> 
	</figure> 
   
    <figure> 
	<img src="//s3-us-west-2.amazonaws.com/s.cdpn.io/4273/tiana.jpg"> 
    <figcaption>Tiana wearing the <i>robe de style</i> of the 1920’s</figcaption> 
	</figure>	 
  <small>Art &copy; <a href="//clairehummel.com">Claire Hummel</a></small> 
	</div>

Источник

Если допустимо использование JS, то можете также воспользоваться для удобности Masonry.

READ ALSO
изменение ссылок и последующий апдейт html

изменение ссылок и последующий апдейт html

Необходимо найти все ссылки на странице и изменить их при парсингеЯ грабблю yandex

134
Пользовательские функции

Пользовательские функции

Сделал скрипт пользовательской функции для Google Tab, которая забирает значение активной ячейки и помещает в соседнюю с той, где введена пользовательская...

106
Как выполнить функцию в данном случаи?

Как выполнить функцию в данном случаи?

Как делать что бы функция отправляла результат единожды? Надо отправлять в сокет статус пользователяЕсли пользователь перемещает курсор...

127