html - 如何在文本和块之间获得相同的空间
问题描述
我有一些商品块,并且有不同数量的文本的不同描述,我需要将其居中。“添加到购物车”按钮必须在一行中,而不取决于我有多少描述中的符号。不欢迎纯 css 解决方案(只是不是 jQuery 解决方案)。
窗帘高度的解决方案不适合!
(空格必须在描述和按钮“添加到购物车”之间)。
.parent {
border: medium dashed green;
display: flex;
align-items: flex-start;
flex-wrap: wrap;
height: 100%;
}
.child {
align-self: stretch;
border: medium dashed #c4c4c4;
background-color: #fedba9;
width: 40%;
}
.button {
max-width: 350px;
max-height: 50px;
background-color: coral;
margin: 0 auto;
}
img {
display: block;
margin: 0 auto;
max-width: 300px;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<link rel="stylesheet" href="/test.css" />
</head>
<body>
<div class="parent">
<div class="child">
<img src="https://ogden_images.s3.amazonaws.com/www.observertoday.com/images/2020/08/29003327/SUNSET-579x840.jpg" alt="" />
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Provident voluptatibus repudiandae vitae eos, debitis eligendi rem voluptate atque iusto quo nam impedit quia tempore aperiam ducimus asperiores, odit molestiae nemo!
</p>
<div class="button">add to cart</div>
</div>
<div class="child">
<img src="https://ogden_images.s3.amazonaws.com/www.observertoday.com/images/2020/08/29003327/SUNSET-579x840.jpg" alt="" />
<p>
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Odit mollitia accusamus dolorem, sint atque culpa eum aspernatur earum eaque nesciunt minima aliquid omnis, cum iure veritatis voluptatum nam distinctio eligendi. Fuga voluptatibus reiciendis,
laudantium dignissimos harum modi voluptatum, ipsa a ad possimus cum accusamus. Ea alias ipsum laboriosam tempora sapiente, molestiae incidunt reprehenderit maiores perferendis earum. Ut dolorem suscipit at? Laboriosam corporis dolorem, est doloribus
ullam ut accusantium, amet voluptate beatae vitae deleniti nihil consequuntur non labore, nobis ipsum? Sapiente earum praesentium, quasi voluptas doloremque distinctio. Veniam soluta perspiciatis porro! Fugit excepturi, perferendis expedita cum
officiis autem eum, perspiciatis quisquam, vero ipsum ea. Odit animi sed nesciunt officiis impedit ex, in autem id quis, dolorum corporis eum cupiditate itaque repellat.
</p>
<div class="button">add to cart</div>
</div>
<div class="child">
<img src="https://ogden_images.s3.amazonaws.com/www.observertoday.com/images/2020/08/29003327/SUNSET-579x840.jpg" alt="" />
<p>2342342 23423423 23423423</p>
<div class="button">add to cart</div>
</div>
<div class="child">
<img src="https://ogden_images.s3.amazonaws.com/www.observertoday.com/images/2020/08/29003327/SUNSET-579x840.jpg" alt="" />
<p>123123 12312</p>
<div class="button">add to cart</div>
</div>
</div>
</body>
</html>
解决方案
- 在您的物品上使用
flex
方向column
.child
- 使
p
内部增长以填充所有剩余空间 - 使其本身
flex
易于使文本居中
.parent {
border: medium dashed green;
display: flex;
align-items: flex-start;
flex-wrap: wrap;
height: 100%;
}
.child {
align-self: stretch;
border: medium dashed #c4c4c4;
background-color: #fedba9;
width: 40%;
display: flex;
flex-direction: column;
}
.child p {
flex-grow: 1;
display: flex;
align-items: center;
}
.button {
max-width: 350px;
max-height: 50px;
background-color: coral;
margin: 0 auto;
}
img {
display: block;
margin: 0 auto;
max-width: 300px;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<link rel="stylesheet" href="/test.css" />
</head>
<body>
<div class="parent">
<div class="child">
<img src="https://ogden_images.s3.amazonaws.com/www.observertoday.com/images/2020/08/29003327/SUNSET-579x840.jpg" alt="" />
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Provident voluptatibus repudiandae vitae eos, debitis eligendi rem voluptate atque iusto quo nam impedit quia tempore aperiam ducimus asperiores, odit molestiae nemo!
</p>
<div class="button">add to cart</div>
</div>
<div class="child">
<img src="https://ogden_images.s3.amazonaws.com/www.observertoday.com/images/2020/08/29003327/SUNSET-579x840.jpg" alt="" />
<p>
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Odit mollitia accusamus dolorem, sint atque culpa eum aspernatur earum eaque nesciunt minima aliquid omnis, cum iure veritatis voluptatum nam distinctio eligendi. Fuga voluptatibus reiciendis,
laudantium dignissimos harum modi voluptatum, ipsa a ad possimus cum accusamus. Ea alias ipsum laboriosam tempora sapiente, molestiae incidunt reprehenderit maiores perferendis earum. Ut dolorem suscipit at? Laboriosam corporis dolorem, est doloribus
ullam ut accusantium, amet voluptate beatae vitae deleniti nihil consequuntur non labore, nobis ipsum? Sapiente earum praesentium, quasi voluptas doloremque distinctio. Veniam soluta perspiciatis porro! Fugit excepturi, perferendis expedita cum
officiis autem eum, perspiciatis quisquam, vero ipsum ea. Odit animi sed nesciunt officiis impedit ex, in autem id quis, dolorum corporis eum cupiditate itaque repellat.
</p>
<div class="button">add to cart</div>
</div>
<div class="child">
<img src="https://ogden_images.s3.amazonaws.com/www.observertoday.com/images/2020/08/29003327/SUNSET-579x840.jpg" alt="" />
<p>2342342 23423423 23423423</p>
<div class="button">add to cart</div>
</div>
<div class="child">
<img src="https://ogden_images.s3.amazonaws.com/www.observertoday.com/images/2020/08/29003327/SUNSET-579x840.jpg" alt="" />
<p>123123 12312</p>
<div class="button">add to cart</div>
</div>
</div>
</body>
</html>
推荐阅读
- javascript - 严格动画需要 D3.js API 的哪些部分(即没有图表、没有绘图、没有图表等)
- configuration - 如何在 Open Api (swagger) 中删除基本错误控制器
- string - 如何将字符串拆分为 Haskell 中的字符串列表?
- angular - 如何在角度 8 中解析日期 yyyy-MM-dd
- mysql - 如何在 MongoDB 中生成不在集合中的随机字符串?
- laravel - Laravel Seeding 产生的结果是预期的 3 倍
- python - ImageTk 模块有问题
- c# - 使用 gtk# 将文件从程序和拖放文件拖到任何地方(例如桌面等)
- angular - 延迟 Observable
- visual-studio - 在 Visual Studio 2019 中,通过测试的绿色和白色复选图标有什么区别?