問題を詳細に説明するには、いくつかの仮定を立てる必要があります。
- 長さが不明なアイテムのリストがあります(1、2、または50の場合もあります)
- それらをグリッドに表示したい - 行のアイテム数は不明です (ユーザーのディスプレイ解像度によって決まります)。
- すべてのアイテムの幅は同じで、たとえば 250px に固定されています。
- アイテムの間隔は、ディスプレイの解像度によって決定するか、コンテナーの幅を縮小する必要があります。
- 私はJSを使いたくない。
FoodGawkerで私がやりたいことを正確に見ることができます。解像度の異なる2台のモニターを使用しています。ブラウザをあるブラウザから別のブラウザにドラッグ アンド ドロップすると、複数のアイテムが一列に配置されますが、すべてが中央に配置され、左右対称になっています。JSを無効にしても動作します。
だから私はそれが可能であることを知っています、私が知らないのはそれを行う方法です.
float:、display: などのさまざまなバリエーションを試しましたが、うまくいきませんでした。
以下のコードは、私が望むものに最も近いものです - 2 つの内部 div では問題なく動作しますが、多くの場合、中央に配置されなくなりました。何か案は?
.center_wrapper {
background: grey;
padding: 10px;
text-align: left;
overflow: hidden;
display:inline-block;
}
.cards_wrapper {
background: red;
overflow: hidden;
margin-left: auto;
margin-right: auto;
text-align: center;
width: 90%;
}
.card {
background: blue;
width: 250px;
height: 250px;
margin: auto 20px;
display:inline;
}
<div class="cards_wrapper">
<div class="center_wrapper">
<div class="card">
<img src="./Index - My ASP.NET MVC Application_files/noImageAvailable.png">
</div>
<div class="card">
<img src="./Index - My ASP.NET MVC Application_files/noImageAvailable.png">
</div>
</div>
</div>