横に並べるのに float をよく使いますが、今回作る縦の位置を中央揃えできないため使用しません。
inline-block と flex を使って説明します。どちらを使っても同じものが作れます。

inline-blockを使う場合

サンプル1
高さの違う要素を横並びで表示
高さの違う要素を横並びで表示
高さの違う要素を横並びで表示
高さの違う要素を横並びで表示
高さの違う要素を横並びで表示
高さの違う要素を横並びで表示
高さの違う要素を横並びで表示

HTML


<div class="sample01">
	<div class="sample01-box01">サンプル1</div>
	<div class="sample01-box02">高さの違う要素を横並びで表示<br />高さの違う要素を横並びで表示<br />高さの違う要素を横並びで表示<br />高さの違う要素を横並びで表示</div>
	<div class="sample01-box02">高さの違う要素を横並びで表示<br />高さの違う要素を横並びで表示<br />高さの違う要素を横並びで表示</div>
</div>

CSS


.sample01 {
	display: table;
}
.sample01-box01 {
	padding: 16px;
	margin: 0 16px 0 0;	/* 右に16pxの余白を作る */
	text-align: center;
	border: 2px solid #0f0;
	display: inline-block;
	vertical-align: middle; /* 縦に中央合わせ */
}
.sample01-box02 {
	margin: 0 16px 0 0;	/* 右に16pxの余白を作る */
	padding: 8px;
	border: 2px solid #0ff;
	display: inline-block;
	vertical-align: middle; /* 縦に中央合わせ */
}

それぞれの要素に vertical-align に middle をセットすることで、縦に中央揃えにすることができます。
sample01に displayに table をセットしているのは、自動的に入る隙間を消すためです。

vertical-align: top で、上に揃えられ、また vertical-align: bottom をセットすると下に揃えることができます。

flexboxを使う場合

flexを使った例は、inline-blockと同じ要素のサイズや余白のものを作成しました。

サンプル2
高さの違う要素を横並びで表示
高さの違う要素を横並びで表示
高さの違う要素を横並びで表示
高さの違う要素を横並びで表示
高さの違う要素を横並びで表示
高さの違う要素を横並びで表示
高さの違う要素を横並びで表示

HTML


<div class="sample02">
	<div class="sample02-box01">サンプル2</div>
	<div class="sample02-box02">高さの違う要素を横並びで表示<br />高さの違う要素を横並びで表示<br />高さの違う要素を横並びで表示<br />高さの違う要素を横並びで表示</div>
	<div class="sample02-box02">高さの違う要素を横並びで表示<br />高さの違う要素を横並びで表示<br />高さの違う要素を横並びで表示</div>
</div>

CSS


.sample02 {
	display: flex;
	align-items: center;	/* 縦に中央合わせ */
	gap: 16px;		/* 要素間の余白16px */
}
.sample02-box01 {
	padding: 16px;
	text-align: center;
	border: 2px solid #0f0;
}
.sample02-box02 {
	padding: 8px;
	border: 2px solid #0ff;
}

親要素の align-items に center をセットすることで子要素を縦に中央揃えにすることができます。
親要素の gap で子要素の余白を設定しますので、子要素では margin の設定は必要ありません。
flexbox の方が inline-block で設定するよりもスッキリします。

align-items: start で、上に揃えられ、また align-items: end をセットすると下に揃えることができます。