Ответ 1
Вы можете указать, что все дочерние элементы класса "col2" имеют ширину 100%, добавив следующее:
.col2 * { width:100%;}
См. мой пример dabblet: http://dabblet.com/gist/2227353
У меня простая форма HTML. Я хотел бы, чтобы правые виджеты во втором столбце (текстовое поле, combox и т.д.) Растягивали и заполняли полный столбец.
Мой HTML выглядит так:
<table class="formTable">
<tr>
<td class="col1">Report Number</td>
<td class="col2"><input type="text"/></td>
</tr>
<tr>
<td class="col1">Report Type</td>
<td class="col2"><select></select></td>
</tr>
</table>
Мой CSS выглядит так:
.formTable {
border-color: black;
}
.formTable td {
padding: 10px;
}
.formTable .col1 {
text-align: right;
}
.formTable .col2 {
width: 100%;
}
Любые идеи?
Вы можете указать, что все дочерние элементы класса "col2" имеют ширину 100%, добавив следующее:
.col2 * { width:100%;}
См. мой пример dabblet: http://dabblet.com/gist/2227353
Начните с семантической разметки, так как это не табличные данные. Кроме того, с добавленными ярлыками нам не нужны дополнительные DIV файлы обертки, которые являются более чистыми.
<ul class="formList">
<li>
<label for="input_1">
Report Number
</label>
<input id="input_1" name="input_1" type="text" />
</li>
<li>
<label for="input_2">
Report Type
</label>
<select id="input_2" name="input_2"></select>
</li>
</ul>
Затем добавьте CSS:
.formList {
border:1px solid #000;
padding:10px;
margin:10px;
}
label {
width:200px;
margin-left:-200px;
float:left;
}
input, select {
width:100%;
}
li {
padding-left:200px;
}
Пример скрипта JS: http://jsfiddle.net/6EyGK/
Вы можете использовать:
.col2 * {
width: 100%;
}
Для соответствия любому потоку .col2
. как вы можете видеть здесь. Или:
.col2 > * {
width: 100%;
}
Чтобы соответствовать только непосредственным детям.
при использовании Twitter Bootstrap: и ввод находится внутри столбца
просто добавьте к <input>
class="container-fluid"
Другая смысловая разметка, дополнительная для Мэтью Дарнелла, отвечает:
Если вы оберните метки вокруг входов и выберите, вы можете избежать использования атрибутов for
и id
.
<ul class="formList">
<li>
<label>
Report Number
<input name="input_1" type="text" />
</label>
</li>
<li>
<label>
Report Type
<select name="input_2"></select>
</label>
</li>
</ul>
Или используйте список определений, который может дать вам дополнительный контроль
<dl class="formList">
<dt>
<label for="input_1">
Report Number
</label>
</dt>
<dd>
<input id="input_1" name="input_1" type="text" />
</dd>
<dt>
<label for="input_2">
Report Type
</label>
</dt>
<dd>
<select id="input_2" name="input_2"></select>
</dt>
</dl>