如今,这是设计中的常规模式,它可以将包含其内容的卡片中的操作的调用垂直对齐,如下所示:
这可以通过使用特殊的技巧来实现 flexbox
的HTML
<div class="cards"> <div class="card"> <p>Lorem ipsum Magna proident ex anim dolor ullamco pariatur reprehenderit culpa esse enim mollit labore dolore voluptate ullamco et ut sed qui minim.</p> <p><button>Action</button></p> </div> <div class="card"> <p>Lorem ipsum Magna proident ex anim dolor ullamco pariatur reprehenderit culpa esse enim mollit labore dolore voluptate ullamco et ut sed qui minim.</p> <p>Lorem ipsum Magna proident ex anim dolor ullamco pariatur reprehenderit culpa esse enim mollit labore dolore voluptate ullamco et ut sed qui minim.</p> <p>Lorem ipsum Magna proident ex anim dolor ullamco pariatur reprehenderit culpa esse enim mollit labore dolore voluptate ullamco et ut sed qui minim.</p> <p>Lorem ipsum Magna proident ex anim dolor ullamco pariatur reprehenderit culpa esse enim mollit labore dolore voluptate ullamco et ut sed qui minim.</p> <p><button>Action</button></p> </div> </div>
首先,我们使用CSS来应用display: flex;容器。这将创建2个高度相等的列,内容在其中自然流动
的CSS
.cards { display: flex; } .card { border: 1px solid #ccc; margin: 10px 10px; padding: 0 20px; } button { height: 40px; background: #fff; padding: 0 40px; border: 1px solid #000; } p:last-child { text-align: center; }
布局将发生变化,如下所示:
为了将按钮移动到块的底部,我们需要display: flex;将方向设置为,应用于卡本身column。之后,我们应该选择卡中的最后一个元素并将设置margin-top为auto。这会将最后一段推到卡片的底部,并达到所需的结果。
最终CSS:
.cards { display: flex; } .card { border: 1px solid #ccc; margin: 10px 10px; padding: 0 20px; display: flex; flex-direction: column; } button { height: 40px; background: #fff; padding: 0 40px; border: 1px solid #000; } p:last-child { text-align: center; margin-top: auto; }