据我了解,flexbox css 属性中的order是绝对的,即在具有
order:0 的 flex 容器中,最后一个元素会升至顶部。
我希望能够提升 flex 容器中的某些元素,使它们不会上升到确切的位置,而是通过一定数量的元素上移,例如将元素上移至前一个元素之上。
澄清一下:
<div>A</div>
<div>B</div>
<div>C</div>
<div style="order: -1">This should go up by one, between B and C</div>
当然,那种样式会将最后一个元素移动到顶部,而不是我想要它呆的位置。
有没有一种只使用CSS就能实现这个效果的方法?
显然我是在问不可能的事情。既然我可能需要这种排序方式,我就必须在javascript中创建一个排序系统,动态更改子元素的order属性。我已经有了思路,但还没有清晰到能够用语言表述。
值得一提的是,这是为布局编辑器设计的,将导出纯HTML和CSS。Javascript仅用于编辑器而非发布网站。否则,重新排序实际元素就足够了,但在某些情况下,需要为不同的设备优先考虑特定元素。
最终我会用自己想出的方法回答这个问题,但在此期间,请随意添加您自己的建议并获得被采纳答案的积分:)