質問編集履歴

5

条件追記

2020/09/15 16:57

投稿

ophiacodon
ophiacodon

スコア24

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,8 @@
1
1
  固定幅の div 要素内に、高さ固定の inline-block 要素を多数配置します。
2
2
 
3
3
  兄弟となる要素の間には、一定の余白を入れたいと考えますが親要素である div 要素の外枠との間には余白を入れたくありません。このような場合、どのようにするのが最もスマートでしょうか?
4
+
5
+ (追記: 右側の余白は可変ですが、最小値は 0 になるようにしたいです。)
4
6
 
5
7
 
6
8
 

4

回答をもとに実装

2020/09/15 16:57

投稿

ophiacodon
ophiacodon

スコア24

test CHANGED
File without changes
test CHANGED
@@ -39,3 +39,95 @@
39
39
  </div>
40
40
 
41
41
  ```
42
+
43
+ ---
44
+
45
+ いただいた回答をもとに、実装してみました。
46
+
47
+ これでほぼ、期待通りの挙動になることが確認できます。
48
+
49
+ ただ、やはり左側は小細工が必要になるケースもありそうですね(右側でも実装可)。
50
+
51
+ おそらく他に方法はないと思われますので、もう少し待って別の回答がつかなければ、ベスト回答とさせていただきます。
52
+
53
+ ```css
54
+
55
+ * { padding:0;margin:0;box-sizing: border-box;}
56
+
57
+ body {
58
+
59
+ padding:50px;
60
+
61
+ font-size:0;
62
+
63
+ }
64
+
65
+ #over {
66
+
67
+ width:100px;
68
+
69
+ height:100px;
70
+
71
+ background:red;
72
+
73
+ }
74
+
75
+ #left {
76
+
77
+ display: inline-block;
78
+
79
+ position:relative;
80
+
81
+ width:100px;
82
+
83
+ height:200px;
84
+
85
+ background:black;
86
+
87
+ z-index:1000;
88
+
89
+ }
90
+
91
+ #wrap {
92
+
93
+ display: inline-block;
94
+
95
+ width: 330px;
96
+
97
+ margin-left:-10px;
98
+
99
+ text-align: left;
100
+
101
+ background:yellow;
102
+
103
+ }
104
+
105
+ a {
106
+
107
+ display: inline-block;
108
+
109
+ margin-left: 10px;
110
+
111
+ width:100px;
112
+
113
+ height:100px;
114
+
115
+ background:blue;
116
+
117
+ }
118
+
119
+ ```
120
+
121
+ ```html
122
+
123
+ <body>
124
+
125
+ <div id="over"></div>
126
+
127
+ <div id="left"></div>
128
+
129
+ <div id="wrap"><a></a><a></a><a></a><a></a></div>
130
+
131
+ </body>
132
+
133
+ ```

3

微調整

2020/09/15 16:46

投稿

ophiacodon
ophiacodon

スコア24

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,13 @@
12
12
 
13
13
  div { width: 800px; text-align: left;}
14
14
 
15
+ a {
16
+
17
+ display: inline-block;
18
+
15
- a { display: inline-block; margin:0 1rem 0;}/*これだと外枠との間に余白ができてしまう*/
19
+ margin:0 1rem 0;/*これだと外枠との間に余白ができてしまう*/
20
+
21
+ }
16
22
 
17
23
  ```
18
24
 

2

微修正

2020/09/15 14:38

投稿

ophiacodon
ophiacodon

スコア24

test CHANGED
@@ -1 +1 @@
1
- 多数の inline-block 要素を並べた場合に、要素間にのみ余白を設ける方法
1
+ 多数の inline-block 要素を並べた場合に、兄弟要素間にのみ余白を設ける方法
test CHANGED
@@ -1,10 +1,10 @@
1
1
  固定幅の div 要素内に、高さ固定の inline-block 要素を多数配置します。
2
2
 
3
- 要素と要素の間には、一定の余白を入れたいと考えますが div 要素との間には余白を入れたくありません。このような場合、どのようにするのが最もスマートでしょうか?
3
+ 兄弟なる要素の間には、一定の余白を入れたいと考えますが親要素である div 要素の外枠との間には余白を入れたくありません。このような場合、どのようにするのが最もスマートでしょうか?
4
4
 
5
5
 
6
6
 
7
- ただし、inline-block 要素の幅と個数は不定であり**される場合もあります**。
7
+ ただし、inline-block 要素の幅と個数は不定であり**複数にわたる場合もあります**。
8
8
 
9
9
 
10
10
 
@@ -12,7 +12,7 @@
12
12
 
13
13
  div { width: 800px; text-align: left;}
14
14
 
15
- a { display: inline-block; }
15
+ a { display: inline-block; margin:0 1rem 0;}/*これだと外枠との間に余白ができてしまう*/
16
16
 
17
17
  ```
18
18
 

1

css を一部変更

2020/09/15 14:21

投稿

ophiacodon
ophiacodon

スコア24

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  ```CSS
12
12
 
13
- div { width: 800px; }
13
+ div { width: 800px; text-align: left;}
14
14
 
15
15
  a { display: inline-block; }
16
16