旧回答有误,请忽略 更新:事实上旧回答给出的方法只能适用于子元素使用 float 的时候,没看清问题就随意作答,很抱歉。 因为 BFC 的高度计算包含浮动元素,同时清除浮动元素也会让父元素撑开,所以可以实现父元素被子元素撑开的需求。 但是 position:absolute 或者 position:fixed 就不一样,它是脱离文档流的,而且不会计算被父元素计算在内,同时也没有办法像浮动一样被清除。所以你的需求应该是无法满足的。 旧回答:只要在父元素创建一个 BFC 就可以,或者清除浮动。比如: .parent{ overflow:hidden; } 或者 .parent{ display:inline-block; } 清除浮动 .child:after{ content:''; clear:both; overflow:hidden; height:0px; *zoom:1; } 你可以搜索一下怎么产生 BFC,和如何清除浮动。可以找出更多的方法