答案 0 :(得分:3)
这似乎更像是一个前端工作。每行内容都放在一个弹性框中,您可以指定要渲染的每个弹性框中子项的顺序。 (它们在DOM中具有相同的顺序但是具有不同的视觉呈现)
以这种方式构建:
<div class='row'>
<div class='image'><img src='...' /></div>
<div class='text'><!-- Text, heading, etc. --></div>
</div>
<div class='row'>
<div class='image'><img src='...' /></div>
<div class='text'><!-- Text, heading, etc. --></div>
</div>
<div class='row'>
<div class='image'><img src='...' /></div>
<div class='text'><!-- Text, heading, etc. --></div>
</div>
<div class='row'>
<div class='image'><img src='...' /></div>
<div class='text'><!-- Text, heading, etc. --></div>
</div>
做两件事:
row
的显示定义为flex
order
和image
类的text
属性。即:
div.row {
display: flex;
}
div.row:nth-of-type(2n) div.text {
order: 2
}
这将是右侧第2,第4,第6 ......行的图像。
此外,我假设你想要一个手机布局的从上到下的布局,所以请记住用CSS来区别对待它。
请注意,这可能无法在IE中使用,因此请考虑您的读者/客户/观众的需求。
如果您需要有关CSS弹性框的更多信息,这可能会有所帮助:https://css-tricks.com/snippets/css/a-guide-to-flexbox/