我有一系列行,每行包含兩列,寬度爲50/50。在交替行上交換列(左/右)
我想每隔一行將左側列(.image
)交換到右側,但我需要維護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>
我知道我可以Flexbox的,我不能在這個項目中使用做到這一點。並且使用float: left
不允許我垂直對齊元素。我還有什麼其他選擇?
注意:我對這些列使用display: inline-block
,因爲它們的高度不同,我希望它們彼此垂直對齊。
編輯:我已經made a CodePen與使用浮動如上所示的示例。
請顯示完整的代碼(包括CSS) – vals
我已經更新它與CSS和CodePen,謝謝。 – Benji