如何让父元素自适应子元素的大小?

有个图片 images/book1.jpg 维度是124*175
<html>
<style type="text/css">
div{

width:124px;
height:175px;
border:1px solid red;

}
</style>
<div>

<img src="images/book1.jpg"/>

</div>
</html>
效果如下,此时
图片描述

下面增加img的padding:20px
<html>
<style type="text/css">
div{

width:124px;
height:175px;
border:1px solid red;

}
img{

padding:20px;

}
</style>
<div>

<img src="images/book1.jpg"/>

</div>
</html>
此时效果如图
图片描述
如何写,可以使得div的大小可以自动变成:
图片描述

测试过了,div不可以写成
div{

overflow:auto;
zoom:1;
border:1px solid red;

}
宽度会撑满整个body.

阅读 31.2k
5 个回答

我没看懂,我理解的是你打算让div的宽度去适应img的宽度。

div{display:inline-block;width:auto;height:auto;padding:5px;border:1px solid red;}

你没有指定img的宽高,默认会显示img的原始宽高。设置下img的宽高,需要的时候再设置img的box-sizing为border-box就可以了

可以给父元素设置min-width,min-height之类的属性,别设置width,height,这样当子元素放不下的时候会自动撑开

让父元素自适应子元素的大小,父元素能给固定宽度吗,显然不能

新手上路,请多包涵

div img{width:100%} 就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏