Css 将容器元素宽度与子容器元素宽度匹配

Css 将容器元素宽度与子容器元素宽度匹配,css,width,positioning,Css,Width,Positioning,我想进行如下设置: <div id="block"> <div class="btn">2</div> <div class="btn">1235e</div> <div class="btn">really long one</div> </div> 2. 1235e 真的很长 jsfiddle: 其中BTN和block div根据内容获取其宽度。就像它出现在小提琴,除了宽度的基站是基于他们的

我想进行如下设置:

<div id="block">
<div class="btn">2</div>
<div class="btn">1235e</div>
<div class="btn">really long one</div>
</div>

2.
1235e
真的很长
jsfiddle:

其中BTN和block div根据内容获取其宽度。就像它出现在小提琴,除了宽度的基站是基于他们的文本,而不是他们的容器

我不能使用表格,因为我需要能够应用样式来获得完全不同的外观,所以我需要html标记保持基本不变。如果绝对必要,我可以应用一些js

我尝试了几种不同的展示方式,但不确定如何实现。我不希望硬编码任何宽度,因为内容会发生变化,我需要它在旧版本的IE中工作(尽管我可以使用像IE9.js这样的库)

其中BTN和block div根据内容获取其宽度

我不能100%确定我是否正确,但使用
display:inline
元素,如
span
s,而不是
s,应该可以解决您的问题

其中BTN和block div根据内容获取其宽度


我不能100%确定我是否正确,但使用
display:inline
元素,如
span
s而不是
s,应该可以解决您的问题。

让它们浮动或内联,这样它们就不会像块一样工作(不会是100%宽度)。

让它们浮动或内联,这样它们就不会像块一样工作(不会是100%宽度).

如何将#块大小调整为与最长按钮一样宽:

#block {
  float: left;
}  

.btn {
  float: left;
  clear: both; 
}
浮动元素将仅扩展到其内容的宽度。假设您希望每个按钮都位于自己的行中

如果希望按钮一起流动,请从
.btn
规则中删除
清除:两个
。然而,如果你真的想把它们都放在一条线上,你就必须知道浮动下降。如果添加在一起的所有按钮的宽度大于可用宽度,则会发生这种情况。在这种情况下,最右边的按钮将下降到其他按钮的下方

更新:根据OP的评论,这里是表格单元格样式的CSS,其中
#block
和所有
。btn
元素扩展到最宽的按钮宽度:

#block {
  display: inline-block;
}  

.btn {
  display: block;
}
以及。

如何将#块的大小调整为与其最长按钮一样宽:

#block {
  float: left;
}  

.btn {
  float: left;
  clear: both; 
}
浮动元素将仅扩展到其内容的宽度。假设您希望每个按钮都位于自己的行中

如果希望按钮一起流动,请从
.btn
规则中删除
清除:两个
。然而,如果你真的想把它们都放在一条线上,你就必须知道浮动下降。如果添加在一起的所有按钮的宽度大于可用宽度,则会发生这种情况。在这种情况下,最右边的按钮将下降到其他按钮的下方

更新:根据OP的评论,这里是表格单元格样式的CSS,其中
#block
和所有
。btn
元素扩展到最宽的按钮宽度:

#block {
  display: inline-block;
}  

.btn {
  display: block;
}

还有。

你的css是什么样子的?如果你不指定宽度,
div
会不会自动成为其内容的宽度?@kafuchau否-默认情况下,div是块级元素,因此它会自动占据其父元素的全部宽度。哇!很抱歉我忘了包含指向解释性JSFIDDLE的链接您的css是什么样子的?如果您不指定宽度,
div
是否会自动成为其内容的宽度?@kafuchau No-默认情况下,div是块级元素,因此它会自动占据其父元素的全部宽度。哇!很抱歉我忘了包含指向解释性JSFIDDLE的链接。我所追求的外观基本上类似于表格的一列,因此所有按钮的宽度都相同。@Damon刚刚用表格列样式视图更新了我的示例。我所追求的外观基本上类似于表格的一列,因此所有按钮的宽度都相同。@Damon刚刚用一个表列样式视图更新了我的示例。