#html #css
#HTML #css
Вопрос:
вот html-код: я хочу сохранить div одинаковой высоты, даже если размер фотографий большой или текста длинный .. есть ли решение для этого в css?? вот ссылка на код:https://jsfiddle.net/Youssef_X/81drbgz3/1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA 058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<title>Document</title>
</head>
<body>
<!--=============PRODUCTE ITEMS START HERE=======-->
<section>
<div class="container product-lists">
<!-- ====== FIRST ROW HERE ===== -->
<div class="row">
<div class="col-md-4">
<div class="product-list">
<img src="assets/img/game1.jpg" alt="Planet gaming products" />
<h3 class="title">Eurocoin Interactive</h3>
<p class="description">It is a long established fact that a reader will be distracted.
</p><a href="https://www.google.com" class="btn btn-warning text-uppercase">See more</a>
</div>
</div>
<div class="col-md-4">
<div class="product-list">
<img src="assets/img/game2.png" alt="Planet gaming products" />
<h3 class="title">Eurocoin Interactive</h3>
<p class="description">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy
when an unknown printer took a galley of type and scrambled it to make a type specimen book
</p><a href="https://www.google.com" class="btn btn-warning text-uppercase">see more</a>
</div>
</div>
<div class="col-md-4">
<div class="product-list">
<img src="assets/img/machine3.png" alt="Planet gaming products" />
<h3 class="title">Eurocoin Interactive</h3>
<p class="description"> when an unknown printer took a galley of type and scrambled it to make a type specimen book
</p><a href="https://www.google.com" class="btn btn-warning text-uppercase">see morer</a>
</div>
</div>
<!-- ======= END FIRST ROW ====== -->
</div>
</div>
</section>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5 76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>
Ответ №1:
Я бы рекомендовал использовать CSS Flexbox (выровнять элементы). ( https://css-tricks.com/snippets/css/a-guide-to-flexbox / ) Я думаю, что это могло бы решить вашу проблему?
Я вижу, что вы используете Bootstrap, похоже, это может быть вашим решением:http://getbootstrap.com.vn/examples/equal-height-columns В основном добавляем класс .row-eq-height.
<body>
<!--=============PRODUCTE ITEMS START HERE=======-->
<section>
<div class="container product-lists">
<!-- ====== FIRST ROW HERE ===== -->
<div class="row row-eq-height">
<div class="col-md-4">
<div class="product-list">
<img src="assets/img/game1.jpg" alt="Planet gaming products" />
<h3 class="title">Eurocoin Interactive</h3>
<p class="description">It is a long established fact that a reader will be distracted.
</p><a href="https://www.google.com" class="btn btn-warning text-uppercase">See more</a>
</div>
</div>
<div class="col-md-4">
<div class="product-list">
<img src="assets/img/game2.png" alt="Planet gaming products" />
<h3 class="title">Eurocoin Interactive</h3>
<p class="description">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy
when an unknown printer took a galley of type and scrambled it to make a type specimen book
</p><a href="https://www.google.com" class="btn btn-warning text-uppercase">see more</a>
</div>
</div>
<div class="col-md-4">
<div class="product-list">
<img src="assets/img/machine3.png" alt="Planet gaming products" />
<h3 class="title">Eurocoin Interactive</h3>
<p class="description"> when an unknown printer took a galley of type and scrambled it to make a type specimen book
</p><a href="https://www.google.com" class="btn btn-warning text-uppercase">see morer</a>
</div>
</div>
<!-- ======= END FIRST ROW ====== -->
</div>
</div>
</section>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5 76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>
Комментарии:
1. вы пробовали чисто гибкое решение?
Ответ №2:
Эй, братан, поскольку вы используете BS-4, это работает со свойствами flex box, и все столбцы внутри строк автоматически получают одинаковую высоту. Я думаю, у вас есть рабочий код, но я добавил несколько цветов, чтобы сделать его более понятным
Примечание: — Если вы хотите, чтобы все элементы были выровнены по центру, просто добавьте класс «align-items-center» в строку
.container.product-lists > .row{background-color:grey}
.container.product-lists > .row .col-md-4{border:1px solid #dddddd}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA 058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<title>Document</title>
</head>
<body>
<!--=============PRODUCTE ITEMS START HERE=======-->
<section>
<div class="container product-lists">
<!-- ====== FIRST ROW HERE ===== -->
<div class="row">
<div class="col-md-4">
<div class="product-list">
<img src="assets/img/game1.jpg" alt="Planet gaming products" />
<h3 class="title">Eurocoin Interactive</h3>
<p class="description">It is a long established fact that a reader will be distracted.
</p><a href="https://www.google.com" class="btn btn-warning text-uppercase">See more</a>
</div>
</div>
<div class="col-md-4">
<div class="product-list">
<img src="assets/img/game2.png" alt="Planet gaming products" />
<h3 class="title">Eurocoin Interactive</h3>
<p class="description">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy
when an unknown printer took a galley of type and scrambled it to make a type specimen book
</p><a href="https://www.google.com" class="btn btn-warning text-uppercase">see more</a>
</div>
</div>
<div class="col-md-4">
<div class="product-list">
<img src="assets/img/machine3.png" alt="Planet gaming products" />
<h3 class="title">Eurocoin Interactive</h3>
<p class="description"> when an unknown printer took a galley of type and scrambled it to make a type specimen book
</p><a href="https://www.google.com" class="btn btn-warning text-uppercase">see morer</a>
</div>
</div>
<!-- ======= END FIRST ROW ====== -->
</div>
</div>
</section>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5 76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>
Комментарии:
1. Да, отличный способ очень четко отображать столбцы и строки… но нет способа решить эту проблему с помощью bootstrap4??
2. Вы просто хотите, чтобы высота столбца была одинаковой для любого объема контента @youssefkhoukhou, верно?
3. Да, точно, независимо от формы изображения и независимо от того, сколько строк текста там сейчас, .. просто чтобы сохранить одинаковую высоту столбцов
4. Пожалуйста, просто прикрепите кнопки внизу, это будет здорово @Vikas Patel
5. .product-list { отображение: гибкий; flex-direction: столбец; высота: 100%; } .description { flex-grow: 1; } Добавьте это