Поскольку оба столбца находятся внутри одного гибкого контейнера, да, поля списка могут иметь одинаковую высоту (в зависимости от самого высокого содержимого) с использованием только CSS.
.columns {
display: flex;
}
.col {
display: flex; /* new */
flex-direction: column; /* new */
margin-left: 20px;
}
.list {
flex: 1; /* new */
padding: 24px;
border: 1px solid blue;
}
ul {
margin: 0;
}
<div class="columns">
<div class="col">
<h3>Header</h3>
<div class="list">
<ul>
<li>List item</li>
<li>List item</li>
</ul>
</div>
</div>
<div class="col">
<h3>Header</h3>
<div class="list">
<ul>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
</ul>
</div>
</div>
</div>
Вот еще несколько примеров:
jsFiddle demo
.columns {
display: flex;
}
.col {
display: flex; /* new */
flex-direction: column; /* new */
margin-left: 20px;
}
.list {
flex: 1; /* new */
padding: 24px;
border: 1px solid blue;
}
ul {
margin: 0;
}
<div class="columns">
<div class="col">
<h3>Header</h3>
<div class="list">
<ul>
<li>List item</li>
<li>List item</li>
</ul>
</div>
</div>
<div class="col">
<h3>Header</h3>
<div class="list">
<ul>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
</ul>
</div>
</div>
</div>
<br>
<div class="columns">
<div class="col">
<h3>Header</h3>
<div class="list">
<ul>
<li>List item</li>
<li>List item</li>
</ul>
</div>
</div>
<div class="col">
<h3>Header</h3>
<div class="list">
<ul>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
</ul>
</div>
</div>
</div>
<br>
<div class="columns">
<div class="col">
<h3>Header</h3>
<div class="list">
<ul>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
</ul>
</div>
</div>
<div class="col">
<h3>Header</h3>
<div class="list">
<ul>
<li>List item</li>
<li>List item</li>
</ul>
</div>
</div>
</div>