解决DIV列高度自适方法及优缺点
创始人
2024-07-11 11:30:19
0

你对解决DIV列高度自适方法是否熟悉,这里和大家分享一下,主要从三个方面向大家介绍,希望你能够掌握。

解决DIV列高度自适方法及优缺点

解决DIV列高度自适的方法有很多种,这里介绍三种最常用的方法给大家(下面所有例子以父main,子DIVleft、DIVright为例)。

1、利用“clear:both”背景填充(推荐!!!)

这是使用最广泛的一种做法,我一直都用此方法解决DIV列高度自适问题。三行二列布局,主要内容在右边,网页宽度780px,左列240px,右列540px。

CSS代码

  1. #main{  
  2. width:780px;  
  3. margin:0;  
  4. background:url(bg.gif)#FFFFFFrepeat-yleft;  
  5. text-align:left;  
  6. }  
  7.  
  8. #DIVleft{  
  9. float:left;  
  10. width:240px;  
  11. }  
  12.  
  13. #DIVright{  
  14. float:right;  
  15. width:540px;  
  16. }  
  17.  
  18. .clear{  
  19. border-top:1pxsolidtransparent!important;  
  20. margin-top:-1px!important;  
  21. border-top:0;  
  22. margin-top:0;  
  23. clear:both;  
  24. visibility:hidden;  
  25. }  
  26. html代码: 
 
  •  
  •  
  •  
  •  
  • 优点:无hacks,完全的自适应高度。

    2、脚本控制高度

    在中加入如下代码(假设DIVright的高度相对最高):
     

    1.  

    优点:代码超级简单

    缺点:要确定有某一列的高度始终是相对最高的,此方法比较被动。#p#

    3、margin负值父子容器高度继承

    这个方法能较好地解决列高度相同的问题。三行二列布局,主要内容在左边,网页宽度780px,左列540px,右列240px。

    CSS代码: 

    1. #main{  
    2.   width:540px;  
    3.   float:left;  
    4.   background:#FFFFFF;  
    5.   text-align:left;  
    6. }  
    7.  
    8. #DIVleft{  
    9.   width:540px;  
    10.   float:left;  
    11.   position:relative;  
    12.   margin-left:-540px;  
    13. }  
    14.  
    15. #DIVright{  
    16.   width:240px;  
    17.   float:right;  
    18.   position:relative;  
    19.   margin:0-240px00;  
    20.   background:#F0F0F0;  
    21. }  
    22.  

     html代码:

    1.  
    2.    
    3.     
     
  •   
  • !  
  •  
  •  
  • 或许刚接触的WebStandards的朋友对这种方法不怎么理解,现Blank分析一下:

    [A]
    [B][C]

    上结构中a包含c,c包含b。当b的高度为最高时,那么a和c将继承b的高度,如果a和b位置重合,将显示b的背景;而当c的高度最高时,那么a继承将继承c的高度,如果a和b位置重合,将显示a的背景。这样无论b最高或者c最高都将显示DIV列高度相同。

    优点:兼有第一种方法的优点,并且比第一种方法的代码稍微简洁。

    缺点:整体结构只能左对齐。

    【编辑推荐】

    1. 四种方法解决DIV高度自适应问题
    2. IE6.0对padding的解读分析
    3. CSS样式表高效使用八大秘诀
    4. CSS textarea高度自适应问题解决方案
    5. IE6中常见CSS兼容性解决十大技巧

    相关内容

    热门资讯

    PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
    网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
    各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
    粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
    什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
    如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
    全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
    如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
    30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
    Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...