所以,我知道桌子是撒旦的产物。如何在没有桌子的情况下对齐它?
我有一堆输入字段,每个字段的左边都有一个标签,我希望输入字段的左侧对齐。糟糕的ascii艺术如下:
name ________________
date of birth ________________
Shakespeare villain I would like to be ________________
favo(u)rite do(gh)nut ________________
pet's blood group ________________
mother's maiden name ________________
favo(u)rite Led Zeppelin track ________________
我不需要确切的代码,只是被告知如何操作。
This page看起来非常有帮助,但我如何使用文字&输入文件?
也许是< div>文本向右浮动,输入字段垂直对齐为50%?
答案 0 :(得分:-1)
尝试display: table-cell;
.wrapper {
display: table;
}
.inner {
display: table-cell;
}
答案 1 :(得分:-1)
$(function(){
$(document).on("click", ".blick", function(){
var $this = $(this);
var buttonName = $this.attr("name");
});
});

#wrapper div.td1 {
text-align: right;
padding: 0;
margin: 0;
vertical-align: middle;
/* added incase of too long label text */
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
#wrapper div {
width: 50%;
display: inline-block;
text-align: left;
padding-left: 5px;
margin-right: -5px;
}
#wrapper {
width: 100%;
line-height: 1.5em;
}

答案 2 :(得分:-2)
你可以得到的最好的事情是重新创建具有不同DOM元素的表格布局以及一些显示:table - ***声明:
div.parent { display:table; }
div.parent > row { display:table-row; }
div.parent > row > * { display:table-cell; }
div.parent > row > label { text-align:right; padding: 0 0.25em; }
div.parent > row > label::after { content:":"; }
<div class="parent">
<row>
<label>name</label>
<p>_____________</p>
</row><row>
<label>date of birth</label>
<p>_____________</p>
</row><row>
<label>Shakespeare villain I would like to be</label>
<p>_____________</p>
</row><row>
<label>favo(u)rite do(gh)nut</label>
<p>_____________</p>
</row><row>
<label>pet's blood group</label>
<p>_____________</p>
</row><row>
<label>mother's maiden name</label>
<p>_____________</p>
</row><row>
<label>favo(u)rite Led Zeppelin track</label>
<p>_____________</p>
</row>
</div>
答案 3 :(得分:-2)
根据布局的其余部分,这可能会有一些限制; 将其视为实验。
为了减少使用的HTML数量以及少量的CSS,我们可以使用flexbox布局。
兼容性: IE 11+ and all modern browsers
<form>
容器被赋予display: flex
,并且为了对齐其输入中心的每个标签align-items: center
。 flex-wrap: wrap
用于表示行。
输入和标签是flex: 1 1 50%
。这使它们的初始宽度为50%,然后随容器增长和收缩。只要标签和输入初始值加起来为100%,就可以更改50%的初始值以使输入更宽或更小。
行在输入上以margin: 5px 0 5px
间隔开,以提供顶部和底部边距。顶部和底部边距值应保持不变,以便标签居中。
box-sizing: border-box
将边框和填充合并到元素的宽度和高度
A guide to Flexbox非常有用。
使用min-width
和max-width
可以很好地控制表单,以保持一定的灵活性。
* {
box-sizing: border-box;
}
form {
display: flex;
flex-wrap: wrap;
align-items: center;
max-width: 600px;
min-width: 300px;
}
label {
text-align: right;
flex: 1 1 50%;
padding-right: 10px;
}
input {
flex: 1 1 50%;
margin: 5px 0 5px;
}
<form>
<label for="label1">This is a really long label</label>
<input id="label1" type="text">
<label for="label2">Smaller label</label>
<input id="label2" type="text">
<label for="label3">Tiny</label>
<input id="label3" type="text">
</form>