高度自适应

Posted tyr235689

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高度自适应相关的知识,希望对你有一定的参考价值。

 

高度自适应

 

   条条大路通罗马,有的繁华似锦,有的绿树成荫。亦或者高楼林立又或者一马平川。道路千千万万,只有一条是最适合自己的,也只有心中认可的那一条是最近的。 一个成熟的网页,我自认为应该美观的,同是也是简单的。在高度这一块应该可以随着内容的多少变换其长短,让看客不用过多的心思也能浏览全局,找到自己想要的内容,我认为高度自适应能很好的解决这一个问题。

 

   网页布局中经常要定义元素的宽和高,所以布局应该是灵活的,因其更随元素的大小子元素的内容自动调整窗口,也就是pc自适应。pc自适应网页布局中非常重要,它能够使网页显示更灵活,可以适应在不同设备、不同窗口和不同分辨率下显示。其显示有以下几种方法,供大家学习讨论。

 

 

 

 

 

一、 相对窗口和父元素的自适应写法:

 

宽度:

 

    当块状元素不写宽度的时候,默认的宽度就是100%; 是父元素的宽度的100%;也就是始终跟父元素是同宽的。

 

width100%

 

默认情况下:如果给块元素加了绝对定位或者固定定位,他的宽度就不在是100%显示了。也不会跟父元素同宽的,而是跟里面的内容同宽,如果元素里面没有内容,有没有定义宽高,这个时候,元素就不见了

 

  高度:

 

    当让元素的高度相对浏览器窗口显示半分比的值得时候,一定要给htmlbody设置高度自适应:

 

高度100%

 

1、相对窗口自适应 html,body{height:100%;}(全屏显示的页面必须要给 html,body设置高度100%) 注:百分比设置宽高的时候,都是相对当前元素最近的父元素显得的百分比的值(百分比这个值显示大小的参照物就是自己最近的父元素)

 

2、相对元素或者内容自适应:

 

如何实现元素高度自适应?先思考这两个问题:

 

a、如果想实现元素高度自适应,高度能不能设置成固定的值??      

 

b、如果高度不能固定,那该怎么设置呢??

 

第一种情况:

 

1)非浮动元素的父元素高度自适应

 

2)实现方法:

 

1、不设置高度,或者高度设置成 :  height:auto

 

2、通过最小高度实现高度自适应 :  min-height:300px;_height:300px;

 

3、给需要高度自适应的元素添加这些属性:

 

min-height:value;  height:auto !important;height:value;

 

注:带有!important;关键字过滤器的属性,要写到相同属性之前;

 

兼容IE6的写法:

 

/*_height:300px;*/  /* “_”  叫做下划线过滤器,加了下划线过滤器之后,只有IE6 这个浏览器识别当前的属性,其他浏览器就都不识别了。 */

 

 

 

height:auto !important;/* 具有最高优先级,有的的浏览器都会去识别这具有!important;过滤器的这个属性 ;!important; 对于IE6来说,是无效的,IE6不支持*/

 

过滤器:"_"  叫做下划线过滤器,专门来单独过滤IE6 这个浏览器的。_height:300p;x

 

 “*”“+”  过滤IE7 及以下浏览器的;*height:300px;

 

"9"  过滤所有的IE浏览器的;height300px  9;

 

“  ”  过滤IE8及以上浏览器; height300px  ;

 

 !important; 关键字过滤器,具有最高优先级;ie6不支持;

 

 

 

 

 

  第二种情况:

 

2)浮动元素的父元素高度自适应

 

说明:当父元素不设置高度的时候,第一级子元素浮动后,父元素高度塌陷;

 

怎么去解决?(只要解决高度他显得问题,父元素就能实现高度自适应了)

 

1、可以个固定高度去解决解决高度塌陷问题

 

弊端:但是不能让元素高度自适应了

 

 2overflowhidden;   解决高度塌陷并能实现高度自适应的方法一;(遵循BFC的显示原则)弊端:只要里面的内容或者元素超出父元素以外,就会被隐藏;

 

3、在浮动元素的下方添加一个空元素,并且给他设置一下属性

 

空标记:<div class="clear_fix"></div>

 

clear:both;height:0;overflow:hidden;

 

 弊端:会添加很多空标记,增加结构负担,产生代码冗余;

 

4display:table;   给父元素添加displaytable;让父元素转换元素类型跟表格的特性一样;

 

弊端:会改变当前元素的元素类型;

 

5、万能清除法:

 

:after{content:“";clear:both;display:block;height:0;overflow:hidden;visibility:hidden;} 说明:推荐使用万能清除法;

 

弊端:单词太多,不好记;

 

 

 

 

 

以上就是我根据自己的理解做出的一些解释,以及一些疑惑问题的一些解答。

 

感谢与大家的分享,本人才疏学浅,内容有错及不足之处,还望提出改正,望读者海涵

 

以上是关于高度自适应的主要内容,如果未能解决你的问题,请参考以下文章

如何让iframe自适应高度

CSS 背景图宽度100% 高度自适应

HTML标签的TABLE高度怎么自适应

CSS中高度根据宽度自适应的方法

CSS控制,子div的高度自适应父div的高度

轮播图如何自适应高度、宽度