absolute 与overflow:hidden常见bug

本文探讨了CSS中绝对定位与溢出隐藏属性交互产生的问题及解决方案。通过实例演示如何避免因overflow:hidden导致的子元素裁剪,并介绍两种有效修复方法。

我们使用第三方的组件时,第三方组件有时会依据我们引入组件的DOM的位置进行定位,很常见的CSS写法就是使用position:relativeposition:absolute进行搭配使用,有时在父容器的外层添加了overflow:hidden之后,就会出现一些莫名奇妙的bug.下面举个例子

你可以访问如下页面:https://alizwell.github.io/front-end/CSS/absolute&overflowHidden.html

你可以看到因为overflow:hidden的影响,我们自己定义的tooltips超出容器的部分将会被完全截断,而解决的办法目前来看有两种,一种是你将父容器的overflow:hidden属性给去除掉,另外一种方法是给组件定位依赖的那个position:relative属性的容器再套一个容器,同时设置属性position: absolute. 其本质是,将position:relative的容器包裹在position:absolute的容器中,使其逃离overflow:hidden的影响。、

这里有一点需要说一下,那就是当容器设置position:absolute时,如果不给他设置top,left,right,bottom时,容器的位置是会保留在其在正常文档流中的位置,但是其将不会影响文档流中其他正常元素的位置。这个叫做所谓的位置跟随性,利用这个可以做很多有意思的事情。
还有一点就是如果设置了对立的位置属性,如left和right,top和bottom.那么这个时候在结合margin: auto,就可以实现一个很强大的居中定位的方法。

如果想要了解更多关于absolute的知识,请查阅如下链接。
1.https://www.zhangxinxu.com/wordpress/2010/01/absolute绝对定位的非绝对定位用法/
2.https://www.zhangxinxu.com/wordpress/2010/12/css-相对绝对定位系列(一)/
3.https://blog.youkuaiyun.com/liufeng520/article/details/26058775

9、 静态定位状态下,无法通过边偏移属性(top、bottom、left或right)来改变元素的位置。( ) 3分 20、 应用了“float:right;”样式的元素将向右侧浮动。( ) 3分 21、 如果不对元素定义position属性,该元素将没有自己的位置。( ) 3分 22、 当对元素应用“overflow: auto;”样式时,元素框将自适应其所要显示的内容。( ) 3分 23、 当position属性的取值为fixed时,可以将元素定位于静态位置。( ) 3分 24、 当position属性的取值为relative时,可以将元素定位于相对位置。( ) 3分 25、 当盒子内的元素超出盒子自身的大小时,内容一般会溢出。( ) 3分 26、 在CSS中,可以通过position属性为元素设置浮动。( ) 3分 27、 设置了浮动属性的元素会脱离标准文档流的控制。( ) 3分 28、 对浮动元素应用左外边距或右外边距时,在IE6浏览器中会出现双边距Bug。( ) 3分 29、 如果不设置元素的浮动属性,则块元素占页面整行。( ) 3分 30、 浮动元素不会对页面中其他元素的排版产生影响。( ) 3分 31、 对元素应用“overflow:visible;”样式,可清除浮动对该元素的影响。( ) 3分 32、 after伪对象清除浮动只适用于IE6及以上版本浏览器和其他非IE浏览器。( ) 3分 33、 当对元素应用“overflow:hidden;”样式时,溢出内容会被修剪,并且被修剪的内容是不可见的。( ) 3分 34、 当对元素应用“overflow:visible;”样式时,元素的溢出内容会被修剪。( ) 3分 35、 元素的定位属性主要包括定位模式和边偏移两部分。( ) 3分 36、 通过定位模式属性position可精确定义元素的具体位置。( ) 3分 判断题
05-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值