Javascript CSS-在元素后放置换行符

Javascript CSS-在元素后放置换行符,javascript,html,css,Javascript,Html,Css,我现在面临的问题发生在JS生成的自动表单中,该表单使用DIV中修剪的控件。生成的HTML如下所示: <div id="E0" style="width:200px;" class="FLD"> <div style="flex: initial;">Val A:</div> <input type="text" style="flex: 1 1 auto;"> </div> <div id="E1" style="

我现在面临的问题发生在JS生成的自动表单中,该表单使用DIV中修剪的控件。生成的HTML如下所示:

<div id="E0" style="width:200px;" class="FLD">
    <div style="flex: initial;">Val A:</div>
    <input type="text" style="flex: 1 1 auto;">
</div>
<div id="E1" style="width: 600px;" class="FLD" lf="1">
    <div style="flex: initial;">Val B:</div>
    <input type="text" style="flex: 1 1 auto;">
</div>
<div id="E2" style="width: 400px;" class="FLD">
    <div style="flex: 1 1 auto;">Val C:</div>
    <input style="width:60px; flex:initial;" type="text">
</div>
请注意,上面的“输入”可能是不同的元素,上面的内容只是“私人案例”

问题:

  • 从上面的结构来看,我希望DIV“E0”和DIV“E1”在同一行中,而“E2”在下面的单独一行中(至少假设父容器足够宽)
  • div将显示为全部内联(因为默认情况下我希望它们是这样的)。但是,如果设置了属性“lf”(也可以由JS内部属性设置),则该属性实际上应该在DIV之后添加
    元素
  • 如果我在DIV之后创建
    元素,如果我想在一个命令中删除DIV以及它的“
    ”——因为它们变成了两个分离的元素——正如SPA中所显示的那样,我希望有一个干净的删除函数或隐藏函数来处理该元素,而不考虑“拖尾”
  • 如果我只对一个特定的元素使用“display:flex;”而不是“display:inline flex”,那么情况将变成单独行中的所有div(而不是恰好位于中间的inline元素,这将导致前一个在上面,下一个在下面)
  • 我想使用的最后一种方法是.FLD[lf]:{content:'}选择器之后-但是,我的问题是:

在CSS中是否有可能在DOM元素之后添加换行符(类似“
”)?
我尝试过“内容”,但它似乎只处理文本字符串,所以即使是“\n”也不是我想要的。我认为这是不可能的,但也许我错了,还有另一种方法…

我认为你的要求是不可能的。但是

您可以结合使用浮动和清除css属性:

#E0, #E1, #E2{
  float: left;
}
#E2{
  clear: left
}
这将以类似的方式安排您的div

这非常有效:)非常感谢:)
#E0, #E1, #E2{
  float: left;
}
#E2{
  clear: left
}