更新 - 我決定反對JavaScript解決方案。確保它始終有效的唯一方法是每隔幾秒將其放入setInterval()
。不想這樣做。我知道這個CSS是可能的,我已經看到它的工作。如果結束的話,我會重新打開更多的獎勵。爲什麼我的顯示器:table-cell元素填充可用空間?
我有一個由兩部分組成的模式彈出:左和右。在這兩個部分中都是上面的標籤和下面的內容。標籤固定在一定數量的像素上,但底部區域需要能夠填充剩餘空間,所以我在左側和右側使用display:table
,在內側部分使用display: table-cell
以實現「填充剩餘空間「效應。它在Chrome和Safari中運行良好。
這裏的CSS:
#tagBoxLeft,#tagBoxRight {
display: table;
height: 100%;
width: 50%;
position: absolute;
right: 0;
opacity: 0;
}
#tagBoxLeft { left: 0 }
#tagBoxDescription {
display: table-row;
-webkit-border-top-left-radius: 20px;
width: 100%;
word-break: break-all;
word-wrap: break-word;
-webkit-box-shadow: 0 1px 0 #FFF;
-moz-box-shadow: 0 1px 0 #FFF;
box-shadow: 0 1px 0 #FFF;
}
.nano {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
display: table-cell;
}
#taglabel {
display: table-row;
z-index: 10000;
border-top: 1px solid #FFF;
width: 100%;
height: 39px;
}
它只是讓一堆的div到表中,使他們能夠有一個相對於彼此的高度。另外請注意,左側和右側是相對於瀏覽器窗口,所以這就是爲什麼我不能只使用百分比。
但是,在Firefox和Opera中,#tagBoxLeft
和#tagBoxRight
雙方部分拒絕接受height:100%;
,而他們有display:table;
。所以它不會強制底部響應。我知道Firefox & Opera通常支持這個功能(請參閱http://jsfiddle.net/Qxswa/)。但爲什麼我的所有內容都在Firefox和Opera中溢出?
這裏的問題的截圖:
#tagBox有75%的高度?所以在我的Firefox和你的截圖中,表格的高度相對於這個tagBox是100%,因爲它的位置不是靜態的,而是固定的。其實我看到頁面上發生了很多問題,html/css的主要簡化將有所幫助。 – 2012-05-01 09:33:33
前提是您的jsfiddle顯示您當前的html/css,我希望看到jsfiddle的圖像,它看起來像您希望的樣子,然後我可以提供幫助。 – 2012-05-01 09:39:29