Spaces:
Sleeping
Sleeping
Commit
·
1b86f72
1
Parent(s):
4f1105b
Refine responsive CSS for mobile sidebar and main content
Browse files- frontend/style.css +26 -8
frontend/style.css
CHANGED
|
@@ -316,29 +316,36 @@ button:hover {
|
|
| 316 |
@media (max-width: 768px) {
|
| 317 |
.app-layout {
|
| 318 |
flex-direction: column;
|
|
|
|
|
|
|
| 319 |
}
|
| 320 |
|
| 321 |
.sidebar {
|
| 322 |
width: 100%;
|
| 323 |
-
height:
|
| 324 |
-
position:
|
| 325 |
-
|
| 326 |
-
|
|
|
|
| 327 |
transform: translateX(-100%); /* Hide sidebar by default */
|
| 328 |
transition: transform 0.3s ease;
|
|
|
|
|
|
|
|
|
|
| 329 |
}
|
| 330 |
|
| 331 |
.sidebar.active {
|
| 332 |
-
transform: translateX(0);
|
| 333 |
}
|
| 334 |
|
| 335 |
.sidebar.collapsed {
|
|
|
|
| 336 |
width: 100%;
|
| 337 |
transform: translateX(-100%);
|
| 338 |
}
|
| 339 |
|
| 340 |
.sidebar-header {
|
| 341 |
-
margin-bottom:
|
| 342 |
}
|
| 343 |
|
| 344 |
.sidebar-header h2 {
|
|
@@ -347,11 +354,15 @@ button:hover {
|
|
| 347 |
|
| 348 |
#sidebar-toggle {
|
| 349 |
display: block; /* Ensure toggle is visible */
|
| 350 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 351 |
}
|
| 352 |
|
| 353 |
.sidebar.active #sidebar-toggle {
|
| 354 |
-
transform: rotate(180deg)
|
| 355 |
}
|
| 356 |
|
| 357 |
.sidebar-nav .nav-link .nav-text {
|
|
@@ -367,8 +378,11 @@ button:hover {
|
|
| 367 |
.main-content {
|
| 368 |
margin-left: 0; /* Remove left margin */
|
| 369 |
width: 100%; /* Take full width */
|
|
|
|
| 370 |
padding: 1rem; /* Adjust padding */
|
| 371 |
overflow-y: auto; /* Ensure scrolling */
|
|
|
|
|
|
|
| 372 |
}
|
| 373 |
|
| 374 |
.main-content.collapsed {
|
|
@@ -380,6 +394,10 @@ button:hover {
|
|
| 380 |
padding: 1rem; /* Adjust container padding */
|
| 381 |
}
|
| 382 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 383 |
.card {
|
| 384 |
padding: 1.5rem; /* Adjust card padding */
|
| 385 |
}
|
|
|
|
| 316 |
@media (max-width: 768px) {
|
| 317 |
.app-layout {
|
| 318 |
flex-direction: column;
|
| 319 |
+
height: auto; /* Allow content to dictate height */
|
| 320 |
+
min-height: 100vh; /* Ensure it takes at least full viewport height */
|
| 321 |
}
|
| 322 |
|
| 323 |
.sidebar {
|
| 324 |
width: 100%;
|
| 325 |
+
height: 100vh; /* Full viewport height */
|
| 326 |
+
position: fixed; /* Keep it fixed for overlay effect */
|
| 327 |
+
top: 0;
|
| 328 |
+
left: 0;
|
| 329 |
+
padding: 1.5rem;
|
| 330 |
transform: translateX(-100%); /* Hide sidebar by default */
|
| 331 |
transition: transform 0.3s ease;
|
| 332 |
+
z-index: 1000; /* Ensure it's on top of everything */
|
| 333 |
+
box-shadow: 2px 0 10px rgba(0,0,0,0.1);
|
| 334 |
+
overflow-y: auto; /* Allow sidebar content to scroll if needed */
|
| 335 |
}
|
| 336 |
|
| 337 |
.sidebar.active {
|
| 338 |
+
transform: translateX(0); /* Slide in when active */
|
| 339 |
}
|
| 340 |
|
| 341 |
.sidebar.collapsed {
|
| 342 |
+
/* On mobile, 'collapsed' means hidden, so it's the same as default hidden state */
|
| 343 |
width: 100%;
|
| 344 |
transform: translateX(-100%);
|
| 345 |
}
|
| 346 |
|
| 347 |
.sidebar-header {
|
| 348 |
+
margin-bottom: 2rem;
|
| 349 |
}
|
| 350 |
|
| 351 |
.sidebar-header h2 {
|
|
|
|
| 354 |
|
| 355 |
#sidebar-toggle {
|
| 356 |
display: block; /* Ensure toggle is visible */
|
| 357 |
+
position: absolute; /* Position relative to sidebar */
|
| 358 |
+
right: 1rem;
|
| 359 |
+
top: 1rem;
|
| 360 |
+
color: var(--text-color-light);
|
| 361 |
+
z-index: 1001; /* Ensure toggle is clickable */
|
| 362 |
}
|
| 363 |
|
| 364 |
.sidebar.active #sidebar-toggle {
|
| 365 |
+
transform: rotate(180deg); /* Rotate when active */
|
| 366 |
}
|
| 367 |
|
| 368 |
.sidebar-nav .nav-link .nav-text {
|
|
|
|
| 378 |
.main-content {
|
| 379 |
margin-left: 0; /* Remove left margin */
|
| 380 |
width: 100%; /* Take full width */
|
| 381 |
+
min-height: 100vh; /* Ensure main content takes at least full viewport height */
|
| 382 |
padding: 1rem; /* Adjust padding */
|
| 383 |
overflow-y: auto; /* Ensure scrolling */
|
| 384 |
+
background-size: cover; /* Ensure background covers well */
|
| 385 |
+
background-position: center;
|
| 386 |
}
|
| 387 |
|
| 388 |
.main-content.collapsed {
|
|
|
|
| 394 |
padding: 1rem; /* Adjust container padding */
|
| 395 |
}
|
| 396 |
|
| 397 |
+
.page {
|
| 398 |
+
max-width: 100%; /* Allow pages to take full width */
|
| 399 |
+
}
|
| 400 |
+
|
| 401 |
.card {
|
| 402 |
padding: 1.5rem; /* Adjust card padding */
|
| 403 |
}
|