回答編集履歴
8
修正
test
CHANGED
@@ -12,13 +12,9 @@
|
|
12
12
|
|
13
13
|
上記条件をすべて実現するのは、CSSだけだと難しそうです。2つまでなら同時に適用することができます、
|
14
14
|
|
15
|
-
|
15
|
+
|
16
|
-
|
16
|
+
|
17
|
-
画面幅が小さいときにどれだけ崩れてもいい
|
17
|
+
**案1: 画面幅が小さいときにどれだけ崩れてもいい、という場合 (1.と2.のパターン)**
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
**案1: 1.と2.のパターン**
|
22
18
|
|
23
19
|
左側のサイドバー「div#rc_rightArea」が、画面スクロール時に追従する
|
24
20
|
|
@@ -92,7 +88,7 @@
|
|
92
88
|
|
93
89
|
---
|
94
90
|
|
95
|
-
**案2: 2.と3.のパターン**
|
91
|
+
**案2: ナビゲーションが追従しなくてもいい、という場合 (2.と3.のパターン)**
|
96
92
|
|
97
93
|
左側のサイドバー「div#rc_rightArea」が、画面スクロール時に追従しない
|
98
94
|
|
@@ -168,7 +164,7 @@
|
|
168
164
|
|
169
165
|
---
|
170
166
|
|
171
|
-
**案3: 1.と3.のパターン**
|
167
|
+
**案3: ナビゲーションが左端にくっついてもいい、という場合 (1.と3.のパターン)**
|
172
168
|
|
173
169
|
左側のサイドバー「div#rc_rightArea」は、左端にくっつくが、追従する
|
174
170
|
|
7
修正
test
CHANGED
@@ -8,11 +8,13 @@
|
|
8
8
|
|
9
9
|
3. 画面幅を小さくしたときに崩れない
|
10
10
|
|
11
|
+
|
12
|
+
|
11
|
-
は、CSSだけだと
|
13
|
+
上記条件をすべて実現するのは、CSSだけだと難しそうです。2つまでなら同時に適用することができます、
|
12
|
-
|
13
|
-
|
14
|
-
|
14
|
+
|
15
|
-
案3が一番簡単かと思います。
|
15
|
+
案3が一番簡単で、現実的かと思います。
|
16
|
+
|
17
|
+
画面幅が小さいときにどれだけ崩れてもいいなら案1です。
|
16
18
|
|
17
19
|
|
18
20
|
|
6
案を3つにし、解説を修正しました。
test
CHANGED
@@ -2,9 +2,25 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
1. スクロール時にナビゲーションが追従
|
6
|
+
|
7
|
+
2. ナビゲーション含めて中央に配置
|
8
|
+
|
9
|
+
3. 画面幅を小さくしたときに崩れない
|
10
|
+
|
11
|
+
は、CSSだけだと実装できなさそうです。2つまでなら同時に適用することができます、
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
案3が一番簡単かと思います。
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
**案1: 1.と2.のパターン**
|
20
|
+
|
5
|
-
|
21
|
+
左側のサイドバー「div#rc_rightArea」が、画面スクロール時に追従する
|
6
|
-
|
22
|
+
|
7
|
-
|
23
|
+
ただし画面幅を小さくしたときにナビゲーションが左端にはみ出る
|
8
24
|
|
9
25
|
```CSS
|
10
26
|
|
@@ -12,12 +28,18 @@
|
|
12
28
|
|
13
29
|
width: 720px;
|
14
30
|
|
31
|
+
|
32
|
+
|
15
33
|
/* display: inline-block; */
|
16
34
|
|
17
35
|
display: block; /* 追加。中央配置のため必要 */
|
18
36
|
|
37
|
+
|
38
|
+
|
19
39
|
font-size: 75%;
|
20
40
|
|
41
|
+
|
42
|
+
|
21
43
|
/* 200px = div#rc_rightAreaのwidth、20px=余白。好きな値にしてください */
|
22
44
|
|
23
45
|
padding-left: calc(200px + 20px);
|
@@ -40,14 +62,20 @@
|
|
40
62
|
|
41
63
|
top: 100px;
|
42
64
|
|
65
|
+
|
66
|
+
|
43
67
|
/* right: 0px; */
|
44
68
|
|
45
69
|
left: calc(50vw - 360px - 100px); /* 追加 */
|
46
70
|
|
71
|
+
|
72
|
+
|
47
73
|
/* display: inline-block; */
|
48
74
|
|
49
75
|
display: block; /* 変更 */
|
50
76
|
|
77
|
+
|
78
|
+
|
51
79
|
background-color: #ffffff;
|
52
80
|
|
53
81
|
z-index: 9999;
|
@@ -62,7 +90,9 @@
|
|
62
90
|
|
63
91
|
---
|
64
92
|
|
93
|
+
**案2: 2.と3.のパターン**
|
94
|
+
|
65
|
-
|
95
|
+
左側のサイドバー「div#rc_rightArea」が、画面スクロール時に追従しない
|
66
96
|
|
67
97
|
```CSS
|
68
98
|
|
@@ -70,16 +100,24 @@
|
|
70
100
|
|
71
101
|
width: 720px;
|
72
102
|
|
103
|
+
|
104
|
+
|
73
105
|
/* display: inline-block; */
|
74
106
|
|
75
107
|
display: block; /* 追加。中央配置のため必要 */
|
76
108
|
|
109
|
+
|
110
|
+
|
77
111
|
font-size: 75%;
|
78
112
|
|
113
|
+
|
114
|
+
|
79
115
|
/* 200px = div#rc_rightAreaのwidth、20px=余白。好きな値にしてください */
|
80
116
|
|
81
117
|
padding-left: calc(200px + 20px);
|
82
118
|
|
119
|
+
|
120
|
+
|
83
121
|
margin: 0 auto; /* 追加。中央配置のため必要 */
|
84
122
|
|
85
123
|
position: relative;
|
@@ -100,14 +138,20 @@
|
|
100
138
|
|
101
139
|
top: 100px;
|
102
140
|
|
141
|
+
|
142
|
+
|
103
143
|
/* right: 0px; */
|
104
144
|
|
105
145
|
left: 0; /* 追加 */
|
106
146
|
|
147
|
+
|
148
|
+
|
107
149
|
/* display: inline-block; */
|
108
150
|
|
109
151
|
display: block; /* 変更 */
|
110
152
|
|
153
|
+
|
154
|
+
|
111
155
|
background-color: #ffffff;
|
112
156
|
|
113
157
|
z-index: 9999;
|
@@ -122,7 +166,9 @@
|
|
122
166
|
|
123
167
|
---
|
124
168
|
|
169
|
+
**案3: 1.と3.のパターン**
|
170
|
+
|
125
|
-
|
171
|
+
左側のサイドバー「div#rc_rightArea」は、左端にくっつくが、追従する
|
126
172
|
|
127
173
|
```CSS
|
128
174
|
|
@@ -140,9 +186,13 @@
|
|
140
186
|
|
141
187
|
width: 720px;
|
142
188
|
|
189
|
+
|
190
|
+
|
143
|
-
/* display: inline-block; */
|
191
|
+
/* display: inline-block; */
|
144
|
-
|
192
|
+
|
145
|
-
display: block; /*
|
193
|
+
display: block; /* 変更。中央配置のため必要 */
|
194
|
+
|
195
|
+
|
146
196
|
|
147
197
|
font-size: 75%;
|
148
198
|
|
@@ -164,14 +214,20 @@
|
|
164
214
|
|
165
215
|
top: 100px;
|
166
216
|
|
217
|
+
|
218
|
+
|
167
219
|
/* right: 0px; */
|
168
220
|
|
169
221
|
left: 0; /* 追加 */
|
170
222
|
|
223
|
+
|
224
|
+
|
171
225
|
/* display: inline-block; */
|
172
226
|
|
173
227
|
display: block; /* 変更 */
|
174
228
|
|
229
|
+
|
230
|
+
|
175
231
|
background-color: #ffffff;
|
176
232
|
|
177
233
|
z-index: 9999;
|
5
案を追加
test
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
案1: 左側のサイドバー「div#rc_rightArea」が、画面スクロール時に追従する
|
6
|
+
|
7
|
+
(ただし画面幅を小さくしたときにナビゲーションが左端にはみ出る)
|
6
8
|
|
7
9
|
```CSS
|
8
10
|
|
@@ -10,7 +12,9 @@
|
|
10
12
|
|
11
13
|
width: 720px;
|
12
14
|
|
13
|
-
display: inline-block;
|
15
|
+
/* display: inline-block; */
|
16
|
+
|
17
|
+
display: block; /* 追加。中央配置のため必要 */
|
14
18
|
|
15
19
|
font-size: 75%;
|
16
20
|
|
@@ -18,9 +22,7 @@
|
|
18
22
|
|
19
23
|
padding-left: calc(200px + 20px);
|
20
24
|
|
21
|
-
display: block;
|
22
|
-
|
23
|
-
margin: 0 auto;
|
25
|
+
margin: 0 auto; /* 追加。中央配置のため必要 */
|
24
26
|
|
25
27
|
}
|
26
28
|
|
@@ -58,6 +60,8 @@
|
|
58
60
|
|
59
61
|
|
60
62
|
|
63
|
+
---
|
64
|
+
|
61
65
|
案2: 左側のサイドバー「div#rc_rightArea」が、画面スクロール時に追従しない
|
62
66
|
|
63
67
|
```CSS
|
@@ -66,7 +70,9 @@
|
|
66
70
|
|
67
71
|
width: 720px;
|
68
72
|
|
69
|
-
display: inline-block;
|
73
|
+
/* display: inline-block; */
|
74
|
+
|
75
|
+
display: block; /* 追加。中央配置のため必要 */
|
70
76
|
|
71
77
|
font-size: 75%;
|
72
78
|
|
@@ -74,9 +80,7 @@
|
|
74
80
|
|
75
81
|
padding-left: calc(200px + 20px);
|
76
82
|
|
77
|
-
display: block;
|
78
|
-
|
79
|
-
margin: 0 auto;
|
83
|
+
margin: 0 auto; /* 追加。中央配置のため必要 */
|
80
84
|
|
81
85
|
position: relative;
|
82
86
|
|
@@ -96,9 +100,9 @@
|
|
96
100
|
|
97
101
|
top: 100px;
|
98
102
|
|
99
|
-
/* right: 0px; */
|
103
|
+
/* right: 0px; */
|
100
104
|
|
101
|
-
left: 0; /*
|
105
|
+
left: 0; /* 追加 */
|
102
106
|
|
103
107
|
/* display: inline-block; */
|
104
108
|
|
@@ -113,3 +117,69 @@
|
|
113
117
|
}
|
114
118
|
|
115
119
|
```
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
---
|
124
|
+
|
125
|
+
案3: 左側のサイドバー「div#rc_rightArea」は、左端にくっつくが、追従する
|
126
|
+
|
127
|
+
```CSS
|
128
|
+
|
129
|
+
body {
|
130
|
+
|
131
|
+
padding-left: 200px;
|
132
|
+
|
133
|
+
}
|
134
|
+
|
135
|
+
```
|
136
|
+
|
137
|
+
```CSS
|
138
|
+
|
139
|
+
#div-contents {
|
140
|
+
|
141
|
+
width: 720px;
|
142
|
+
|
143
|
+
/* display: inline-block; */
|
144
|
+
|
145
|
+
display: block; /* 追加。中央配置のため必要 */
|
146
|
+
|
147
|
+
font-size: 75%;
|
148
|
+
|
149
|
+
margin: 0 auto; /* 追加。中央配置のため必要 */
|
150
|
+
|
151
|
+
}
|
152
|
+
|
153
|
+
```
|
154
|
+
|
155
|
+
```CSS
|
156
|
+
|
157
|
+
div#rc_rightArea {
|
158
|
+
|
159
|
+
width: 200px;
|
160
|
+
|
161
|
+
height: 155px;
|
162
|
+
|
163
|
+
position: fixed;
|
164
|
+
|
165
|
+
top: 100px;
|
166
|
+
|
167
|
+
/* right: 0px; */
|
168
|
+
|
169
|
+
left: 0; /* 追加 */
|
170
|
+
|
171
|
+
/* display: inline-block; */
|
172
|
+
|
173
|
+
display: block; /* 変更 */
|
174
|
+
|
175
|
+
background-color: #ffffff;
|
176
|
+
|
177
|
+
z-index: 9999;
|
178
|
+
|
179
|
+
font-size: 14px;
|
180
|
+
|
181
|
+
left: 0;
|
182
|
+
|
183
|
+
}
|
184
|
+
|
185
|
+
```
|
4
修正
test
CHANGED
@@ -38,9 +38,9 @@
|
|
38
38
|
|
39
39
|
top: 100px;
|
40
40
|
|
41
|
+
/* right: 0px; */
|
42
|
+
|
41
43
|
left: calc(50vw - 360px - 100px); /* 追加 */
|
42
|
-
|
43
|
-
/* right: 0px; */
|
44
44
|
|
45
45
|
/* display: inline-block; */
|
46
46
|
|
@@ -70,6 +70,8 @@
|
|
70
70
|
|
71
71
|
font-size: 75%;
|
72
72
|
|
73
|
+
/* 200px = div#rc_rightAreaのwidth、20px=余白。好きな値にしてください */
|
74
|
+
|
73
75
|
padding-left: calc(200px + 20px);
|
74
76
|
|
75
77
|
display: block;
|
@@ -94,13 +96,13 @@
|
|
94
96
|
|
95
97
|
top: 100px;
|
96
98
|
|
97
|
-
/* right: 0px; */
|
99
|
+
/* right: 0px; */ /* rightは削除 */
|
98
100
|
|
99
|
-
left: 0;
|
101
|
+
left: 0; /* leftを追加 */
|
100
102
|
|
101
103
|
/* display: inline-block; */
|
102
104
|
|
103
|
-
display: block;
|
105
|
+
display: block; /* 変更 */
|
104
106
|
|
105
107
|
background-color: #ffffff;
|
106
108
|
|
3
案を追加しました。
test
CHANGED
@@ -2,25 +2,25 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
案1: 左側のサイドバー「div#rc_rightArea」が追従する
|
5
|
+
案1: 左側のサイドバー「div#rc_rightArea」が、画面スクロール時に追従する
|
6
6
|
|
7
7
|
```CSS
|
8
8
|
|
9
9
|
#div-contents {
|
10
10
|
|
11
|
-
width: 720px;
|
11
|
+
width: 720px;
|
12
12
|
|
13
|
-
display: inline-block;
|
13
|
+
display: inline-block;
|
14
14
|
|
15
|
-
font-size: 75%;
|
15
|
+
font-size: 75%;
|
16
16
|
|
17
|
-
/* 200px = div#rc_rightAreaのwidth、20px=余白。好きな値にしてください */
|
17
|
+
/* 200px = div#rc_rightAreaのwidth、20px=余白。好きな値にしてください */
|
18
18
|
|
19
|
-
padding-left: calc(200px + 20px);
|
19
|
+
padding-left: calc(200px + 20px);
|
20
20
|
|
21
|
-
display: block;
|
21
|
+
display: block;
|
22
22
|
|
23
|
-
margin: 0 auto;
|
23
|
+
margin: 0 auto;
|
24
24
|
|
25
25
|
}
|
26
26
|
|
@@ -30,28 +30,84 @@
|
|
30
30
|
|
31
31
|
div#rc_rightArea {
|
32
32
|
|
33
|
-
width: 200px;
|
33
|
+
width: 200px;
|
34
34
|
|
35
|
-
height: 155px;
|
35
|
+
height: 155px;
|
36
36
|
|
37
|
-
position: fixed;
|
37
|
+
position: fixed;
|
38
38
|
|
39
|
-
top: 100px;
|
39
|
+
top: 100px;
|
40
40
|
|
41
|
-
left: calc(50vw - 360px - 100px); /* 追加 */
|
41
|
+
left: calc(50vw - 360px - 100px); /* 追加 */
|
42
42
|
|
43
|
-
/* right: 0px; */
|
43
|
+
/* right: 0px; */
|
44
44
|
|
45
|
-
/* display: inline-block; */
|
45
|
+
/* display: inline-block; */
|
46
46
|
|
47
|
-
display: block; /* 変更 */
|
47
|
+
display: block; /* 変更 */
|
48
48
|
|
49
|
-
background-color: #ffffff;
|
49
|
+
background-color: #ffffff;
|
50
50
|
|
51
|
-
z-index: 9999;
|
51
|
+
z-index: 9999;
|
52
52
|
|
53
|
-
font-size: 14px;
|
53
|
+
font-size: 14px;
|
54
54
|
|
55
55
|
}
|
56
56
|
|
57
57
|
```
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
案2: 左側のサイドバー「div#rc_rightArea」が、画面スクロール時に追従しない
|
62
|
+
|
63
|
+
```CSS
|
64
|
+
|
65
|
+
#div-contents {
|
66
|
+
|
67
|
+
width: 720px;
|
68
|
+
|
69
|
+
display: inline-block;
|
70
|
+
|
71
|
+
font-size: 75%;
|
72
|
+
|
73
|
+
padding-left: calc(200px + 20px);
|
74
|
+
|
75
|
+
display: block;
|
76
|
+
|
77
|
+
margin: 0 auto;
|
78
|
+
|
79
|
+
position: relative;
|
80
|
+
|
81
|
+
}
|
82
|
+
|
83
|
+
```
|
84
|
+
|
85
|
+
```CSS
|
86
|
+
|
87
|
+
div#rc_rightArea {
|
88
|
+
|
89
|
+
width: 200px;
|
90
|
+
|
91
|
+
height: 155px;
|
92
|
+
|
93
|
+
position: absolute;
|
94
|
+
|
95
|
+
top: 100px;
|
96
|
+
|
97
|
+
/* right: 0px; */
|
98
|
+
|
99
|
+
left: 0;
|
100
|
+
|
101
|
+
/* display: inline-block; */
|
102
|
+
|
103
|
+
display: block;
|
104
|
+
|
105
|
+
background-color: #ffffff;
|
106
|
+
|
107
|
+
z-index: 9999;
|
108
|
+
|
109
|
+
font-size: 14px;
|
110
|
+
|
111
|
+
}
|
112
|
+
|
113
|
+
```
|
2
修正しました。左側にナビゲーションを寄せるようにしています。
test
CHANGED
@@ -1,34 +1,26 @@
|
|
1
1
|
こちらで試してみたところ、以下のソースコードで実現できました。
|
2
|
-
|
3
|
-
↓このイメージですよね?
|
4
|
-
|
5
|
-
![イメージ説明](0569120168202bb12dbef7a49f134cf3.png)
|
6
2
|
|
7
3
|
|
8
4
|
|
9
|
-
案1:
|
5
|
+
案1: 左側のサイドバー「div#rc_rightArea」が追従する
|
10
6
|
|
11
7
|
```CSS
|
12
8
|
|
13
9
|
#div-contents {
|
14
10
|
|
15
|
-
|
11
|
+
width: 720px;
|
16
12
|
|
17
|
-
|
13
|
+
display: inline-block;
|
18
14
|
|
19
|
-
|
15
|
+
font-size: 75%;
|
20
16
|
|
21
|
-
|
17
|
+
/* 200px = div#rc_rightAreaのwidth、20px=余白。好きな値にしてください */
|
22
18
|
|
23
|
-
|
19
|
+
padding-left: calc(200px + 20px);
|
24
20
|
|
25
|
-
|
21
|
+
display: block;
|
26
22
|
|
27
|
-
|
28
|
-
|
29
|
-
/* 200px = div#rc_rightAreaのwidth、20px=余白。好きな値にしてください */
|
30
|
-
|
31
|
-
|
23
|
+
margin: 0 auto;
|
32
24
|
|
33
25
|
}
|
34
26
|
|
@@ -46,11 +38,13 @@
|
|
46
38
|
|
47
39
|
top: 100px;
|
48
40
|
|
49
|
-
|
41
|
+
left: calc(50vw - 360px - 100px); /* 追加 */
|
50
42
|
|
51
|
-
right:
|
43
|
+
/* right: 0px; */
|
52
44
|
|
53
|
-
display: inline-block;
|
45
|
+
/* display: inline-block; */
|
46
|
+
|
47
|
+
display: block; /* 変更 */
|
54
48
|
|
55
49
|
background-color: #ffffff;
|
56
50
|
|
1
修正
test
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
こちらで試してみたところ、以下のソースコードで実現できました。
|
2
2
|
|
3
|
+
↓このイメージですよね?
|
3
4
|
|
5
|
+
![イメージ説明](0569120168202bb12dbef7a49f134cf3.png)
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
案1: 右側のサイドバー「div#rc_rightArea」が追従する
|
4
10
|
|
5
11
|
```CSS
|
6
12
|
|