Это одна из тех вещей, которая может быть на удивление хитрой, чтобы получить право.
Многие люди предложат использовать для этого float:left;
.Лично мне очень не нравятся поплавки;кажется, они вызывают больше проблем, чем решают.
Я предпочитаю использовать inline-block.Это метод отображения, который объединяет встроенные свойства (так что вы можете легко выровнять элементы рядом друг с другом и т. Д.) Со свойствами блока (например, возможность указать размеры).
Поэтому ответ состоит в том, чтобы просто сделать ихи display:inline-block;
, и задайте для команд фиксированную ширину, что сделает поля ввода рядом с ними выровненными.
Вам также понадобится какой-то перевод строки или разрыв после поля ввода, в противном случае следующийзапрос появится в той же строке, что не является желаемым эффектом.Лучший способ добиться этого - поместить каждое приглашение и его поле в контейнер <div>
.
Так ваш HTML будет выглядеть так:
<fieldset id="o-bs-sum-buginfo" class="myfields">
<div>
<label for="o-bs-sum-bug-ErrorPrefix">Error Prefix</label>
<input type="text" id="o-bs-sum-bug-ErrorPrefix" name="ErrorPrefix" value="" />
</div>
<div>
<label for="o-bs-sum-bug-ErrorNumber">Error Number</label>
<input type="text" id="o-bs-sum-bug-ErrorNumber" name="ErrorNumber" value="" />
</div>
....
</fieldset>
и ваш CSS будет выглядеть такэто:
.myfields label, .myfields input {
display:inline-block;
}
.myfields label {
width:200px; /* or whatever size you want them */
}
Надеюсь, что поможет.
Редактировать : вы можете использовать этот плагин для установки ширины каждой метки:
jQuery.fn.autoWidth = function(options)
{
var settings = {
limitWidth : false
}
if(options) {
jQuery.extend(settings, options);
};
var maxWidth = 0;
this.each(function(){
if ($(this).width() > maxWidth){
if(settings.limitWidth && maxWidth >= settings.limitWidth) {
maxWidth = settings.limitWidth;
} else {
maxWidth = $(this).width();
}
}
});
this.width(maxWidth);
}
с этой страницы в комментарии
и вы используете это следующим образом:
$("div.myfields div label").autoWidth();
и это все ... все ваши ярлыки будут занимать ширинусамой длинной этикетки