jsfiddle :http://jsfiddle.net/wngf9xy9/
HTML :
<div class="cont">
<label class="Label"> Label1 </label>
<input type="text" class="inp1" maxlength="11">
<select name="select1" id="select11" class="select1" >
<option value=""></option>
<option value="value1">value1</option>
</select>
<br>
<label class="Label"> Label2 </label>
<select name="select2" class="select2" >
<option value=""></option>
<option value="value2">value2</option>
</select>
</div>
CSS
.cont{
width: 300px;
}
.cont *{
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}
.cont label{
width: 22%;
display: inline-block;
}
.cont .inp1{
width: 20%;
height: 20px;
}
.cont .select1{
width: 53%; /*fallback*/
width: calc(58% - 15px);
margin-left: 15px;
height: 18px;
top: 0px;
}
.cont .select2{
width: calc(78% - 15px);
margin-left: 15px;
height: 18px;
top: 0px;
}
我有上面的HTML / CSS由于某种原因,最后一次选择溢出并转到第二行。我不明白为什么会这样。他们应该能够适应单线?
答案 0 :(得分:3)
inline
和inline-block
元素将空格和换行符视为单个空格。如果您删除换行符或将其注释掉,如下所示,它将在一行中对齐。
<div class="cont">
<label class="Label"> Label1 </label><!--
--><input type="text" class="inp1" maxlength="11"><!--
--><select name="select1" id="select11" class="select1" >
<option value=""></option>
<option value="value1">value1</option>
</select>
在这种情况下,我们可以使用float
答案 1 :(得分:2)
http://jsfiddle.net/wngf9xy9/3/
<div class="cont">
<label class="Label"> Label1 </label
><input type="text" class="inp1" maxlength="11"
><select name="select1" id="select11" class="select1">
<option value=""></option>
<option value="value1">value1</option>
</select>
<br>
<label class="Label"> Label2 </label
><select name="select2" class="select2">
<option value=""></option>
<option value="value2">value2</option>
</select>
</div>
答案 2 :(得分:0)
如果您尝试将label
的css从inline-block
更改为inline
,则所有元素都将放在一行中。
答案 3 :(得分:0)
使用float left将元素放在一起。并添加一个中断以正确和整齐地对齐它们,你就完成了。
This is the FIDDLE done:
http://jsfiddle.net/ezLe2mfn/