并排输入字段是指在一个HTML表单中,将多个输入元素水平排列在同一行,而不是默认的垂直堆叠排列。这种布局常用于需要紧凑显示相关字段的场景,如姓名(名和姓)、地址(城市和邮编)等。
<form>
<div class="form-row">
<div class="form-group">
<label for="firstName">First Name</label>
<input type="text" id="firstName" name="firstName">
</div>
<div class="form-group">
<label for="lastName">Last Name</label>
<input type="text" id="lastName" name="lastName">
</div>
</div>
</form>
<style>
.form-row {
display: flex;
gap: 16px; /* 设置字段间距 */
}
.form-group {
flex: 1; /* 使两个字段等宽 */
}
.form-group label {
display: block;
margin-bottom: 4px;
}
.form-group input {
width: 100%;
padding: 8px;
box-sizing: border-box;
}
</style>
<form class="form-grid">
<div class="form-group">
<label for="city">City</label>
<input type="text" id="city" name="city">
</div>
<div class="form-group">
<label for="state">State</label>
<select id="state" name="state">
<option value="">Select...</option>
<option value="CA">California</option>
</select>
</div>
<div class="form-group">
<label for="zip">ZIP Code</label>
<input type="text" id="zip" name="zip">
</div>
</form>
<style>
.form-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}
.form-group label {
display: block;
margin-bottom: 4px;
}
.form-group input,
.form-group select {
width: 100%;
padding: 8px;
box-sizing: border-box;
}
</style>
解决方案:添加响应式设计
@media (max-width: 600px) {
.form-row, .form-grid {
display: block;
}
.form-group {
margin-bottom: 16px;
}
}
解决方案:确保所有输入元素使用相同的CSS规则,或使用flex-grow
属性控制
解决方案:使用一致的标签对齐方式(如顶部对齐或中间对齐)
.form-group {
display: flex;
flex-direction: column;
}
没有搜到相关的文章