• 解决高度塌陷的方法


     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title></title>
     6         <script type="text/javascript">
     7             
     8         </script>
     9         
    10     <style type="text/css">
    11     .box1{
    12         width: 100px;
    13         height: 100px;
    14         background-color: antiquewhite;
    15         float: left;
    16     }
    17     .box2{
    18         width: 200px;
    19         height: 200px;
    20         background-color: pink;
    21         /*
    22         由于受到box1浮动的影响,box2整体向上移动100px
    23         清除掉其他元素浮动时对当前元素产生的影响,这时可以使用clear来完成功能、
    24         clear可以用来清除掉其他浮动元素对当前元素的影响
    25         可选值
    26         none 默认值,不清除浮动
    27         left 清除左侧浮动元素对当前元素的影响
    28         right 清除右侧浮动元素的影响
    29         both 清除两侧浮动元素对当前元素的影响
    30         清除浮动后,元素会回到其他浮动之前的位置
    31         */
    32        clear: left;
    33        float: right;
    34     }
    35     .box3{
    36         width: 300px;
    37         height: 300px;
    38         background-color: plum;
    39         clear: both;
    40     }
    41     </style>
    42        
    43     </head>
    44     <body>
    45      <div class="box1"></div>
    46      <div class="box2"></div>
    47      <div class="box3"></div>
    48     </body>
    49 </html>

     


    2.

    解决高度塌陷方法:(基本没有副作用)

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title></title>
     6         <script type="text/javascript">
     7             
     8         </script>
     9         
    10     <style type="text/css">
    11     .box1{
    12         border: 1px solid red;
    13     }
    14     .box2{
    15         width: 100px;
    16         height: 100px;
    17         background-color: antiquewhite;
    18         float: left;
    19     }
    20     .box3{
    21         /*
    22         可以直接在高度塌陷的父元素的最后,添加一个空白的div,
    23         由于这个div并没有浮动,所以他是可以撑开父元素的高度的
    24         然后再对其进行清除浮动,这样可以通过这个空白的div来撑开父元素的高度
    25         基本没有副作用
    26         使用这种方式虽然可以解决问题但是会在页面中添加多余的结构
    27         */
    28         clear: left;
    29     }
    30     </style>
    31        
    32     </head>
    33     <body>
    34      <div class="box1">
    35      <div class="box2"></div>
    36      <div class="box3"></div>
    37      </div>
    38     </body>
    39 </html>

      

     3.高度塌陷最推荐的解决方法:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title></title>
     6         <script type="text/javascript">
     7             
     8         </script>
     9         
    10     <style type="text/css">
    11         /*
    12         通过after伪类,选中box1的后边
    13         */
    14       .box1{
    15           border: 1px red solid;
    16       }
    17     .clearfix:after{
    18         /*
    19         添加一个伪类,将它转换为一个块元素
    20         清除两侧的浮动
    21         
    22         解决高度塌陷方法:
    23         可以通过after伪类向元素的最后添加一个空白的块元素,然后对其清除浮动,
    24         这样做和添加一个div的原理一样,是通过CSS来操作不是通过HTML来操作的,
    25         可以达到同一个效果,而且不会在页面中添加多余的div,这是最推荐使用的方式,几乎没有副作用。
    26         
    27         在IE6中不支持after伪类,所以在IE6中还需要hasLayout来处理
    28         */
    29        content: "";
    30        display: block;
    31        clear: both;/* 清除影响最大的一方 */
    32        .clearfix{
    33            zoom: 1;
    34        }
    35     }
    36     .box2{
    37         width: 100px;
    38         height: 100px;
    39         background-color: antiquewhite;
    40         float: left;
    41     }
    42     </style>
    43        
    44     </head>
    45     <body>
    46      <div class="box1 clearfix">
    47      <div class="box2"></div>
    48      </div>
    49     </body>
    50 </html>
  • 相关阅读:
    从今天开始,逐步的把EverNote摘抄的笔记发送到这里来,也算是写博客的一个开始吧
    驾校一点通变身软考题库
    从公司去西站时间估算
    Android应用程序与JS双向调用
    操作系统为fedora17,安装Qt4.7.3,编译时找不到libpng12.so.0
    symbian 静默安装与静默删除(转)
    Symbian 利用Socket发送短信的源码(转)
    QT在vs2005平台下的安装与调试(转)
    c++中break的用法、continue的用法
    symbian入门系列 Windows C++ 程序员如何过度到Symbian C++ ?(转)
  • 原文地址:https://www.cnblogs.com/zuiaimiusi/p/11210825.html
Copyright © 2020-2023  润新知