[笔记]子元素超出overflow:hidden的父元素显示
发布时间:2020-12-15 01:18:44 所属栏目:C语言 来源:网络整理
导读:我们常常会用到overflow:hidden去防止某些个子元素超出显示,但是却希望某个子元素能超出显示,所以,此种情况下该如何呢? 一、position:absolute 在正常流布局中,我们可以使用这个方法。例如: div class="super" div class="sub"/div/divstyle type="tex
我们常常会用到overflow:hidden去防止某些个子元素超出显示,但是却希望某个子元素能超出显示,所以,此种情况下该如何呢? 一、position:absolute在正常流布局中,我们可以使用这个方法。例如: <div class="super"> <div class="sub"></div> </div> <style type="text/css" media="screen"> .super { width: 100px; height: 50px; border: 1px solid red; overflow: hidden; } .sub { width: 50px; height: 100px; background-color: olive; } </style> 现象很简单,我们发现sub被super给截断显示了。效果图是这样的: 但是我们只要给sub一个position:absolute,sub就不是正常流显示了,此时的absolute是参考html定位的,所以他不会被正常流中的super给截断了。 .sub {
width: 50px;
height: 100px;
background-color: olive;
position: absolute;
} 此时就sub可以正常显示啦: 当然了,如果super就是非static的元素呢?那么就请看下一种方法。 二、position:fixed前面了解到,既然只要相对html定位就可以保证能显示了,那么相对于浏览器窗口是否可以呢? 修改前面的样式: .super { width: 100px; height: 50px; border: 1px solid red; position: relative; overflow: hidden; } .sub { width: 50px; height: 100px; background-color: olive; position: fixed; } 此时sub依旧可以正常显示。当然,IE8-不支持fixed啦。 因此overflow:hidden只能限制住相对于他自己的元素的显示。 三、总结目前仅仅有这几个办法,若还有新方法,则新增。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |