@AL10

Как расположить неизвестное количество блоков?

Здравствуйте, я изучаю html и css, сейчас практикуюсь и столкнулся с проблемой. У меня имеется база данных с информацией о карточках товаров. Их я загружаю в html документ, все хорошо, но эти карточки выстраиваются в столбик, а мне нужно в ряд, что бы когда количество товаров заполняли полный ряд, последующие переносились на новую строку.
Код прикрепил ниже.
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Catalog</title>
	<link rel="stylesheet" href="{{ url_for('static', filename='Catalog.css')}}">
</head>
<body>
	<header>
		<div class="All_header_menu">
			<div class="Logo">
				<h1>
					<img src="{{ url_for('static', filename='logo.jpg')}}" width="100px">
				</h1>
			</div>
			<div class="Top_menu">
				<ul>
					<li><a href="Home">Home</a></li>
					<li><a href="Catalog">Catalog</a></li>
					<li><a href="AboutUs">About Us</a></li>
					<li><a href="Contact">Contact</a></li>
					<li><a href="Login">Login</a></li>
				</ul>
			</div>
		</div>
	</header>
	<div class="conttainer mt-5">
		{% for el in product %}
		<div class="row">
			<div class="col-md-4">
				<div class="product">
					<div class="image">
						<img src="{{ el.image }}" alt="">
					</div>
					<div class="info">
						<h3>{{ el.name }}</h3>
						<div class="info-price">
							<span class="price">{{ el.prise }}<small>₽</small></span>
							<button class="add-to-cart"><ion-icon name="cart-outline"></ion-icon></button>
						</div>
					</div>
				</div>
			</div>
		</div>
		{% endfor %}
	</div>
	<script type="module" src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.esm.js"></script>
	<script nomodule src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.js"></script>
</body>
</html>


{
	margin: 0;
	padding: 0;
}
body{
	background: black;
	color: white;
}
header{
	display: flex;
	justify-content: center;
}
.Top_menu{
	margin-right: 25px;
	display: inline-block;
	vertical-align: middle;
	background: #1a1a1a;
	border-radius: 20px;
}
.Logo{
	margin-right: 25px;
	display: inline-block;
	vertical-align: middle;
}
.Top_menu li{
	margin-right: 25px;
	display: inline-block;
	vertical-align: middle;

}
.Top_menu a{
	vertical-align: middle;
	font-family: arial;
	font-size: 15px;
	color: white;
	text-decoration: none;
}
.Top_menu a:hover{
	color: #DA70D6;
}
.Logo h1{
	vertical-align: middle;
}

.product {
	width: 250px;
	background: #1a1a1a;
	border-radius: 20px;
	background: #1a1a1a;
	border-radius: 20px;
	margin-bottom: 30px;
	margin-left: 20px;
	margin-right: 20px;
}

.image img {
	height: 250px;
	object-fit: cover;
	border-radius: 7px;
}

.info h3 {
	font-family: arial;
	font-size: 21px;
	color: white;
	text-decoration: none;
	margin-bottom: 0;
	margin-top: 5px;
	margin-left: 5px;
}

.info-price {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	margin-top: 5px;
}

.add-to-cart {
	border: none;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: white;
	border-radius: 10px;
	margin-right: 10px;
	margin-block-end: 10px;
}

.add-to-cart:hover {
	border: none;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #DA70D6;
	border-radius: 10px;
	margin-right: 10px;
	margin-block-end: 10px;
}

.price {
	font-family: arial;
	font-weight: 700;
	font-size: 18px;
	color: white;
	text-decoration: none;
	margin-left: 10px;
	margin-block-end: 10px;
}


63a55b61ba876431291504.png
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
Изучайте, как верстать контейнеры с display: flex или display: grid.
Еще запишите пункт "CSS медиа запросы", чтобы отладить число колонок на разной ширине экрана.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы