これは、私が思いついた単純な jQuery ベースのソリューションです ( http://codepen.io/terrymun/pen/nEDoA ):
$(function() {
var $w = $(window);
$w.resize(function() {
$(".side-content > div")
.height($w.height() * 0.5)
.width($w.height() * 0.5);
$(".main-content")
.width($w.width() - $w.height() * 0.5);
}).resize();
});
この関数の背後にあるロジックは単純です。DOM の準備ができたときに .resize() イベントを発生させ (したがって連鎖)、.resize() イベントをリッスンします。簡単にするために、jQuery オブジェクト$w
をに割り当てました。$(window)
ヒント:一部のブラウザーではイベントが頻繁に発生し、サイズ変更時にサイトのパフォーマンスが低下する可能性があるため、イベントを調整することをお勧めします。.resize()
また、自由に CSS をもう少し単純化しました。
.side-content > div {
position: absolute;
right: 0;
}
.side-top {
background: red;
}
.side-bottom {
background: purple;
top: 50%;
}