Html 每个表单元素<;标签>+&书信电报;输入>;在没有<;部门>;

Html 每个表单元素<;标签>+&书信电报;输入>;在没有<;部门>;,html,css,forms,Html,Css,Forms,是否有一种解决方案可以将每个表单元素移动到新行,而不关闭div上的这些元素 我的意思是: <label for="one">One:</label> <input type="text" id="one"> <label for="two">Two:</label> <select id="two"> <option value="a">a&

是否有一种解决方案可以将每个表单元素移动到新行,而不关闭div上的这些元素

我的意思是:

<label for="one">One:</label>  <input type="text" id="one">
<label for="two">Two:</label>  <select id="two">
                                  <option value="a">a</option>
                                  <option value="b">b</option>
                               </select>
...
如果我使用CSS:

input, select, label {
   display:block;
}
然后,标签与表单字段不在同一行上

这是唯一的解决方案:

<div><label for="one">One:</label>  <input type="text" id="one"></div>
...
1:
...
就这么做吧

<label for="one">One:</label>  <input type="text" id="one"> <br>
One:
就这样。享受

编辑:扩展Hardy所说的内容,将它们包装在一个div或span中会给您带来更多
脆弱性稍后会继续下去,但如果你唯一关心的是把它全部放在一行中,就像我上面写的那样

为什么要使用
display:block如果希望元素的行为
内联
?直接取自w3schools.com,“块:将元素显示为块元素,如


我们都知道,当您使用
时,下一个元素将自动放置在新行上。因此,如果希望
元素并排,则必须使用
display:inline
inline block
另一种方法如下

<label><span>One:</span><input type="text" id="one"></label>

为什么不在表单元素后面加一个

?这不是使用CSS样式的“正确”方法我认为使用div包装表单在样式设置时会给您带来更大的灵活性,这是一种常见的做法。那么,您的意思是在不添加额外标记的情况下开始一行或一个块?在不更改标记的情况下,您可以(i)浮标留下一切,清除左边的标签;或(ii)浮动并清除左侧标签,使控件显示块;或(iii)使用标签注入新行字符:before;或(iv)注入一个带标签的块状物水平盒:在之前;或者(v)绝对位置所有东西。这个
左边填充:120px帮助我!非常感谢。
<label><span>One:</span><input type="text" id="one"></label>
label {
display:block;
position:relative;
padding-left:120px; /* adjust if necessary */
}
label > span {
position:absolute;
left:0;
}