在网站上,我想要这样的布局:
Some text [input 1]
[input 2]
我想:
这是我尝试过的,但没有成功:
当我在DIV中包围两个输入时,没有任何样式,它看起来像这样:
Some text
[input 1]
[input 2]
当我将DIV设为display: inline-block
时,它看起来像是这样,即文字掉到底部:
[input 1]
Some text [input 2]
当我将DIV设置为display: inline
或将文本浮动到左侧时,它看起来像这样:
Some text [input 1]
[input 2]
当我设置剩余边距的div时,我得到:
Text [input 1]
[input 2]
即。当我改变文字宽度时,位置不会改变。
我可以用表格轻松完成这项工作。如果没有JavaScript,请告诉我如何在CSS中完成它。谢谢。
答案 0 :(得分:3)
<强> HTML 强>
<div>
<div id="text-container">
Some text
</div>
<div id="input-container">
<input />
<input />
</div>
</div>
<强> CSS 强>
#text-container:after {
content:"\00a0"; /*spacing*/
}
#text-container,
#input-container {
display:inline-block;
vertical-align:top;
}
#input-container input {
display:block;
}
答案 1 :(得分:2)
这是可重复的,反应迅速!
<form>
<div>
<label>Set One</label>
<label>Set Two</label>
<label>Set Three</label>
</div>
<div class="inputs">
<input type="text" placeholder="set 1">
<input type="text" placeholder="set 1">
<input type="text" placeholder="set 2">
<input type="text" placeholder="set 2">
<input type="text" placeholder="set 3">
<input type="text" placeholder="set 3">
</div>
</form>
CSS:
form {
position: relative;
}
form div {
display: inline-block;
vertical-align: top;
}
label, input {
display: block;
}
label {
margin-top: 26px;
}
label:first-child {
margin-top: 0;
}
@media (max-width: 300px) {
label {
margin-bottom: 62px;
}
form .inputs {
display: block;
position: absolute;
top: 0;
}
input {
margin-top: 20px;
}
}
这可能是最简单的方法,即使用CSS和一些非语义元素模拟表。的 Live demo (click). 强>
<form class="table">
<div class="row">
<label class="cell">Set One</label>
<div class="cell">
<input type="text" placeholder="set 1">
<input type="text" placeholder="set 1">
</div>
</div>
<div class="row">
<label class="cell">Set Two</label>
<div class="cell">
<input type="text" placeholder="set 2">
<input type="text" placeholder="set 2">
</div>
</div>
</form>
<强> CSS:强>
.table {
display: table;
}
.row {
display: table-row;
}
.cell {
display: table-cell;
}
input {
display: block;
}
@media (max-width: 300px) {
.cell {
display: block;
}
}
答案 2 :(得分:0)