如何让div与内容一起成长?

fun*_*hun 31 html css

与html有关,如何使div容器与内容一起增长,而不是手动定义宽度和高度.

<div id="container">
  <div id="logo">
    <img src="someimage.png"/>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

无论徽标的尺寸是多少,容器都不会随之生长.:(我如何解决这个问题,还是可以修复?

ste*_*ecb 36

如果未定义宽度和/或高度,则div元素将随其内容一起增长.除非他的内容设置为绝对!如果内容设置为float,则必须设置为容器

overflow:hidden
Run Code Online (Sandbox Code Playgroud)

为了让它成长!

  • 令人惊讶的CSS有时是多么直观.不. (3认同)

tda*_*ers 11

div的默认行为是填充整个可用宽度.有几种方法可以覆盖它:

  • 设置display: inline-block(不是IE友好的)
  • 漂浮它(有副作用,好吧,漂浮它)
  • 设置display: inline(但这几乎不是你想要的)
  • position: absolute
  • 硬编码宽度(虽然没有动态宽度)

作为最后的手段,请考虑使用javascript.


mol*_*556 6

使用神奇的css属性叫做“flex”,真的很神奇

yourDiv{
display:flex;
}
Run Code Online (Sandbox Code Playgroud)

只要确保孩子不是 position: absolute ,因为这不适用于 flex。

  • 需要更多信息......正如你的答案一样,它不适用于可变高度的嵌套 div。 (3认同)
  • 顺便说一句......绝对是一个位置属性值,而不是一个显示属性值 (2认同)