absolute 與overflow:hidden常見bug

我們使用第三方的組件時,第三方組件有時會依據我們引入組件的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.csdn.net/liufeng520/article/details/26058775

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章