css-pro-layout
Version:
CSS library for building responsive and customizable page layouts
252 lines (251 loc) • 8.05 kB
CSS
.layout {
min-height: 100%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
position: relative;
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1; }
.layout.has-sidebar {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row; }
.layout .header {
-webkit-transition: width, 0.3s;
transition: width, 0.3s;
height: 64px;
min-height: 64px;
position: relative; }
.layout .sidebar {
width: 280px;
min-width: 280px;
-webkit-transition: width, left, right, 0.3s;
transition: width, left, right, 0.3s; }
.layout .sidebar.collapsed {
width: 80px;
min-width: 80px; }
@media (max-width: 480px) {
.layout .sidebar.break-point-xs {
position: fixed;
left: -280px;
height: 100%;
top: 0;
z-index: 100; }
.layout .sidebar.break-point-xs.collapsed {
left: -80px; }
.layout .sidebar.break-point-xs.toggled {
left: 0; }
.layout .sidebar.break-point-xs.toggled ~ .overlay {
display: block; }
.layout .sidebar.break-point-xs ~ .layout .header {
width: 100% ;
-webkit-transition: none;
transition: none; } }
@media (max-width: 576px) {
.layout .sidebar.break-point-sm {
position: fixed;
left: -280px;
height: 100%;
top: 0;
z-index: 100; }
.layout .sidebar.break-point-sm.collapsed {
left: -80px; }
.layout .sidebar.break-point-sm.toggled {
left: 0; }
.layout .sidebar.break-point-sm.toggled ~ .overlay {
display: block; }
.layout .sidebar.break-point-sm ~ .layout .header {
width: 100% ;
-webkit-transition: none;
transition: none; } }
@media (max-width: 768px) {
.layout .sidebar.break-point-md {
position: fixed;
left: -280px;
height: 100%;
top: 0;
z-index: 100; }
.layout .sidebar.break-point-md.collapsed {
left: -80px; }
.layout .sidebar.break-point-md.toggled {
left: 0; }
.layout .sidebar.break-point-md.toggled ~ .overlay {
display: block; }
.layout .sidebar.break-point-md ~ .layout .header {
width: 100% ;
-webkit-transition: none;
transition: none; } }
@media (max-width: 992px) {
.layout .sidebar.break-point-lg {
position: fixed;
left: -280px;
height: 100%;
top: 0;
z-index: 100; }
.layout .sidebar.break-point-lg.collapsed {
left: -80px; }
.layout .sidebar.break-point-lg.toggled {
left: 0; }
.layout .sidebar.break-point-lg.toggled ~ .overlay {
display: block; }
.layout .sidebar.break-point-lg ~ .layout .header {
width: 100% ;
-webkit-transition: none;
transition: none; } }
@media (max-width: 1200px) {
.layout .sidebar.break-point-xl {
position: fixed;
left: -280px;
height: 100%;
top: 0;
z-index: 100; }
.layout .sidebar.break-point-xl.collapsed {
left: -80px; }
.layout .sidebar.break-point-xl.toggled {
left: 0; }
.layout .sidebar.break-point-xl.toggled ~ .overlay {
display: block; }
.layout .sidebar.break-point-xl ~ .layout .header {
width: 100% ;
-webkit-transition: none;
transition: none; } }
@media (max-width: 1600px) {
.layout .sidebar.break-point-xxl {
position: fixed;
left: -280px;
height: 100%;
top: 0;
z-index: 100; }
.layout .sidebar.break-point-xxl.collapsed {
left: -80px; }
.layout .sidebar.break-point-xxl.toggled {
left: 0; }
.layout .sidebar.break-point-xxl.toggled ~ .overlay {
display: block; }
.layout .sidebar.break-point-xxl ~ .layout .header {
width: 100% ;
-webkit-transition: none;
transition: none; } }
.layout .footer {
height: 64px;
min-height: 64px; }
.layout .content {
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1; }
.layout .overlay {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(0, 0, 0, 0.3);
z-index: 99;
display: none; }
.layout .sidebar-toggler {
display: none; }
@media (max-width: 480px) {
.layout .sidebar-toggler.break-point-xs {
display: initial; } }
@media (max-width: 576px) {
.layout .sidebar-toggler.break-point-sm {
display: initial; } }
@media (max-width: 768px) {
.layout .sidebar-toggler.break-point-md {
display: initial; } }
@media (max-width: 992px) {
.layout .sidebar-toggler.break-point-lg {
display: initial; } }
@media (max-width: 1200px) {
.layout .sidebar-toggler.break-point-xl {
display: initial; } }
@media (max-width: 1600px) {
.layout .sidebar-toggler.break-point-xxl {
display: initial; } }
.layout.fixed-sidebar {
height: 100%; }
.layout.fixed-sidebar .sidebar {
height: 100%;
overflow: auto; }
.layout.fixed-sidebar .sidebar ~ .layout {
height: 100%;
overflow: auto; }
.layout.fixed-header .header {
position: fixed;
width: 100%;
z-index: 2; }
.layout.fixed-header .header ~ .layout,
.layout.fixed-header .header ~ .content {
margin-top: 64px; }
.layout.fixed-header.fixed-sidebar .header {
width: calc(100% - 280px); }
.layout.fixed-header.fixed-sidebar .sidebar.collapsed ~ .layout .header {
width: calc(100% - 80px); }
.layout.rtl {
direction: rtl; }
@media (max-width: 480px) {
.layout.rtl .sidebar.break-point-xs {
left: auto;
right: -280px; }
.layout.rtl .sidebar.break-point-xs.collapsed {
left: auto;
right: -80px; }
.layout.rtl .sidebar.break-point-xs.toggled {
left: auto;
right: 0; } }
@media (max-width: 576px) {
.layout.rtl .sidebar.break-point-sm {
left: auto;
right: -280px; }
.layout.rtl .sidebar.break-point-sm.collapsed {
left: auto;
right: -80px; }
.layout.rtl .sidebar.break-point-sm.toggled {
left: auto;
right: 0; } }
@media (max-width: 768px) {
.layout.rtl .sidebar.break-point-md {
left: auto;
right: -280px; }
.layout.rtl .sidebar.break-point-md.collapsed {
left: auto;
right: -80px; }
.layout.rtl .sidebar.break-point-md.toggled {
left: auto;
right: 0; } }
@media (max-width: 992px) {
.layout.rtl .sidebar.break-point-lg {
left: auto;
right: -280px; }
.layout.rtl .sidebar.break-point-lg.collapsed {
left: auto;
right: -80px; }
.layout.rtl .sidebar.break-point-lg.toggled {
left: auto;
right: 0; } }
@media (max-width: 1200px) {
.layout.rtl .sidebar.break-point-xl {
left: auto;
right: -280px; }
.layout.rtl .sidebar.break-point-xl.collapsed {
left: auto;
right: -80px; }
.layout.rtl .sidebar.break-point-xl.toggled {
left: auto;
right: 0; } }
@media (max-width: 1600px) {
.layout.rtl .sidebar.break-point-xxl {
left: auto;
right: -280px; }
.layout.rtl .sidebar.break-point-xxl.collapsed {
left: auto;
right: -80px; }
.layout.rtl .sidebar.break-point-xxl.toggled {
left: auto;
right: 0; } }