如何将DIV宽度调整为内容

Cap*_*mic 40 html css layout

我有一个附加样式的div元素:

.mypost {
    border: 1px solid Peru;
    font-family: arial;
    margin: auto;
    min-width: 700px;
    width: 700px;
}
Run Code Online (Sandbox Code Playgroud)

我在DIV块内部放置WordPress的帖子内容,但为了简单起见,假设<img>DIV中只有一个.我希望我的div最小宽度为700像素,如果图像宽度超过700像素,则调整宽度.

我有什么选择来实现这一目标?请指教.

UPDATE

看我的小提琴 http://jsfiddle.net/cpt_comic/4qjXv/

kap*_*apa 80

你可以做到这一点的方法之一是设置display: inline-block;div.它默认是一个block元素,它将始终填充它可以填充的宽度(除非指定width当然).

inline-block唯一的缺点是IE只能从版本8正确支持它.IE 6-7只允许在自然inline元素上设置它,但有一些黑客可以解决这个问题.

你还有其他选择,你可以选择float它,也可以设置position: absolute它,但是这些选项对布局也有其他影响,你需要决定哪种选择更适合你的情况.


Van*_*als 18

我想在其他答案中添加这个非常新的解决方案:

如果您不希望元素变为内联块,则可以执行以下操作:

.parent{
  width: min-content;
}
Run Code Online (Sandbox Code Playgroud)

支持正在快速增长,所以当边缘决定实现它时,它会非常棒:http://caniuse.com/#search=intrinsic


Spu*_*ley 16

你可以尝试使用float:left;display:inline-block;.

这两个都会将元素的行为从默认更改为100%宽度,以默认为其内容的自然宽度.

但请注意,它们也会对周围元素的布局产生影响.我建议虽然inline-block会产生较小的影响,所以最好先尝试一下.


Pio*_*ula 1

EDIT2- 是的,自动填充 DOM SOZ!

#img_box{        
    width:90%;
    height:90%;
    min-width: 400px;
    min-height: 400px;
}
Run Code Online (Sandbox Code Playgroud)

看看这个小提琴

http://jsfiddle.net/ppumkin/4qjXv/2/

http://jsfiddle.net/ppumkin/4qjXv/3/

和这个页面

http://www.webmasterworld.com/css/3828593.htm

删除了原来的答案,因为它是错误的。

宽度没问题,但高度重置为 0

所以

 min-height: 400px;
Run Code Online (Sandbox Code Playgroud)