202 lines
3.8 KiB
CSS
202 lines
3.8 KiB
CSS
@import url('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
|
|
|
|
body {
|
|
margin: 0;
|
|
font-family: Arial, sans-serif;
|
|
background: #f4f4f4;
|
|
transition: background 0.3s, color 0.3s;
|
|
display: flex;
|
|
}
|
|
|
|
body.dark {
|
|
background: #333;
|
|
color: #f4f4f4;
|
|
}
|
|
|
|
.sidebar {
|
|
position: fixed;
|
|
left: 0;
|
|
top: 0;
|
|
width: 60px;
|
|
height: 100%;
|
|
background: #231f20;
|
|
padding: 20px;
|
|
box-sizing: border-box;
|
|
transition: width 0.3s ease-in-out;
|
|
overflow: hidden;
|
|
z-index: 1000;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.sidebar.close {
|
|
width: 60px;
|
|
}
|
|
|
|
.sidebar.close .profile-label span,
|
|
.sidebar.close a span {
|
|
opacity: 0;
|
|
visibility: hidden;
|
|
transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
|
|
}
|
|
|
|
.sidebar:not(.close) .profile-label span,
|
|
.sidebar:not(.close) a span {
|
|
opacity: 1;
|
|
visibility: visible;
|
|
transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
|
|
}
|
|
|
|
.sidebar ul {
|
|
margin-left: -6px;
|
|
padding: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
.sidebar ul li span {
|
|
margin-left: 10px;
|
|
}
|
|
|
|
.sidebar ul li a:has(img) {
|
|
padding: 0;
|
|
}
|
|
|
|
.sidebar .toggle {
|
|
cursor: pointer;
|
|
font-size: 23px;
|
|
color: #ddd;
|
|
display: block;
|
|
margin: 0 0 20px -3px;
|
|
}
|
|
|
|
.sidebar .toggle-switch {
|
|
cursor: pointer;
|
|
color: #ddd;
|
|
display: flex;
|
|
align-items: center;
|
|
margin-top: auto;
|
|
}
|
|
|
|
.sidebar .toggle-switch .mode-text {
|
|
margin-left: 10px;
|
|
}
|
|
|
|
.content {
|
|
margin-left: 60px;
|
|
padding: 20px;
|
|
transition: margin-left 0.3s ease-in-out;
|
|
flex-grow: 1;
|
|
}
|
|
|
|
#toggle-sidebar:checked ~ .sidebar {
|
|
width: 250px;
|
|
}
|
|
|
|
#toggle-sidebar:checked ~ .content {
|
|
margin-left: 250px;
|
|
}
|
|
|
|
#toggle-sidebar:checked ~ .sidebar .profile-label span,
|
|
#toggle-sidebar:checked ~ .sidebar a span {
|
|
opacity: 1;
|
|
visibility: visible;
|
|
transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
|
|
}
|
|
|
|
.sidebar .profile-label,
|
|
.sidebar a {
|
|
display: flex;
|
|
align-items: center;
|
|
font-size: 18px;
|
|
color: #ddd;
|
|
text-decoration: none;
|
|
margin: 10px 0;
|
|
transition: font-size 0.3s ease-in-out, visibility 0.3s ease-in-out;
|
|
position: relative;
|
|
padding: 5px 0 0 5px;
|
|
}
|
|
|
|
.sidebar a:hover, .sidebar label:hover {
|
|
color: #fff;
|
|
}
|
|
|
|
.sidebar .profile-label:before,
|
|
.sidebar a:before {
|
|
content: attr(data-icon);
|
|
font-size: 24px;
|
|
display: inline-block;
|
|
width: 30px;
|
|
text-align: center;
|
|
position: absolute;
|
|
left: 10px;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
}
|
|
|
|
#toggle-dark-mode:checked ~ body {
|
|
background: #333;
|
|
color: #f4f4f4;
|
|
}
|
|
|
|
#toggle-dark-mode:checked ~ .sidebar {
|
|
background: #333;
|
|
}
|
|
|
|
#toggle-dark-mode:checked ~ .sidebar a,
|
|
#toggle-dark-mode:checked ~ .sidebar .profile-label,
|
|
#toggle-dark-mode:checked ~ .sidebar .toggle-switch .mode-text {
|
|
color: #f4f4f4;
|
|
}
|
|
|
|
.sidebar .top-menu {
|
|
flex-grow: 1;
|
|
}
|
|
|
|
.sidebar .bottom-menu {
|
|
margin-top: 20px;
|
|
}
|
|
|
|
.sidebar .bottom-menu ul li {
|
|
height: 40px;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
@media screen and (max-width: 768px) {
|
|
.sidebar {
|
|
width: 60px;
|
|
}
|
|
|
|
.content {
|
|
margin-left: 60px;
|
|
padding: 10px;
|
|
}
|
|
|
|
#toggle-sidebar:checked ~ .sidebar {
|
|
width: 250px;
|
|
}
|
|
|
|
#toggle-sidebar:checked ~ .content {
|
|
margin-left: 250px;
|
|
}
|
|
|
|
.sidebar .toggle {
|
|
display: block;
|
|
margin: 10px 0;
|
|
}
|
|
|
|
.sidebar .toggle-switch {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
@media screen and (max-width: 480px) {
|
|
.sidebar .toggle {
|
|
font-size: 18px;
|
|
}
|
|
|
|
.content h1 {
|
|
font-size: 24px;
|
|
}
|
|
}
|