私のページを分割して3つの部分(div)にしたい。最大化および中央揃えの正方形div
中央のdivは、正方形で、利用可能なスペースをすべて取る必要があります。
サイドのdivは、コンテンツの内容とは関係なく、残りのスペースを左右または上下に均等に取らなければなりません。
私は 幅に沿ってフレックス使用:100vmin 高さ:100vmin
しかし、私は、イベントハンドラのサイズを変更するウィンドウにフレックス方向を変更する必要があります。
JavaScriptを使用しないとできますか?このよう
// Set the flex direction according to current size
var flexRow = (window.innerWidth >= window.innerHeight);
document.getElementById("main").style.flexDirection = flexRow ? "row" : "column";
// Change the flex direction on window resize
window.addEventListener(
\t "resize",
\t function() {
\t \t if (flexRow != (window.innerWidth >= window.innerHeight)) {
\t \t \t flexRow = !flexRow;
\t \t \t document.getElementById("main").style.flexDirection = flexRow ? "row" : "column";
\t \t }
\t }
);
body {
\t margin: 0;
\t overflow: hidden;
}
#main {
\t position: absolute;
\t display: flex;
\t width: 100%;
\t height: 100%;
background-color: yellow;
}
.pan-side {
\t background-color: #999999;
\t flex: 1 1 0;
\t min-width: 0;
\t min-height: 0;
\t padding: 1%;
}
#pan-main {
\t width: 100vmin;
\t height: 100vmin;
background-color: blue;
}
<body>
\t <div id="main">
\t \t <div id="pan-side1" class="pan-side"></div>
\t \t <div id="pan-main"></div>
\t \t <div id="pan-side2" class="pan-side">
\t \t </div>
\t </div>
</body>
を参照してください、あなたが試したコードを投稿してください。作業デモ(例:jsfiddle.net)も参考になります。 –