2列の列を50/50の幅に分割した一連の行があります。交互の行で列を(左/右に)入れ替えます。
他のすべての行が右の列に左の列(.image
)を入れ替えることを望みますが、小さな画面に1列として表示されるため、HTMLのシーケンスを維持する必要があります。
CSS:
ul {
list-style: none;
padding-left: 0;
}
.row {
text-align: center;
}
@media (min-width: 768px) {
.image,
.text {
display: inline-block;
width: 50%;
vertical-align: middle;
}
/* alternate */
.row:nth-child(odd) .image {
float: right;
}
/* clearfix */
.row:before,
.row:after {
content: " ";
display: table;
}
.row:after {
clear: both;
}
}
HTML:
<ul>
<li class="row">
<div class="image">
<img src="http://placehold.it/350x150">
</div><div class="text">
<p>Lorem ipsum</p>
</div>
</li>
<li class="row">
<div class="image">
<img src="http://placehold.it/350x150">
</div><div class="text">
<p>Lorem ipsum</p>
</div>
</li>
<li class="row">
<div class="image">
<img src="http://placehold.it/350x150">
</div><div class="text">
<p>Lorem ipsum</p>
</div>
</li>
</ul>
私は私がこのプロジェクトに使用することはできませんフレキシボックス、でこれを行うことができます知っています。 float: left
を使用しても、要素を垂直に配置することはできません。その他の選択肢は何ですか?
NB:これらの列には高さが異なるため、これらの列には垂直方向に整列させたいので、display: inline-block
を使用しています。
編集:私はmade a CodePenを使用しています。上記のように浮動小数点数を使用しています。
(CSSを含む)あなたの完全なコードを表示してください、私が更新しました – vals
それはCSSとCodePenで、ありがとう。 – Benji