前言
今天發(fā)現(xiàn)個問題士嚎,一個使用了position:fixed屬性的元素,當(dāng)它的內(nèi)容超過屏幕高度的時候悔叽,超出的內(nèi)容就看不到也無法滾動莱衩。。
就像下圖這樣:
解決
既然不滾動就加上overflow-y: scroll; overflow-x: hidden; 這些屬性就好了娇澎,簡單吧笨蚁。。
But
但是發(fā)現(xiàn)右邊展開收起的定位元素被隱藏掉了,以前只知道hidden會隱藏掉括细,沒想到其它屬性也會(孤陋寡聞了??伪很。。)
/* 默認(rèn)值奋单。內(nèi)容不會被修剪锉试,會呈現(xiàn)在元素框之外 */
overflow: visible;
/* 內(nèi)容會被修剪,并且其余內(nèi)容不可見 */
overflow: hidden;
/* 內(nèi)容會被修剪览濒,瀏覽器會顯示滾動條以便查看其余內(nèi)容 */
overflow: scroll;
/* 由瀏覽器定奪呆盖,如果內(nèi)容被修剪,就會顯示滾動條 */
overflow: auto;
/* 規(guī)定從父元素繼承overflow屬性的值 */
overflow: inherit;
表現(xiàn)如圖(盜用MDN上的一張圖):
So
怎么改呢贷笛,嘗試了一些辦法应又,左側(cè)整個div元素且叫A(設(shè)置height:100%;),在A的內(nèi)部添加一個div(且叫B)乏苦,并在B元素加上overflow-y: scroll; overflow-x: hidden; height:100%;
這些屬性株扛,B元素與展開收起的元素(且叫C)并列,再根據(jù)原來的樣式修改一下C元素的定位就好了邑贴。