我们都知道,宽度自适应,有很多种办法,最简单的就是百分比的方法,来进行宽度自适应,麻烦点的去js里面进行获取屏幕的宽度去进行判定,这样的方法来进行自适应,但今天我遇到个问题,对已写好的页面进行二开,要做到自适应的程度,结果把宽度自适应了,但以前的高度是写死的,导致页面缩小或变成手机端时,出现了页面坍塌。给父元素的高度,进行了height:auto;结果一点反应都没有。后来查资料才知道,由于我的子元素有浮动的效果,所以单独设父元素高auto,是起不到一点作用的。现在给大家分享下两种高度自适应的办法:
随着微软新操作系统的上市,ie6现在用的人越来越少了,但是XP系统看来是太过经典,仍然有相当多的用户在使用,且这部分人群中的大部分也没有单独升级浏览器的习惯,于是乎ie6依旧是使用最多的浏览器版本。根据本站流量的统计,来自ie6的访问比重为72.6%。表明了以上的观点,虽然最高的时候,ie6占了90%以上。
言归正传,div+css作为网页的布局已经是大势所趋。它的优点不在这里啰嗦。但最近经常有朋友提到关于容器高度自适应的兼容性问题。在这里简单作答。
1.有些时候,我们希望容器有一个固定高度,但当其中的内容多的时候,又希望高度能够自适应,也即容器在纵向能被撑开,且如果有背景,也能够自适应。在一般情况下,使用min-height即可解决。但是广大网民的首选浏览器ie6并不支持min-height。ie7,opera,火狐没有问题。所以采用以下写法可以解决兼容性:
height:auto!important;
height:200px;
min-height:200px;
2.很多朋友反映用上面的方法后,在有些时候依然无法解决容器无法撑开自适应的问题。那一定是有容器嵌套的情况下,而子容器又是浮动的。例如
<div class="fuqin"><ul><li>内容1</li><li>内容1</li></ul></div>
其中class为fuqin的div有浮动的li,当li比较多的时候,即便是div设置的是最小高度,也无法被撑开。
原因就在于作为子容器的li是浮动的即 。在这种情况下,即便是li的内容超过了div的高度,div也无法撑开。
解决方法如下:
在浮动的容器后面,父容器结束之前加入一个div
<div class="fuqin"><ul><li>内容1</li><li>内容1</li></ul><div class="clearfloat"></div></div>
.clearfloat{clear:both;height:0;font-size: 1px;line-height: 0px;}