我的HTML:
<table class="tab">
<tr><td>aa</td><td>aa</td><td>aa</td></tr>
<tr><td colspan="3"><div class="in">bbb</div></td></tr>
</table>
<table class="tab">
<tr><td>aa</td><td>aa</td><td>aa</td></tr>
<tr><td colspan="3"><div class="in">bbbbb</div></td></tr>
</table>
我的CSS:
.tab td {
padding: 3px;
border: 1px solid red;
}
.in {
background-color: green
}
如何设置绿色背景与此DIV中的文本宽度相同,而不是所有TD?
答案 0 :(得分:3)
如果我理解正确,您希望绿色背景的宽度与div
中的文字相同?
如果有,请将div
更改为span
。这是因为div
是块级元素,并且意味着一行中只能出现一个元素,因此它将自动填充所有可用的水平空间。 inline
元素(例如span
)允许将多个元素放在一行上。
或者,您可以将div
内联,如this fiddle
答案 1 :(得分:2)
把它放在跨度而不是div中?假设这就是你想要的。
<table class="tab">
<tr><td>aa</td><td>aa</td><td>aa</td></tr>
<tr><td colspan="3"><div><span class="in">bbb</span></div></td></tr>
</table>
答案 2 :(得分:2)
将文字添加到span中,而不是div中
<span class="in">xbbbb</span>
span.in {
background-color: green;
}
答案 3 :(得分:1)
如果您希望背景为绿色,背景为div,则可以将div更改为范围。
来自w3School: 标记用于对文档中的内联元素进行分组。 标签本身不提供视觉变化。 标记提供了一种向文本的一部分或文档的一部分添加钩子的方法。 当文本挂钩在span元素中时,您可以向内容添加样式,或使用例如JavaScript操作内容。