• css中div高度自适应


    高度的自适应(父div高度随子div的高度改变而改变)

    1、如果父div不定义height、子div均为标准流的时候,父div的height随内容的变化而变化,实现父div高度随子div的高度改变而改变。

    <style type="text/css">
          #aa{min-height: 1em;}
          #bb{height: 55px;}
          #cc{height: 66px;}
     </style>
     
    <div id="aa">父div
          <div id="bb">子div</div>
          <div id="cc">子div</div>
     </div>

    2、如果子div使用了float属性,此时已经脱离标准流,父div不会随内容的高度变化而变化,解决的办法是对父元素加

    <style>
    aa{overflow:auto;}
    </style>

    还可以清除浮动也能解决问题,如下

    2、如果子div使用了float属性,此时已经脱离标准流,父div不会随内容的高度变化而变化,解决的办法是在浮动的div下面,加一个空div,设置clear属性both

    <style type="text/css">
          #aa{min-height: 1em;}
          #bb{height: 55px; float: left;}
          #cc{height: 66px; float:right;}
     </style>
     
    <div id="aa">父div
          <div id="bb">子div</div>
          <div id="cc">子div</div>
          <div style="clear:both"></div>
     </div>

    可以使用伪列CSS实现

    /*写css 时总为浮动而烦恼,如果用了浮动,浮动的父层不会跟着浮动框的高度增加而增加,在Firefox等符合W3C标准的浏览器中,如果有一个DIV作为外部容器,内部的DIV如果设置了float样式,则外部的容器DIV因为内部没有clear,导致不能被撑开。这个时候我们可以写个class 比如clearfix清除浮动*/
    
    .clearfix:after {
      content: " ";
      display: block;
      clear: both;
      height: 0;
    }
    .clearfix {
      zoom: 1;
    }
    <div class="clearfix">
      <div class="floated"></div>
    </div>
    .clearfix:after {       
        content: ".";     /*内容为“.”就是一个英文的句号而已。也可以不写。*/
        display: block;   /*加入的这个元素转换为块级元素。*/
        clear: both;     /*清除左右两边浮动。*/
        visibility: hidden;      /*可见度设为隐藏。注意它和display:none;是有区别的。visibility:hidden;仍然占据空间,只是看不到而已;*/
        line-height: 0;    /*行高为0;*/
        height: 0;     /*高度为0;*/
        font-size:0;    /*字体大小为0;*/
    }
    
    .clearfix { *zoom:1;}   /*这是针对于IE6的,因为IE6不支持:after伪类,这个神奇的zoom:1让IE6的元素可以清除浮动来包裹内部元素。*/
    /* 上面的代码就是.clearfix的定义和应用,简单的说下.clearfix的原理:
    
    1、在IE6, 7下zoom: 1会触发hasLayout,从而使元素闭合内部的浮动。
    
    2、在标准浏览器下,.clearfix:after这个伪类会在应用到.clearfix的元素后面插入一个clear: both的块级元素,从而达到清除浮动的作用。
    
    3、在需要清除浮动的时候,只要写一个.clearfix就行了,然后在需要清浮动的元素中 添加clearfix类名就好了。
    
    */

    示例

    <html > 
    <head> 
    <title> css用clearfix清除浮动实例</title> 
    <meta name="generator" content="editplus" /> 
    <meta name="author" content="" /> 
    <meta name="keywords" content="" /> 
    <meta name="description" content="" /> 
    </head> 
    <body> 
    <style type="text/css"> 
    /*所有主流浏览器都支持 :after 伪元素。*/ 
    .clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden} 
    .clearfix{*+height:1%;}/*不知道有什么用处,不加ie7也没有问题*/ 
    .box{ background:#111;width:500px; position:relative;} 
    .l{float:left; background:#333;width:200px; height:100px;} 
    .r{float:right;background:#666;width:200px; height:200px;} 
    .s{width:100px; height:100px;background:#999;position:absolute;right:-50px;;} 
    </style> 
    <div class="box clearfix"> 
    <div class="l">left</div> 
    <div class="r">right</div> 
    <div class="s">absolute</div> 
    </div> 
    </body> 
    </html> 
  • 相关阅读:
    P1087 FBI树 二叉树
    回顾测试和测试方法
    Postman
    执行用例的思路、批量执行(可选)、定时任务
    unittest平台分析与建表:
    HTMLTestRunner源码
    665. Non-decreasing Array
    661. Image Smoother
    643. Maximum Average Subarray I
    628. Maximum Product of Three Numbers
  • 原文地址:https://www.cnblogs.com/fenglie/p/5127748.html
Copyright © 2020-2023  润新知