html5中文学习网

您的位置: 首页 > 网页制作 > css教程 » 正文

CSS百分比定义高度为什么没有效果_CSS教程_CSS_网页制作

[ ] 已经帮助:人解决问题
点评:给div设置height=50%,往往没能看到效果,这是因为百分比的大小是相对其父级元素宽高的大小,如最外层元素设置的百分比是对应屏幕而言的
当我们给块级元素设置响应式高度的时候,例如给div设置height=50%,往往没能看到效果。 USRHTML5中文学习网 - HTML5先行者学习网
USRHTML5中文学习网 - HTML5先行者学习网
原因是百分比的大小是相对其父级元素宽高的大小,如最外层元素设置的百分比是对应屏幕而言的。 USRHTML5中文学习网 - HTML5先行者学习网
USRHTML5中文学习网 - HTML5先行者学习网
需要了解的是对于宽度来说,其父级元素无须确定宽度就能设置百分比,例如我们可以利用这个特性给未知宽度的块级元素设置水平居中效果: USRHTML5中文学习网 - HTML5先行者学习网
USRHTML5中文学习网 - HTML5先行者学习网
父元素css: position: relative/absolute; left: 50%; USRHTML5中文学习网 - HTML5先行者学习网
USRHTML5中文学习网 - HTML5先行者学习网
子元素css: position: relative; left: -50%; USRHTML5中文学习网 - HTML5先行者学习网
USRHTML5中文学习网 - HTML5先行者学习网
但高度则不同,若某元素的父元素没有确定高度,则无法有效使用height=XX%的样式,我们可以这样解决(假设最外层的div需要设置百分比高度样式): USRHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
USRHTML5中文学习网 - HTML5先行者学习网
html, body { USRHTML5中文学习网 - HTML5先行者学习网
height: 100%; USRHTML5中文学习网 - HTML5先行者学习网
} USRHTML5中文学习网 - HTML5先行者学习网
.outDiv { USRHTML5中文学习网 - HTML5先行者学习网
height: 50%; USRHTML5中文学习网 - HTML5先行者学习网
} USRHTML5中文学习网 - HTML5先行者学习网
USRHTML5中文学习网 - HTML5先行者学习网
不过这里有个需要注意的,若div里的内容超出了div的高度,在IE7+的浏览器是无法将div撑起来的(IE6则可以),如果要顾及这一点,可以使用min-height解决(当然也要考虑IE6不支持min-height的问题): USRHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
USRHTML5中文学习网 - HTML5先行者学习网
html, body { USRHTML5中文学习网 - HTML5先行者学习网
height: 100%; USRHTML5中文学习网 - HTML5先行者学习网
} USRHTML5中文学习网 - HTML5先行者学习网
.outDiv { USRHTML5中文学习网 - HTML5先行者学习网
min-height: 50%; USRHTML5中文学习网 - HTML5先行者学习网
} USRHTML5中文学习网 - HTML5先行者学习网
* html .outDiv { USRHTML5中文学习网 - HTML5先行者学习网
height: 50%; USRHTML5中文学习网 - HTML5先行者学习网
} USRHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助