假设我有10个输入字段,在左侧的输入字段之前,我有span标记,用于保存文本以指示用户应该在字段中输入的内容。我做了一些事情,但我不确定如何在span标记和输入字段之间添加空格,无论文本有多大?
像这样:
答案 0 :(得分:18)
一段时间过去了,我在构建表单时改变了我的方法。到目前为止,我已经完成了数以千计的工作,并且非常厌倦为每个label/input
对输入id,所以这是冲下马桶的。当您将input
潜入label
时,事情的工作方式相同,无需任何ID。我还利用了flexbox
,非常灵活。
HTML:
<label>
Short label <input type="text" name="dummy1" />
</label>
<label>
Somehow longer label <input type="text" name="dummy2" />
</label>
<label>
Very long label for testing purposes <input type="text" name="dummy3" />
</label>
CSS:
label {
display: flex;
flex-direction: row;
justify-content: flex-end;
text-align: right;
width: 400px;
line-height: 26px;
margin-bottom: 10px;
}
input {
height: 20px;
flex: 0 0 200px;
margin-left: 10px;
}
使用label
代替span
。它意味着与输入配对并保留一些额外的功能(点击标签会聚焦输入)。
这可能正是您想要的:
HTML:
<label for="dummy1">title for dummy1:</label>
<input id="dummy1" name="dummy1" value="dummy1">
<label for="dummy2">longer title for dummy2:</label>
<input id="dummy2" name="dummy2" value="dummy2">
<label for="dummy3">even longer title for dummy3:</label>
<input id="dummy3" name="dummy3" value="dummy3">
CSS:
label {
width:180px;
clear:left;
text-align:right;
padding-right:10px;
}
input, label {
float:left;
}
答案 1 :(得分:5)
这可以使用全新的CSS display: grid
(browser support)
HTML:
<div class='container'>
<label for="dummy1">title for dummy1:</label>
<input id="dummy1" name="dummy1" value="dummy1">
<label for="dummy2">longer title for dummy2:</label>
<input id="dummy2" name="dummy2" value="dummy2">
<label for="dummy3">even longer title for dummy3:</label>
<input id="dummy3" name="dummy3" value="dummy3">
</div>
CSS:
.container {
display: grid;
grid-template-columns: 1fr 3fr;
}
使用css网格时,默认情况下,逐列逐行排列元素。 grid-template-columns
规则创建两个网格列,一个占整个水平空间的1/4,另一个占据水平空间的3/4。这会产生预期的效果。
答案 2 :(得分:2)
您也可以使用以下代码
<html>
<head>
<style>
.labelClass{
float: left;
width: 113px;
}
</style>
</head>
<body>
<form action="yourclassName.jsp">
<span class="labelClass">First name: </span><input type="text" name="fname"><br>
<span class="labelClass">Last name: </span><input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
答案 3 :(得分:2)
您可以使用表格
<table class="formcontrols" >
<tr>
<td>
<label for="Test">FirstName:</label>
</td>
<td style="padding-left:10px;">
<input id="Test" name="Test" value="John">
</td>
</tr>
<tr>
<td>
<label for="Test">Last name:</label>
</td>
<td style="padding-left:10px;">
<input id="lastName" name="lastName" value="Travolta">
</td>
</tr>
</table>
结果将是: ImageResult
答案 4 :(得分:-1)
您可以随时使用&#39; pre&#39;标签内的标签,只需在其中输入空格,因此您可以随时添加相同或不同数量的空格
<form>
<label>First Name :<pre>Here just enter number of spaces you want to use(I mean using spacebar to enter blank spaces)</pre>
<input type="text"></label>
<label>Last Name :<pre>Now Enter enter number of spaces to match above number of
spaces</pre>
<input type="text"></label>
</form>
希望你喜欢我的答案,这是一个简单而有效的黑客