<div id="div1">
<label class="someClass1">Price 1</label>
<label class="someClass1">Price 2</label>
<label class="someClass1">Price 3</label>
<label class="someClass1">Price 4</label>
</div>
<div id="div2">
<input type="text" class="someClass2"/>
<input type="text" class="someClass2"/>
<input type="text" class="someClass2"/>
<input type="text" class="someClass2"/>
</div>
我有两个div。一个div包含<label>
个元素,另一个div包含<input>
个元素。两个div是水平对齐的。我需要垂直对齐标签和输入元素,以便每个标签都在下方输入。
我可以通过将<label>
和<input>
元素放在<table>
行/列中来实现上述要求。但我要求他们使用<div>
。
有人可以帮我解决这个问题吗?
答案 0 :(得分:3)
简短回答,试试这个CSS
#div1 label.someClass1 { display: inline-block; margin: 0 5px; }
#div1 label.someClass1, #div2 input.someClass2 { width: 100px; }
#div2 input.someClass2 { margin: 0 0 0 10px; }
详尽的回答,为了使您在问题中看到的确切外观,请使用HTML5占位符属性和CSS3 border-radius:
#div1 label {
display: inline-block;
font-weight: bold;
margin: 0 5px;
}
#div1 label, #div2 input {
width: 100px;
}
#div2 input {
border-radius: 5px; -webkit-border-radius: 5px;
border-width: 1px;
padding: 2px;
margin: 0 0 0 10px;
}
<div id="div1">
<label>Price 1</label>
<label>Price 2</label>
<label>Price 3</label>
<label>Price 4</label>
</div>
<div id="div2">
<input type="text" placeholder="Price"/>
<input type="text" placeholder="Price"/>
<input type="text" placeholder="Price"/>
<input type="text" placeholder="Price"/>
</div>
要微调CSS3效果,请参阅css3generator
答案 1 :(得分:1)
要将div放在同一行,输入低于它们,请使用以下css
#div1 label { display: inline-block; }
#div1 label, #div2 input { width: 100px; }
在此处查看演示http://jsfiddle.net/2wdUT/
答案 2 :(得分:0)
没有css,你可以通过使用这样的HTML结构来实现它 -
<div id="div1">
<label class="someClass1">Price 1</label>
<div><input type="text" class="someClass2"/></div>
</div>
<div id="div2">
<label class="someClass1">Price 2</label>
<div><input type="text" class="someClass2"/></div>
</div>
<div id="div3">
<label class="someClass1">Price 3</label>
<div><input type="text" class="someClass2"/></div>
</div>
<div id="div4">
<label class="someClass1">Price 4</label>
<div><input type="text" class="someClass2"/></div>
</div>