如题,求三种解法,希望各位大神能详细说明下。
光阴似箭催人老,日月如移越少年。
三、flexhttp://jsfiddle.net/uqevaprx/
四、pisitionhttp://jsfiddle.net/uqevaprx/1/
如果外层p高度自适应于内部,就完全不需要额外写规则了,另外一个p绝对能撑高外层p,填得紧紧实实的。
如果是外层p自适应于它的父级,纯CSS的办法是有的。
为了方便演示,下面的demo都让外层元素100%适应于html和body,点Edit in JSFiddle之后可以看到,拖动窗口高度,均能自适应。
box-sizing: border-box;
padding: 100px 0 0
height: 100%;
这就是两个方案了:
http://jsfiddle.net/xq4rew3f/1/
http://jsfiddle.net/xq4rew3f/3/
position: relative
position: absolute; top: 100px; bottom: 0; left: 0
第三个方案:
http://jsfiddle.net/xq4rew3f/5/
注意一下,这三个方案都是IE8+。
一、 height: calc(100%-100px); 二、 JS计算
height: calc(100%-100px);
为了演示方便 外面的p 暂时高度设置为400px 其实多少无所谓domehttp://jsbin.com/yidilo/1/edit?html,css,output
三、flex
http://jsfiddle.net/uqevaprx/
四、pisition
http://jsfiddle.net/uqevaprx/1/
如果外层p高度自适应于内部,就完全不需要额外写规则了,另外一个p绝对能撑高外层p,填得紧紧实实的。
如果是外层p自适应于它的父级,纯CSS的办法是有的。
为了方便演示,下面的demo都让外层元素100%适应于html和body,点Edit in JSFiddle之后可以看到,拖动窗口高度,均能自适应。
box-sizing方案
box-sizing: border-box;
同时设置padding: 100px 0 0
;height: 100%;
这就是两个方案了:
http://jsfiddle.net/xq4rew3f/1/
http://jsfiddle.net/xq4rew3f/3/
absolute positioning
position: relative
;position: absolute; top: 100px; bottom: 0; left: 0
第三个方案:
http://jsfiddle.net/xq4rew3f/5/
注意一下,这三个方案都是IE8+。
一、
height: calc(100%-100px);
二、 JS计算
为了演示方便 外面的p 暂时高度设置为400px 其实多少无所谓
dome
http://jsbin.com/yidilo/1/edit?html,css,output