Update style.css
Browse files
style.css
CHANGED
@@ -1,33 +1,19 @@
|
|
1 |
-
/* FontAwesome ์์ด์ฝ ํฌํจ */
|
2 |
-
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css");
|
3 |
-
|
4 |
-
:root {
|
5 |
-
--primary-color: #FF7F00;
|
6 |
-
--secondary-color: #ff9a8b;
|
7 |
-
--accent-color: #FF6B6B;
|
8 |
-
--background-color: #FFFFFF;
|
9 |
-
--card-bg: #ffffff;
|
10 |
-
--text-color: #334155;
|
11 |
-
--border-radius: 18px;
|
12 |
-
--shadow: 0 8px 30px rgba(251, 127, 13, 0.08);
|
13 |
-
}
|
14 |
-
|
15 |
body {
|
16 |
-
font-family: '
|
17 |
line-height: 1.6;
|
18 |
margin: 0;
|
19 |
padding: 0;
|
20 |
-
background-color:
|
21 |
-
color:
|
22 |
}
|
23 |
|
24 |
.container {
|
25 |
-
max-width: 1200px;
|
26 |
margin: 20px auto;
|
27 |
padding: 20px;
|
28 |
background-color: white;
|
29 |
-
box-shadow:
|
30 |
-
border-radius:
|
31 |
display: flex;
|
32 |
flex-direction: column;
|
33 |
}
|
@@ -42,28 +28,6 @@ p {
|
|
42 |
margin-bottom: 20px;
|
43 |
}
|
44 |
|
45 |
-
/* ํค๋ ์น์
์คํ์ผ */
|
46 |
-
.container > h1 {
|
47 |
-
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
|
48 |
-
color: white;
|
49 |
-
padding: 2rem;
|
50 |
-
border-radius: 15px;
|
51 |
-
margin-bottom: 20px;
|
52 |
-
box-shadow: var(--shadow);
|
53 |
-
font-size: 2.5rem;
|
54 |
-
font-weight: 700;
|
55 |
-
}
|
56 |
-
|
57 |
-
.container > p {
|
58 |
-
background-color: #FFF6F0;
|
59 |
-
border-radius: var(--border-radius);
|
60 |
-
padding: 1.5rem;
|
61 |
-
margin-bottom: 1.5rem;
|
62 |
-
border: 1px solid rgba(255, 127, 0, 0.1);
|
63 |
-
color: var(--text-color);
|
64 |
-
font-size: 1.1rem;
|
65 |
-
}
|
66 |
-
|
67 |
.upload-container {
|
68 |
display: flex;
|
69 |
flex-wrap: wrap;
|
@@ -75,23 +39,22 @@ p {
|
|
75 |
.upload-box {
|
76 |
flex: 1;
|
77 |
min-width: 300px;
|
78 |
-
border: 2px
|
79 |
-
border-radius:
|
80 |
padding: 20px;
|
81 |
text-align: center;
|
82 |
transition: background-color 0.3s;
|
83 |
-
background-color: #FFF6F0;
|
84 |
}
|
85 |
|
86 |
.upload-box:hover {
|
87 |
-
background-color: #
|
88 |
}
|
89 |
|
90 |
.upload-label {
|
91 |
display: block;
|
92 |
font-weight: bold;
|
93 |
margin-bottom: 10px;
|
94 |
-
color:
|
95 |
}
|
96 |
|
97 |
.file-input {
|
@@ -100,104 +63,77 @@ p {
|
|
100 |
|
101 |
.upload-button {
|
102 |
display: inline-block;
|
103 |
-
background
|
104 |
color: white;
|
105 |
padding: 10px 20px;
|
106 |
-
border-radius:
|
107 |
cursor: pointer;
|
108 |
-
transition:
|
109 |
-
font-weight: 600;
|
110 |
-
box-shadow: 0 4px 8px rgba(251, 127, 13, 0.25);
|
111 |
}
|
112 |
|
113 |
.upload-button:hover {
|
114 |
-
|
115 |
-
box-shadow: 0 6px 12px rgba(251, 127, 13, 0.3);
|
116 |
}
|
117 |
|
118 |
/* ์์
์์ญ ๋ํผ */
|
119 |
.workspace-wrapper {
|
120 |
-
display: flex;
|
121 |
-
flex-wrap: wrap;
|
122 |
gap: 20px;
|
123 |
margin-bottom: 20px;
|
124 |
}
|
125 |
|
126 |
/* ์บ๋ฒ์ค์ ์ปจํธ๋กค ํจ๋๋ค์ ๋ฌถ๋ ์์ญ */
|
127 |
.canvas-and-controls {
|
128 |
-
flex: 3;
|
129 |
display: flex;
|
130 |
-
flex-direction: column;
|
131 |
-
min-width: 0;
|
132 |
}
|
133 |
|
134 |
.canvas-container {
|
135 |
position: relative;
|
136 |
-
width: 100%;
|
137 |
-
|
138 |
-
border
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
}
|
143 |
|
144 |
#canvas {
|
145 |
-
display: block;
|
146 |
-
width: 100%;
|
147 |
-
height: auto;
|
148 |
background-color: #ffffff;
|
149 |
cursor: default;
|
150 |
}
|
151 |
|
152 |
-
/* ์ปจํธ๋กค ํจ๋๋ค์ ๋ชจ์๋๋ ์ฌ์ด๋๋ฐ ์ญํ */
|
153 |
.control-panel-sidebar {
|
154 |
display: flex;
|
155 |
flex-direction: column;
|
156 |
gap: 15px;
|
|
|
157 |
}
|
158 |
|
|
|
159 |
.control-group {
|
160 |
display: flex;
|
161 |
flex-direction: column;
|
162 |
-
|
|
|
163 |
padding: 15px;
|
164 |
-
border-radius:
|
165 |
-
background-color: #
|
166 |
-
|
167 |
}
|
168 |
|
169 |
.control-group h3 {
|
170 |
margin: 0 0 15px 0;
|
171 |
-
font-size:
|
172 |
text-align: center;
|
173 |
width: 100%;
|
174 |
-
color: var(--primary-color);
|
175 |
-
font-weight: 700;
|
176 |
-
padding-bottom: 8px;
|
177 |
-
border-bottom: 2px solid var(--primary-color);
|
178 |
-
display: flex;
|
179 |
-
align-items: center;
|
180 |
-
justify-content: center;
|
181 |
-
}
|
182 |
-
|
183 |
-
/* ๊ฐ ์ปจํธ๋กค ๊ทธ๋ฃน ์์ด์ฝ ์ถ๊ฐ */
|
184 |
-
.control-group h3::before {
|
185 |
-
font-family: "Font Awesome 6 Free";
|
186 |
-
margin-right: 10px;
|
187 |
-
color: var(--primary-color);
|
188 |
-
font-weight: 900;
|
189 |
-
}
|
190 |
-
|
191 |
-
.control-group:nth-of-type(1) h3::before {
|
192 |
-
content: "\f547"; /* ํฌ๊ธฐ ์กฐ์ ์์ด์ฝ */
|
193 |
-
}
|
194 |
-
|
195 |
-
.control-group:nth-of-type(2) h3::before {
|
196 |
-
content: "\f03e"; /* ์ด๋ฏธ์ง ์์ด์ฝ */
|
197 |
-
}
|
198 |
-
|
199 |
-
#layers-panel h3::before {
|
200 |
-
content: "\f5fd"; /* ๋ ์ด์ด ์์ด์ฝ */
|
201 |
}
|
202 |
|
203 |
.slider-container {
|
@@ -212,25 +148,21 @@ p {
|
|
212 |
|
213 |
.slider-container label {
|
214 |
font-weight: bold;
|
215 |
-
min-width: 50px;
|
216 |
text-align: left;
|
217 |
flex-shrink: 0;
|
218 |
-
color: #444;
|
219 |
}
|
220 |
|
221 |
.slider-container input[type="range"] {
|
222 |
-
flex-grow: 1;
|
223 |
-
width: auto;
|
224 |
-
margin: 0 5px;
|
225 |
-
accent-color: var(--primary-color);
|
226 |
}
|
227 |
|
228 |
.slider-container .value-display {
|
229 |
-
min-width: 40px;
|
230 |
-
text-align: right;
|
231 |
flex-shrink: 0;
|
232 |
-
font-weight: 600;
|
233 |
-
color: var(--primary-color);
|
234 |
}
|
235 |
|
236 |
/* ๋ ์ด์ด ๋ชฉ๋ก ์คํ์ผ */
|
@@ -238,13 +170,12 @@ p {
|
|
238 |
width: 100%;
|
239 |
max-height: 150px;
|
240 |
overflow-y: auto;
|
241 |
-
border: 1px solid
|
242 |
-
border-radius:
|
243 |
-
background-color: white;
|
244 |
}
|
245 |
|
246 |
.layer-item {
|
247 |
-
padding:
|
248 |
border-bottom: 1px solid #eee;
|
249 |
cursor: pointer;
|
250 |
display: flex;
|
@@ -252,159 +183,67 @@ p {
|
|
252 |
align-items: center;
|
253 |
}
|
254 |
.layer-item:last-child { border-bottom: none; }
|
255 |
-
.layer-item:hover { background-color: #
|
256 |
-
.layer-item.active { background-color:
|
257 |
.layer-name { flex-grow: 1; padding-left: 5px; }
|
258 |
.layer-controls { display: flex; gap: 5px; }
|
259 |
.layer-button {
|
260 |
-
background-color:
|
261 |
-
|
262 |
-
border-radius: 10px;
|
263 |
-
padding: 2px 8px;
|
264 |
-
cursor: pointer;
|
265 |
-
font-size: 11px;
|
266 |
-
color: var(--primary-color);
|
267 |
transition: all 0.2s ease;
|
268 |
}
|
269 |
-
.layer-button:hover {
|
270 |
-
|
271 |
-
color: white;
|
272 |
-
}
|
273 |
|
274 |
/* ํํฐ ํจ๋ ์คํ์ผ */
|
275 |
.filter-panel {
|
|
|
276 |
padding: 15px;
|
277 |
-
border: 1px solid
|
278 |
-
border-radius:
|
279 |
-
background-color: #
|
280 |
-
box-shadow: var(--shadow);
|
281 |
-
}
|
282 |
-
|
283 |
-
.filter-panel h3 {
|
284 |
-
margin: 0 0 15px 0;
|
285 |
-
text-align: center;
|
286 |
-
color: var(--primary-color);
|
287 |
-
font-weight: 700;
|
288 |
-
padding-bottom: 8px;
|
289 |
-
border-bottom: 2px solid var(--primary-color);
|
290 |
-
display: flex;
|
291 |
-
align-items: center;
|
292 |
-
justify-content: center;
|
293 |
-
}
|
294 |
-
|
295 |
-
.filter-panel h3::before {
|
296 |
-
content: "\f06e"; /* ํํฐ ์์ด์ฝ */
|
297 |
-
font-family: "Font Awesome 6 Free";
|
298 |
-
margin-right: 10px;
|
299 |
-
color: var(--primary-color);
|
300 |
-
font-weight: 900;
|
301 |
-
}
|
302 |
-
|
303 |
-
.filter-sliders {
|
304 |
-
display: grid;
|
305 |
-
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
306 |
-
gap: 15px;
|
307 |
-
}
|
308 |
-
|
309 |
-
.filter-slider-container {
|
310 |
-
display: flex;
|
311 |
-
flex-direction: column;
|
312 |
-
gap: 5px;
|
313 |
-
width: 100%;
|
314 |
-
padding: 0 5px;
|
315 |
-
box-sizing: border-box;
|
316 |
-
}
|
317 |
-
|
318 |
-
.filter-slider-container label {
|
319 |
-
font-size: 14px;
|
320 |
-
margin-bottom: 5px;
|
321 |
-
text-align: left;
|
322 |
-
font-weight: 600;
|
323 |
-
color: #444;
|
324 |
-
}
|
325 |
-
|
326 |
-
.large-slider {
|
327 |
-
width: 100%;
|
328 |
-
height: 20px;
|
329 |
-
accent-color: var(--primary-color);
|
330 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
331 |
|
332 |
-
.filter-slider-container .value-display {
|
333 |
-
text-align: right;
|
334 |
-
font-weight: bold;
|
335 |
-
color: var(--primary-color);
|
336 |
-
}
|
337 |
-
|
338 |
-
.filter-buttons {
|
339 |
-
display: flex;
|
340 |
-
justify-content: center;
|
341 |
-
margin-top: 15px;
|
342 |
-
}
|
343 |
-
|
344 |
-
#reset-filter-btn {
|
345 |
-
width: auto;
|
346 |
-
padding: 8px 15px;
|
347 |
-
flex-grow: 1;
|
348 |
-
max-width: 200px;
|
349 |
-
background: linear-gradient(135deg, #e74c3c, #c0392b);
|
350 |
-
color: white;
|
351 |
-
border-radius: 30px;
|
352 |
-
border: none;
|
353 |
-
font-weight: 600;
|
354 |
-
box-shadow: 0 4px 8px rgba(231, 76, 60, 0.25);
|
355 |
-
transition: all 0.3s ease;
|
356 |
-
}
|
357 |
-
|
358 |
-
#reset-filter-btn:hover {
|
359 |
-
transform: translateY(-2px);
|
360 |
-
box-shadow: 0 6px 12px rgba(231, 76, 60, 0.3);
|
361 |
-
}
|
362 |
|
363 |
/* ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์น์
*/
|
364 |
.preview-section {
|
365 |
-
flex: 2;
|
366 |
-
display: flex;
|
367 |
flex-direction: column;
|
368 |
-
align-items: center;
|
369 |
-
min-width: 0;
|
370 |
}
|
371 |
|
372 |
.preview-container {
|
373 |
-
width: 100%;
|
374 |
-
margin-top: 0;
|
375 |
-
display: none;
|
376 |
flex-direction: column;
|
377 |
align-items: center;
|
378 |
-
padding:
|
379 |
-
border:
|
380 |
-
border-radius:
|
381 |
-
background-color: #
|
382 |
-
box-shadow: var(--shadow);
|
383 |
}
|
384 |
|
385 |
.preview-container h3 {
|
386 |
-
margin-bottom:
|
387 |
-
color: var(--primary-color);
|
388 |
-
font-weight: 700;
|
389 |
-
display: flex;
|
390 |
-
align-items: center;
|
391 |
-
}
|
392 |
-
|
393 |
-
.preview-container h3::before {
|
394 |
-
content: "\f06e"; /* ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์์ด์ฝ */
|
395 |
-
font-family: "Font Awesome 6 Free";
|
396 |
-
margin-right: 10px;
|
397 |
-
color: var(--primary-color);
|
398 |
-
font-weight: 900;
|
399 |
}
|
400 |
|
401 |
#preview-img {
|
402 |
max-width: 100%;
|
403 |
-
max-height: 400px;
|
404 |
-
border: 2px solid
|
405 |
-
border-radius:
|
406 |
-
object-fit: contain;
|
407 |
-
box-shadow: var(--shadow);
|
408 |
}
|
409 |
|
410 |
/* ํ๋จ ๋ฒํผ ์ปจํ
์ด๋ */
|
@@ -412,100 +251,42 @@ p {
|
|
412 |
display: flex;
|
413 |
justify-content: center;
|
414 |
gap: 15px;
|
415 |
-
margin-top: 20px;
|
416 |
flex-wrap: wrap;
|
417 |
}
|
418 |
|
419 |
button {
|
420 |
padding: 10px 20px;
|
421 |
border: none;
|
422 |
-
border-radius:
|
423 |
cursor: pointer;
|
424 |
font-weight: bold;
|
425 |
-
transition:
|
426 |
-
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
|
427 |
-
}
|
428 |
-
|
429 |
-
button:hover {
|
430 |
-
transform: translateY(-2px);
|
431 |
-
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
|
432 |
-
}
|
433 |
-
|
434 |
-
.primary-btn {
|
435 |
-
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
|
436 |
-
color: white;
|
437 |
-
box-shadow: 0 4px 8px rgba(251, 127, 13, 0.25);
|
438 |
-
}
|
439 |
-
|
440 |
-
.primary-btn:hover {
|
441 |
-
box-shadow: 0 6px 12px rgba(251, 127, 13, 0.3);
|
442 |
-
}
|
443 |
-
|
444 |
-
.danger-btn {
|
445 |
-
background: linear-gradient(135deg, #e74c3c, #c0392b);
|
446 |
-
color: white;
|
447 |
-
box-shadow: 0 4px 8px rgba(231, 76, 60, 0.25);
|
448 |
-
}
|
449 |
-
|
450 |
-
.danger-btn:hover {
|
451 |
-
box-shadow: 0 6px 12px rgba(231, 76, 60, 0.3);
|
452 |
-
}
|
453 |
-
|
454 |
-
.info-btn {
|
455 |
-
background: linear-gradient(135deg, #3498db, #2980b9);
|
456 |
-
color: white;
|
457 |
-
box-shadow: 0 4px 8px rgba(52, 152, 219, 0.25);
|
458 |
-
}
|
459 |
-
|
460 |
-
.info-btn:hover {
|
461 |
-
box-shadow: 0 6px 12px rgba(52, 152, 219, 0.3);
|
462 |
-
}
|
463 |
-
|
464 |
-
/* ์์ ์ด๋ฏธ์ง ์คํ์ผ */
|
465 |
-
#example-images-container img {
|
466 |
-
border: 2px solid #ddd;
|
467 |
-
border-radius: 10px;
|
468 |
-
transition: all 0.3s ease;
|
469 |
-
}
|
470 |
-
|
471 |
-
#example-images-container img:hover {
|
472 |
-
transform: scale(1.05);
|
473 |
-
border-color: var(--primary-color);
|
474 |
-
box-shadow: 0 4px 10px rgba(251, 127, 13, 0.2);
|
475 |
-
}
|
476 |
-
|
477 |
-
/* ์คํฌ๋กค๋ฐ ์คํ์ผ๋ง */
|
478 |
-
::-webkit-scrollbar {
|
479 |
-
width: 8px;
|
480 |
-
height: 8px;
|
481 |
-
}
|
482 |
-
|
483 |
-
::-webkit-scrollbar-track {
|
484 |
-
background: rgba(0, 0, 0, 0.05);
|
485 |
-
border-radius: 10px;
|
486 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
487 |
|
488 |
-
::-webkit-scrollbar-thumb {
|
489 |
-
background: var(--primary-color);
|
490 |
-
border-radius: 10px;
|
491 |
-
}
|
492 |
|
493 |
/* ๋ชจ๋ฐ์ผ ๋์ */
|
494 |
-
@media (max-width: 900px) {
|
495 |
.workspace-wrapper {
|
496 |
-
flex-direction: column;
|
497 |
-
align-items: center;
|
498 |
}
|
499 |
.canvas-and-controls, .preview-section {
|
500 |
-
flex-basis: auto;
|
501 |
-
width: 100%;
|
502 |
-
max-width: 600px;
|
503 |
}
|
504 |
.control-panel-sidebar {
|
505 |
-
width: 100%;
|
506 |
}
|
507 |
.filter-sliders {
|
508 |
-
grid-template-columns: 1fr;
|
509 |
}
|
510 |
}
|
511 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
body {
|
2 |
+
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
3 |
line-height: 1.6;
|
4 |
margin: 0;
|
5 |
padding: 0;
|
6 |
+
background-color: #f0f0f0;
|
7 |
+
color: #333;
|
8 |
}
|
9 |
|
10 |
.container {
|
11 |
+
max-width: 1200px; /* ํ์ด์ง ์ ์ฒด ์ปจํ
์ด๋ ์ต๋ ๋๋น */
|
12 |
margin: 20px auto;
|
13 |
padding: 20px;
|
14 |
background-color: white;
|
15 |
+
box-shadow: 0 0 10px rgba(0,0,0,0.1);
|
16 |
+
border-radius: 8px;
|
17 |
display: flex;
|
18 |
flex-direction: column;
|
19 |
}
|
|
|
28 |
margin-bottom: 20px;
|
29 |
}
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
.upload-container {
|
32 |
display: flex;
|
33 |
flex-wrap: wrap;
|
|
|
39 |
.upload-box {
|
40 |
flex: 1;
|
41 |
min-width: 300px;
|
42 |
+
border: 2px dashed #3498db;
|
43 |
+
border-radius: 5px;
|
44 |
padding: 20px;
|
45 |
text-align: center;
|
46 |
transition: background-color 0.3s;
|
|
|
47 |
}
|
48 |
|
49 |
.upload-box:hover {
|
50 |
+
background-color: #ecf0f1;
|
51 |
}
|
52 |
|
53 |
.upload-label {
|
54 |
display: block;
|
55 |
font-weight: bold;
|
56 |
margin-bottom: 10px;
|
57 |
+
color: #2980b9;
|
58 |
}
|
59 |
|
60 |
.file-input {
|
|
|
63 |
|
64 |
.upload-button {
|
65 |
display: inline-block;
|
66 |
+
background-color: #3498db;
|
67 |
color: white;
|
68 |
padding: 10px 20px;
|
69 |
+
border-radius: 5px;
|
70 |
cursor: pointer;
|
71 |
+
transition: background-color 0.3s;
|
|
|
|
|
72 |
}
|
73 |
|
74 |
.upload-button:hover {
|
75 |
+
background-color: #2980b9;
|
|
|
76 |
}
|
77 |
|
78 |
/* ์์
์์ญ ๋ํผ */
|
79 |
.workspace-wrapper {
|
80 |
+
display: flex; /* ์บ๋ฒ์ค+์ปจํธ๋กค ์์ญ๊ณผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์์ญ์ ๊ฐ๋ก๋ก ๋ฐฐ์น */
|
81 |
+
flex-wrap: wrap; /* ํ๋ฉด์ด ์์ ๊ฒฝ์ฐ ์ค๋ฐ๊ฟ ํ์ฉ */
|
82 |
gap: 20px;
|
83 |
margin-bottom: 20px;
|
84 |
}
|
85 |
|
86 |
/* ์บ๋ฒ์ค์ ์ปจํธ๋กค ํจ๋๋ค์ ๋ฌถ๋ ์์ญ */
|
87 |
.canvas-and-controls {
|
88 |
+
flex: 3; /* ๊ฐ๋ก ๋ฐฐ์น ์ ๋น์จ (์บ๋ฒ์ค ์์ญ์ด ๋ ๋๊ฒ) */
|
89 |
display: flex;
|
90 |
+
flex-direction: column; /* ์บ๋ฒ์ค ์๋์ ์ปจํธ๋กค ํจ๋ ๋ฐฐ์น (ํ์์ ๊ตฌ์กฐ ๋ณ๊ฒฝ) */
|
91 |
+
min-width: 0; /* flex item์ ๋ด์ฉ์ด ๋์น ๋ ์์ถํ๋๋ก ํจ */
|
92 |
}
|
93 |
|
94 |
.canvas-container {
|
95 |
position: relative;
|
96 |
+
width: 100%; /* ๋ถ๋ชจ ๋๋น์ ๋ง์ถค */
|
97 |
+
/* max-width: 800px; /* ์บ๋ฒ์ค ์ต๋ ๋๋น๋ JS์์ ์ค์ ๋ CANVAS_WIDTH์ ๋ฐ๋ฆ */
|
98 |
+
border: 2px solid #333;
|
99 |
+
border-radius: 4px;
|
100 |
+
overflow: hidden; /* ์บ๋ฒ์ค๊ฐ ๋์น์ง ์๋๋ก */
|
101 |
+
margin-bottom: 20px; /* ์ปจํธ๋กค ํจ๋๊ณผ์ ๊ฐ๊ฒฉ */
|
102 |
}
|
103 |
|
104 |
#canvas {
|
105 |
+
display: block; /* ํ๋จ ์ฌ๋ฐฑ ์ ๊ฑฐ */
|
106 |
+
width: 100%; /* canvas-container์ ๊ฝ ์ฐจ๊ฒ */
|
107 |
+
height: auto; /* ๋น์จ ์ ์ง */
|
108 |
background-color: #ffffff;
|
109 |
cursor: default;
|
110 |
}
|
111 |
|
112 |
+
/* ์ปจํธ๋กค ํจ๋๋ค์ ๋ชจ์๋๋ ์ฌ์ด๋๋ฐ ์ญํ (๋๋ ์บ๋ฒ์ค ์๋ ์์ญ) */
|
113 |
.control-panel-sidebar {
|
114 |
display: flex;
|
115 |
flex-direction: column;
|
116 |
gap: 15px;
|
117 |
+
/* flex: 1; /* canvas-and-controls ๋ด์์ ๋น์จ (ํ์์) */
|
118 |
}
|
119 |
|
120 |
+
|
121 |
.control-group {
|
122 |
display: flex;
|
123 |
flex-direction: column;
|
124 |
+
/* align-items: center; ํญ๋ชฉ๋ค์ด ์ค์ ์ ๋ ฌ๋๏ฟฝ๏ฟฝ ์๋๋ก ์ ๊ฑฐ ๋๋ ์์ */
|
125 |
+
border: 1px solid #ddd;
|
126 |
padding: 15px;
|
127 |
+
border-radius: 5px;
|
128 |
+
background-color: #f9f9f9;
|
129 |
+
/* min-width: 250px; /* ์ต์ ๋๋น๋ ์ํฉ์ ๋ฐ๋ผ ์กฐ์ */
|
130 |
}
|
131 |
|
132 |
.control-group h3 {
|
133 |
margin: 0 0 15px 0;
|
134 |
+
font-size: 1rem;
|
135 |
text-align: center;
|
136 |
width: 100%;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
}
|
138 |
|
139 |
.slider-container {
|
|
|
148 |
|
149 |
.slider-container label {
|
150 |
font-weight: bold;
|
151 |
+
min-width: 50px; /* "ํ์ :" ๋ฑ ๋ ์ด๋ธ์ด ์๋ฆฌ์ง ์๋๋ก ์ถฉ๋ถํ */
|
152 |
text-align: left;
|
153 |
flex-shrink: 0;
|
|
|
154 |
}
|
155 |
|
156 |
.slider-container input[type="range"] {
|
157 |
+
flex-grow: 1; /* ์ฌ๋ผ์ด๋๊ฐ ๋จ์ ๊ณต๊ฐ์ ๋ชจ๋ ์ฐจ์ง */
|
158 |
+
width: auto; /* flex-grow๊ฐ ์๋ํ๋๋ก auto๋ก ์ค์ */
|
159 |
+
margin: 0 5px; /* ์ข์ฐ ์ฝ๊ฐ์ ์ฌ๋ฐฑ */
|
|
|
160 |
}
|
161 |
|
162 |
.slider-container .value-display {
|
163 |
+
min-width: 40px; /* ๊ฐ ํ์ ์์ญ ๋๋น */
|
164 |
+
text-align: right; /* ๊ฐ์ ์ค๋ฅธ์ชฝ์ ํ์ */
|
165 |
flex-shrink: 0;
|
|
|
|
|
166 |
}
|
167 |
|
168 |
/* ๋ ์ด์ด ๋ชฉ๋ก ์คํ์ผ */
|
|
|
170 |
width: 100%;
|
171 |
max-height: 150px;
|
172 |
overflow-y: auto;
|
173 |
+
border: 1px solid #ddd;
|
174 |
+
border-radius: 4px;
|
|
|
175 |
}
|
176 |
|
177 |
.layer-item {
|
178 |
+
padding: 8px;
|
179 |
border-bottom: 1px solid #eee;
|
180 |
cursor: pointer;
|
181 |
display: flex;
|
|
|
183 |
align-items: center;
|
184 |
}
|
185 |
.layer-item:last-child { border-bottom: none; }
|
186 |
+
.layer-item:hover { background-color: #f5f5f5; }
|
187 |
+
.layer-item.active { background-color: #e3f2fd; font-weight: bold; }
|
188 |
.layer-name { flex-grow: 1; padding-left: 5px; }
|
189 |
.layer-controls { display: flex; gap: 5px; }
|
190 |
.layer-button {
|
191 |
+
background-color: #f0f0f0; border: 1px solid #ddd; border-radius: 3px;
|
192 |
+
padding: 2px 5px; cursor: pointer; font-size: 11px; color: #555;
|
|
|
|
|
|
|
|
|
|
|
193 |
transition: all 0.2s ease;
|
194 |
}
|
195 |
+
.layer-button:hover { background-color: #e0e0e0; }
|
196 |
+
|
|
|
|
|
197 |
|
198 |
/* ํํฐ ํจ๋ ์คํ์ผ */
|
199 |
.filter-panel {
|
200 |
+
/* width: 100%; /* ๋ถ๋ชจ(.control-panel-sidebar)์ ์ํด ๋๋น ๊ฒฐ์ */
|
201 |
padding: 15px;
|
202 |
+
border: 1px solid #ddd;
|
203 |
+
border-radius: 5px;
|
204 |
+
background-color: #f9f9f9;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
}
|
206 |
+
.filter-panel h3 { margin: 0 0 15px 0; text-align: center; }
|
207 |
+
.filter-sliders { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 15px; }
|
208 |
+
.filter-slider-container { display: flex; flex-direction: column; gap: 5px; width: 100%; padding: 0 5px; box-sizing: border-box; }
|
209 |
+
.filter-slider-container label { font-size: 14px; margin-bottom: 5px; text-align: left; }
|
210 |
+
.large-slider { width: 100%; height: 20px; /* ์ฌ๋ผ์ด๋ ๋์ด ์กฐ์ */ }
|
211 |
+
.filter-slider-container .value-display { text-align: right; font-weight: bold; }
|
212 |
+
.filter-buttons { display: flex; justify-content: center; margin-top: 15px; }
|
213 |
+
#reset-filter-btn { width: auto; padding: 8px 15px; flex-grow: 1; max-width: 200px; }
|
214 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
215 |
|
216 |
/* ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์น์
*/
|
217 |
.preview-section {
|
218 |
+
flex: 2; /* ๊ฐ๋ก ๋ฐฐ์น ์ ๋น์จ (์บ๋ฒ์ค ์์ญ๋ณด๋ค ์๊ฒ) */
|
219 |
+
display: flex; /* ๋ด๋ถ ์ปจํ
์ด๋ ์ ๋ ฌ ์ํจ */
|
220 |
flex-direction: column;
|
221 |
+
align-items: center; /* ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ปจํ
์ด๋๋ฅผ ์ค์์ */
|
222 |
+
min-width: 0; /* flex item์ ๋ด์ฉ์ด ๋์น ๋ ์์ถํ๋๋ก ํจ */
|
223 |
}
|
224 |
|
225 |
.preview-container {
|
226 |
+
width: 100%; /* preview-section ๋๋น์ ๋ง์ถค */
|
227 |
+
margin-top: 0; /* workspace-wrapper์์ gap์ผ๋ก ์ฒ๋ฆฌ */
|
228 |
+
display: none; /* ์ด๊ธฐ์๋ ์จ๊น (JS๋ก ์ ์ด) */
|
229 |
flex-direction: column;
|
230 |
align-items: center;
|
231 |
+
padding: 10px;
|
232 |
+
border: 1px dashed #ccc;
|
233 |
+
border-radius: 4px;
|
234 |
+
background-color: #f9f9f9;
|
|
|
235 |
}
|
236 |
|
237 |
.preview-container h3 {
|
238 |
+
margin-bottom: 10px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
239 |
}
|
240 |
|
241 |
#preview-img {
|
242 |
max-width: 100%;
|
243 |
+
max-height: 400px; /* ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ด๋ฏธ์ง ์ต๋ ๋์ด ์ ํ */
|
244 |
+
border: 2px solid #333;
|
245 |
+
border-radius: 4px;
|
246 |
+
object-fit: contain; /* ์ด๋ฏธ์ง ๋น์จ ์ ์ง */
|
|
|
247 |
}
|
248 |
|
249 |
/* ํ๋จ ๋ฒํผ ์ปจํ
์ด๋ */
|
|
|
251 |
display: flex;
|
252 |
justify-content: center;
|
253 |
gap: 15px;
|
254 |
+
margin-top: 20px; /* workspace-wrapper ์์ ๊ฐ๊ฒฉ */
|
255 |
flex-wrap: wrap;
|
256 |
}
|
257 |
|
258 |
button {
|
259 |
padding: 10px 20px;
|
260 |
border: none;
|
261 |
+
border-radius: 5px;
|
262 |
cursor: pointer;
|
263 |
font-weight: bold;
|
264 |
+
transition: background-color 0.3s;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
265 |
}
|
266 |
+
.primary-btn { background-color: #27ae60; color: white; }
|
267 |
+
.primary-btn:hover { background-color: #219653; }
|
268 |
+
.danger-btn { background-color: #e74c3c; color: white; }
|
269 |
+
.danger-btn:hover { background-color: #c0392b; }
|
270 |
+
.info-btn { background-color: #3498db; color: white; }
|
271 |
+
.info-btn:hover { background-color: #2980b9; }
|
272 |
|
|
|
|
|
|
|
|
|
273 |
|
274 |
/* ๋ชจ๋ฐ์ผ ๋์ */
|
275 |
+
@media (max-width: 900px) { /* ์ข ๋ ๋์ ํ๋ฉด์์๋ถํฐ ๋ ์ด์์ ๋ณ๊ฒฝ ๊ณ ๋ ค */
|
276 |
.workspace-wrapper {
|
277 |
+
flex-direction: column; /* ์์
์์ญ๊ณผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์ธ๋ก๋ก ๋ฐฐ์น */
|
278 |
+
align-items: center; /* ์ค์ ์ ๋ ฌ */
|
279 |
}
|
280 |
.canvas-and-controls, .preview-section {
|
281 |
+
flex-basis: auto; /* flex ๋น์จ ์ด๊ธฐํ */
|
282 |
+
width: 100%; /* ์ ์ฒด ๋๋น ์ฌ์ฉ */
|
283 |
+
max-width: 600px; /* ๋ชจ๋ฐ์ผ์์ ๋๋ฌด ๋์ด์ง์ง ์๋๋ก */
|
284 |
}
|
285 |
.control-panel-sidebar {
|
286 |
+
width: 100%; /* ์ ์ฒด ๋๋น ์ฌ์ฉ */
|
287 |
}
|
288 |
.filter-sliders {
|
289 |
+
grid-template-columns: 1fr; /* ํํฐ ์ฌ๋ผ์ด๋ ํ ์ค๋ก */
|
290 |
}
|
291 |
}
|
292 |
|