zoukankan      html  css  js  c++  java
  • position:absolute溢出处理

    今天在做布局的时候发现把table设置了position:absoluteoverflow居然不管用了,溢出的部分依然溢出。

    百度后,才想起来... ...

    position后,元素已经和父元素不在一个流里面了,而overflow只能对在同一流中的元素起作用。

    简单说,

    就是 table 已经是移民火星了,而table外面的div 依然还在地球,那么身在地球的div自然是管不了身在火星的table咯。

    所以解决办法,

    既然table移民了,那么它爹div也跟着移个民不就可以管着table了吗?

    当子元素改变当前流后,父元素也跟着改变当前流,那么overflow就可以生效了。

    下面引用一个例子:

    <style>  
      
    .box{  
      
        width:200px;  
      
        height:150px;  
      
        overflow:hidden;  
      
        border:2px solid #000;  
      
        float:left;  
      
        margin-right:20px;  
      
    }  
      
    .relative{  
      
        position:relative;  
      
    }  
      
    .div{  
      
        width:200px;  
      
        height:100px;  
      
        background:#FF5400;  
      
        margin-top:100px;  
      
        position:absolute;  
      
    }  
      
    .zi{  
      
        width:200px;  
      
        height:300px;  
      
        background:#FF0000;  
      
    }  
      
    </style>  
      
    <div class="box">  
      
    高300px的子元素溢出隐藏  
      
    <div class="zi"></div>  
      
    </div>  
      
    <div class="box">  
      
    不带relative  
      
    <div class="div"></div>  
      
    </div>  
      
    <br><br><br><br><br><br>  
      
    <div class="box relative">  
      
    带上relative  
      
    <div class="div"></div>  
      
    </div>  

    效果图:

    请原谅我懒的自己写demo。借下别人的demo用用。

  • 相关阅读:
    BZOJ4675: 点对游戏
    Codeforces 1097 Alex and a TV Show
    UOJ#349. 【WC2018】即时战略
    DNS解析过程详解
    js中bind、call、apply函数的用法
    jQuery.extend 函数详解
    JQuery Mobile
    JQuery Mobile 页面参数传递
    HTML div 滚动条样式设计
    JavaScript 加载动画Canvas 设计
  • 原文地址:https://www.cnblogs.com/MirageFox/p/6762197.html
Copyright © 2011-2022 走看看