【发布时间】:2019-06-25 20:44:25
【问题描述】:
除了div 内的两个按钮之外,我们还有一个input 元素,td 内。我不太明白,当它的父级(td)有宽度时,如何将 div 的所有子级放在一行中。
这里是an example。
例如,我可以将输入元素的宽度设置为 65%,但这只是一个 hack。
有人知道,为什么输入元素需要所有宽度如果表格单元格具有宽度属性?我没有找到任何提示in the spec。
我怎样才能将输入元素 (display) 设置为内联? display: flex 代表 div(就像是 suggested for this)?
生存工具包
HTML
<p>Input takes all width?</p>
<table>
<tbody>
<tr>
<td width="163px">
<div>
<input type="text" name="some-field" />
<button class="symbol" type="button"></button>
<button class="symbol" type="button"></button>
</div>
</td>
</tr>
</tbody>
</table>
CSS
button.symbol {
border-width: 0;
background: white;
display: inline;
}
button.symbol::before {
content: '\0394';
}
input {
display: inline;
}
【问题讨论】:
-
输入有一个默认宽度,因此如果您定义的宽度不足以容纳输入+内容,您只需换行即可
-
一个more link。