zoukankan      html  css  js  c++  java
  • 利用marginbottom和paddingbottom实现三列等高的原理详解

    在网上看到有利用margin-bottom和padding-bottom实现三列等高的例子,但没有解释他的原理,在经过试验以后,终于找到的他的实现原理,有不足之处望指正!

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>3栏等高实现原理探究</title>
    </head>
    <body>
    <div id="a">
      <div id="b">www.ilovebeyond.com |我爱beyond网www.ilovebeyond.com |我爱beyond网www.ilovebeyond.com |我爱beyond网<br/>
        www.ilovebeyond.com |我爱beyond网www.ilovebeyond.com |我爱beyond网www.ilovebeyond.com |我爱beyond网www.ilovebeyond.com |我爱beyond网</div>
    </div>
    </body>
    </html>
    
    将css样式分别设置如下,得到的效果图如下所示
    <style type="text/css">
    * {
    	margin:0;
    	padding:0;
    }
    #a {
    	margin:50px;
    	background:green;
    
    }
    #b {
    	background:red;
    	height:100px;
    	
    }
    </style>


    样式二:
    <style type="text/css">
    * {
    	margin:0;
    	padding:0;
    }
    #a {
    	margin:50px;
    	background:green;
    	
    }
    #b {
    	background:red;
    	height:100px;
    	padding-bottom:100px;
    	margin-bottom:-100px;
    }
    </style>

    样式三:
    <style type="text/css">
    * {
    	margin:0;
    	padding:0;
    }
    #a {
    	margin:50px;
    	background:green;
    	overflow:hidden;
    }
    #b {
    	background:red;
    	height:100px;
    	padding-bottom:100px;
    	margin-bottom:-100px;
    }
    </style>

    从以上三张图片可以看出,当样式表发生变化时,图片的变化仅仅是图片的下部被覆盖(overflow:hidden),而红色部分距离浏览器窗口的距离(为白色,图中未显示)是没有变的,也就
    是说图片左上角的位置并未发生变化,由此我们可以推断出,在纯css实现三栏等高的实例中,只要将padding-bottom设置得足够大(?),而margin-bottom的值只要比原来css中三栏中
    任意两栏高度的最大差值大(这样的话,margin-bottom:-x就可以将三栏下面不相等的部分集体覆盖掉)即可实现三栏等高!而不是有人解释的padding-bottom:1000px;将三栏
    变为等高,而是通过margin-bottom:-1000px和overflow:hidden将他们底部不在一条水平线以下的部分覆盖掉!
  • 相关阅读:
    Javascript基础三(函数)
    Javascript基础二(程序的三大结构)
    Javascript基础一(介绍)
    HTML + CSS (下)【更新中】
    HTML + CSS (上)
    sql防注入式
    sqlserver根据id集合,批量插入。(巧用sqlserver内置函数)
    三层架构的理解(转)
    基于asp.net的ajax分页
    2013年7月28日web前端学习笔记-------head相关标签应用
  • 原文地址:https://www.cnblogs.com/beyond1990/p/2073995.html
Copyright © 2011-2022 走看看