这可以通过使用一点 JavaScript 和 CSS-flex 来完成。
function reverse(elem){
for (var i=0; i < elem.childNodes.length; i++)
elem.insertBefore(elem.childNodes[i], elem.firstChild);
}
reverse(document.getElementById('wrapper'))
#wrapper {
display: flex;
flex-wrap: wrap-reverse;
align-content: flex-start;
direction: rtl;
}
看看它的实际效果:
function reverse(elem){
for (var i=0; i < elem.childNodes.length; i++)
elem.insertBefore(elem.childNodes[i], elem.firstChild);
}
reverse(document.getElementById('wrapper'))
#wrapper {
/* the important bit */
display: flex;
flex-wrap: wrap-reverse;
align-content: flex-start;
direction: rtl;
/* styling */
height: 200px;
width: 200px;
border: 1px solid;
}
#wrapper div {
/* styling */
border: 1px solid;
padding: 20px;
}
<div id="wrapper">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
改进
JavaScript 仅反转元素的顺序。如果您自己添加孩子,则相反添加它们并省略 JavaScript。这看起来会更好,就像这样:
#wrapper {
/* the important bit */
display: flex;
flex-wrap: wrap-reverse;
align-content: flex-start;
direction: rtl;
/* styling */
height: 200px;
width: 200px;
border: 1px solid;
}
#wrapper div {
/* styling */
border: 1px solid;
padding: 20px;
}
<div id="wrapper">
<div>6</div>
<div>5</div>
<div>4</div>
<div>3</div>
<div>2</div>
<div>1</div>
</div>