回答編集履歴

3

追記しました。

2020/07/11 02:09

投稿

new1ro
new1ro

スコア4528

test CHANGED
@@ -1,6 +1,4 @@
1
- ものすごく無理やり実装して周囲の影響や発展しやどを無視すると以下のような実装も可能と思います。
1
+ ものすごく無理やり実装すら、以下のような実装も可能と思います。
2
-
3
- (かなり荒いですが。7つ目のdivを追加した途端破綻したりするはずです。)
4
2
 
5
3
 
6
4
 
@@ -39,6 +37,10 @@
39
37
  }
40
38
 
41
39
  ```
40
+
41
+ 上記について、7つ目のdivを追加した途端破綻したりするはずです。
42
+
43
+ また本当に採用するなら、display: inline-block;を使ったときに生じてしまう余白をどのようにコントロールするか、という課題は解決する必要はあると思います。
42
44
 
43
45
 
44
46
 

2

修正

2020/07/11 02:09

投稿

new1ro
new1ro

スコア4528

test CHANGED
@@ -1,4 +1,6 @@
1
- ものすごく無理やり実装して周囲の影響や発展しやすさなどを無視すると以下のような実装も可能と思います (かなり荒いですが)
1
+ ものすごく無理やり実装して周囲の影響や発展しやすさなどを無視すると以下のような実装も可能と思います。
2
+
3
+ (かなり荒いですが。7つ目のdivを追加した途端破綻したりするはずです。)
2
4
 
3
5
 
4
6
 
@@ -12,7 +14,7 @@
12
14
 
13
15
  div{
14
16
 
15
- display: inline-flex;
17
+ display: inline-block;
16
18
 
17
19
  border: 5px solid #09c;
18
20
 

1

修正

2020/07/11 02:07

投稿

new1ro
new1ro

スコア4528

test CHANGED
@@ -1,3 +1,47 @@
1
+ ものすごく無理やり実装して周囲の影響や発展しやすさなどを無視すると以下のような実装も可能と思います (かなり荒いですが)。
2
+
3
+
4
+
5
+ Codepenでやってみました:
6
+
7
+ [https://codepen.io/new1ro/pen/gOPKvYL](https://codepen.io/new1ro/pen/gOPKvYL)
8
+
9
+
10
+
11
+ ```CSS
12
+
13
+ div{
14
+
15
+ display: inline-flex;
16
+
17
+ border: 5px solid #09c;
18
+
19
+ width: 20vw; /* 任意の幅 */
20
+
21
+ height: 50vh; /* 任意の高さ */
22
+
23
+ font-size: 0;
24
+
25
+ box-sizing: border-box;
26
+
27
+ }
28
+
29
+ div:nth-child(3),
30
+
31
+ div:nth-child(4) {
32
+
33
+ margin-bottom: calc(-50vh - 6px); /* -任意の高さ - 余白 */
34
+
35
+ height: calc((50vh * 2) + 6px); /* (任意の高さ * 2) + 余白 */
36
+
37
+ }
38
+
39
+ ```
40
+
41
+
42
+
43
+ ---
44
+
1
45
  6つの<div>の親要素が必要になりますが、以下のような記述だと実現可能です。
2
46
 
3
47