Javascript CSS-在元素后放置换行符
我现在面临的问题发生在JS生成的自动表单中,该表单使用DIV中修剪的控件。生成的HTML如下所示: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="
<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
}