teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

ベストアンサーへの追加と解決の補足

2019/02/01 14:28

投稿

kairi003
kairi003

スコア1332

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,27 @@
1
1
  画像のように,縦に要素を2つ,親要素いっぱいになるように並べて,境界をドラッグすることで2つの高さを変えられるようにしたいです.
2
2
  どのように書けばできますか.
3
- ![gif](9969a6c9d2e4b01453c86f85a35dd55d.gif)
3
+ ![gif](9969a6c9d2e4b01453c86f85a35dd55d.gif)
4
+
5
+ [補足]
6
+ FlexBoxも試してみたのですが、resizeと組み合わせた際の挙動がいまいちよくわからないことになったので、結局javascriptでも制御することにしました。
7
+ 以下yoshinaviさんのコードにjsを加えたものです。
8
+ ありがとうございました。
9
+ [https://jsfiddle.net/kairi003/o14asjkx/17/](https://jsfiddle.net/kairi003/o14asjkx/17/)
10
+ ```js
11
+ {
12
+ const a = document.querySelector('.inner-a');
13
+ const b = document.querySelector('.inner-b');
14
+ let flag = false;
15
+ a.addEventListener('mousedown', e=>{
16
+ flag = true;
17
+ })
18
+ window.addEventListener('mousemove', e=>{
19
+ if (flag) {
20
+ b.style.height = `calc(100% - ${a.style.height})`;
21
+ }
22
+ })
23
+ window.addEventListener('mouseup', e=>{
24
+ flag = false;
25
+ })
26
+ }
27
+ ```