VIKINGVyksa
@VIKINGVyksa
front-end developer

Как сверстать каталог товаров на flex?

Как можно на flex сверстать каталог товаров с таким повидением?

На странице есть сайтбар и каталог товаров вместе с ним должен иметь 3 товара в строке.

5a5f2b1352c28969978195.png

Но если данный каталог без сайтбара, то он должен отображать 4 товара в строке.

5a5f2b48e8296652906143.png

При всём этом, каждая карточка товара должна быть одинаковой высоты, и каталог должен быть адаптивным в тоже время, чтобы на различных экранах он выглядил приемлимо.
  • Вопрос задан
  • 6133 просмотра
Пригласить эксперта
Ответы на вопрос 1
@sv1979
Front-end developer
<!DOCTYPE html>
<html>
<head>
  <title></title>
  <style type="text/css">
	  .wrap {
		  display: flex;
		  flex-direction: row;
		  align-items: flex-start;
	  }
	  aside {
		  flex: 0 0 calc( 30% - 30px );
		  padding: 15px;	
	  }
	  .sidebar {
		  background-color: green;
		  min-height: 90vh;
		  padding: 15px 0 15px 15px;
	  }
	  .catalog{
		  flex: 1 0 70%;
		  display: flex;
		  flex-direction: row;
		  flex-wrap: wrap;
		  align-items: stretch;
	  }
	  .cell {
		  padding: 15px;
		  flex: 0 0 calc( 25% - 30px );
		  min-width: 300px;
		  display: flex;
		  flex-direction: row;
	  }
	  .cell_inside {
	  	background-color: yellow;
		flex: 1;
		padding: 15px;
		min-height: 140px;//Just in case you dont have enough content
	  }
	  aside + .catalog .cell {
		  flex: 0 0 calc( 33% - 30px );
	  }
  </style>
</head>
<body>
<div class="wrap">
	<aside><!-- Remove aside element if you don't have sidebar -->
		<div class="sidebar">
			Contrary to popular belief, Lorem Ipsum is not simply random text. Contrary to popular belief, Lorem Ipsum is not simply random text. 
		</div>
	</aside>
	
	<div class="catalog">
		<div class="cell">
			<div class="cell_inside">
				Contrary to popular belief, Lorem Ipsum is not simply random text. 
			</div>
		</div>
		<div class="cell">
			<div class="cell_inside">
				Contrary to popular belief, Lorem Ipsum is not simply random text. Contrary to popular belief, Lorem Ipsum is not simply random text.
			</div>
		</div>
		<div class="cell">
			<div class="cell_inside">
				Contrary to popular belief, Lorem Ipsum is not simply random text. 
			</div>
		</div>
		<div class="cell">
			<div class="cell_inside">
				Contrary to popular belief, Lorem Ipsum is not simply random text. 
			</div>
		</div>
		<div class="cell">
			<div class="cell_inside">
				Contrary to popular belief, Lorem Ipsum is not simply random text. Contrary to popular belief, Lorem Ipsum is not simply random text.
			</div>
		</div>
		<div class="cell">
			<div class="cell_inside">
				Contrary to popular belief, Lorem Ipsum is not simply random text. 
			</div>
		</div>
		<div class="cell">
			<div class="cell_inside">
				Contrary to popular belief, Lorem Ipsum is not simply random text. 
			</div>
		</div>
	</div>
</div>
</body>
</html>


5a60368067de7443338396.png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы