更新 - JavaScript ソリューションに反対することにしました。常に機能するようにする唯一の方法は、setInterval()
数秒ごとに実行することです。そんなことしたくない。私はこの CSS が可能であることを知っています。賞金が終わったら、150 くらいで再開します。
左と右の 2 つのセクションで構成されるモーダル ポップアップがあります。両方のセクション内には、上のラベルと下のコンテンツがあります。ラベルは特定のピクセル数に固定されていますが、下部領域は残りのスペースを埋めることができる必要があるため、「残りのスペースを埋める」効果を達成するために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
とサイド セクションは、. Firefox と Opera が通常これをサポートしていることはわかっています ( http://jsfiddle.net/Qxswa/を参照)。しかし、すべてのコンテンツが Firefox と Opera でオーバーフローするのはなぜですか?#tagBoxRight
height:100%;
display:table;
問題のスクリーンショットは次のとおりです。