提问者:小点点

如果元素没有相同的直接父级,则使用CSS更改元素的顺序


我需要使用JS或CSS重新排序我页面上的一些项目。 我的项目是用ReactJS编写的。 基本结构是:

<div class="parent">
 <form>
  <div class="header"></div>

  <button type="submit" class="B"></button>
 </form>
 
 <checkbox class="A"></checkbox>
</div>

所以我需要做的是改变一个位置,在header和B元素之间移动它。

无法使用flexbox,因为项没有继承相同的父项。 不能使用appendChild函数在那里插入,因为这样会产生与直接将A元素放在b之前相同的行为。

更具体地说,这个复选框影响了我的验证,因为我在React中使用了With ValidationRules,所以我需要将它放在这个包装器之外。

有一些其他的方法来移动这个元素吗? 我更喜欢使用CSS。

谢谢!


共1个答案

匿名用户

乍一看,我建议不要使用像这样限制您的库。 是否确实已正确配置验证,以便在B之前有A。

如果绝对没有办法,你可以在标题和B之间留一个空隙或边距,然后在a上加上translateY(“你需要向上移动它的高度”)。

如果A相对于父级,那么calc(100%+B的高度)应该有效。 表格上的任何填充,边距和间隙都必须用。

如果您对此方法有问题,请告诉我