/* * # Semantic - Sidebar * http://github.com/semantic-org/semantic-ui/ * * * Copyright 2014 Contributors * Released under the MIT license * http://opensource.org/licenses/MIT * */ /******************************* Theme *******************************/ @type : 'module'; @element : 'sidebar'; @import '../../semantic.config'; /******************************* Sidebar *******************************/ /* Sidebar Menu */ .ui.sidebar { position: absolute; top: 0; left: 0; visibility: hidden; background: @sidebarBackground; backface-visibility: hidden; height: 100% !important; width: @sidebarWidth !important; border-radius: 0em !important; margin: 0 !important; will-change: transform; overflow: auto !important; } /*-------------- Body ---------------*/ /* Sets 3D Perspective */ .pushable { position: relative; height: 100%; overflow: hidden; } /*-------------- Pusher ---------------*/ .pushable > .pusher { position: relative; left: 0; height: 100%; transition: transform @animationDuration; z-index: 2; will-change: transform; /* Appears to reduce performance breaks fixed position backface-visibility: hidden; */ } /*-------------- Page ---------------*/ .pushable > .pusher > .page { background: @bodyBackground; overflow-y: auto; height: 100%; /* Appears to reduce performance backface-visibility: hidden; */ } /*-------------- Dimmer ---------------*/ .pushable > .pusher > .page:after { position: fixed; top: 0px; right: 0px; content: ''; background-color: @dimmerColor; width: 0px; height: 0px; overflow: hidden; opacity: 0; z-index: 999; transition: opacity @animationDuration; will-change: opacity; } /******************************* States *******************************/ /*-------------- Pushed ---------------*/ /* Add Canvas BG */ .pushable.pushed, .pushable.hide, .pushable.show { background: @canvasBackground !important; } /* Remove Scroll */ .pushable.pushed > .pusher > .page { // overflow: hidden; } /* Show Dimmer */ .pushable.pushed > .pusher > .page:after { width: 100% !important; height: 100% !important; opacity: 1 !important; } .pushable.hide > .pusher > .page *, .pushable.show > .pusher > .page *, .pushable.pushed > .pusher > .page * { transition: none !important; } /*-------------- Visible ---------------*/ .pushable > .visible.ui.sidebar { visibility: visible; } /******************************* Variations *******************************/ /*-------------- Styled ---------------*/ .ui.styled.sidebar { background-color: #FFFFFF; padding: 1em 1.25em; border-right: 1px solid #DDDDDD; } /******************************* Animations *******************************/ /*-------------- Overlay ---------------*/ /* Set-up */ .pushable.overlay > .ui.sidebar { transform: translate3d(-100%, 0, 0); z-index: 3; } /* Pushed */ .pushable.overlay .visible.ui.sidebar { transform: translate3d(0, 0, 0); } /* Animation */ .pushable.overlay.show > .visible.ui.sidebar, .pushable.overlay.hide > .visible.ui.sidebar { transition: transform @animationDuration @easing; } /*-------------- Pushed ---------------*/ /* Set-Up */ .pushable.pushing.pushed > .pusher { transform: translate3d(@sidebarWidth, 0, 0); } .pushable.pushing > .ui.sidebar { transform: translate3d(-100%, 0, 0); z-index: 3; } .pushable.pushing > .pusher { transform: translate3d(0px, 0, 0); z-index: 2; } /* Pushed */ .pushable.pushing.pushed .visible.sidebar { transform: translate3d(0px, 0, 0); } .pushable.pushing.pushed > .pusher { transform: translate3d(@sidebarWidth, 0, 0); } /* Animation */ .pushable.pushing.show > .visible.ui.sidebar, .pushable.pushing.hide > .visible.ui.sidebar { transition: transform @animationDuration ease; } /*-------------- Reveal ---------------*/ /* Set-up */ .pushable.reveal .visible.ui.sidebar { z-index: 1; } .pushable.reveal > .pusher { transform: translate3d(0, 0, 0); z-index: 2; } /* Pushed */ .pushable.reveal.pushed > .pusher { transform: translate3d(@sidebarWidth, 0, 0); } /*-------------- Slide Along ---------------*/ /* Set-up */ .pushable.slide.along > .ui.sidebar { z-index: 2; transform: translate3d(-50%, 0, 0); } .pushable.slide.along > .pusher { z-index: 3; } /* Pushed */ .pushable.slide.along.pushed > .pusher { transform: translate3d(@sidebarWidth, 0, 0); } .pushable.slide.along.pushed > .visible.ui.sidebar { transform: translate3d(0%, 0, 0); } /* Animation */ .pushable.slide.along.show > .visible.ui.sidebar, .pushable.slide.along.hide > .visible.ui.sidebar { transition: transform @animationDuration ease; } /*-------------- Slide Out ---------------*/ /* Set-up */ .pushable.slide.out > .ui.sidebar { z-index: 1; transform: translate3d(50%, 0, 0); } /* Pushed */ .pushable.slide.out.pushed > .pusher { transform: translate3d(@sidebarWidth, 0, 0); } .pushable.slide.out.pushed .visible.ui.sidebar { transform: translate3d(0%, 0, 0); } /* Animation */ .pushable.slide.out.show > .visible.ui.sidebar, .pushable.slide.out.hide > .visible.ui.sidebar { transition: transform @animationDuration ease; } /*-------------- Scale Down ---------------*/ /* Set-up */ .pushable.scale.down { perspective: 1500px; } .pushable.scale.down > .pusher { transform-style: preserve-3d; z-index: 2; } .pushable.scale.down > .ui.sidebar { opacity: 1; transform: translate3d(-100%, 0, 0); z-index: 3; } /* Pushed */ .pushable.scale.down.pushed > .pusher { transform: translate3d(210px, 0px, -500px); } .pushable.scale.down.pushed > .visible.ui.sidebar { transform: translate3d(0, 0, 0); } /* Animation */ .pushable.scale.down.show > .visible.ui.sidebar, .pushable.scale.down.hide > .visible.ui.sidebar { transition: transform @animationDuration ease; } /*-------------- Scale Up ---------------*/ /* Set-up */ .pushable.scale.up { perspective: 1500px; perspective-origin: 0% 50%; } .pushable.scale.up > .ui.sidebar { z-index: 1; transform: translate3d(0, 0, -@sidebarWidth); } .pushable.scale.up > .pusher { z-index: 2; } /* Pushed */ .pushable.scale.up.pushed > .pusher { transform: translate3d(@sidebarWidth, 0, 0); } .pushable.scale.up.pushed > .visible.ui.sidebar { transform: translate3d(0, 0, 0); } /* Animation */ .pushable.scale.up.show > .visible.ui.sidebar, .pushable.scale.up.hide > .visible.ui.sidebar { transition: transform @animationDuration ease; } /*-------------- Recede ---------------*/ /* Set-up */ .pushable.recede { perspective: 1500px; } .pushable.recede > .ui.sidebar { opacity: 1; transform: translate3d(-100%, 0, 0); z-index: 3; } .pushable.recede > .pusher { transform-style: preserve-3d; z-index: 2; } .pushable.recede > .pusher::after { background-color: rgba(0, 0, 0, 0.5); } /* Pushed */ .pushable.recede.pushed > .pusher { transform: translate3d(15%, 0px, -400px) rotateY(-15deg); } .pushable.recede.pushed > .visible.ui.sidebar { transform: translate3d(0, 0, 0); } /* Animation */ .pushable.recede.show > .visible.ui.sidebar, .pushable.recede.hide > .visible.ui.sidebar { transition: transform @animationDuration ease; } /*-------------- Open Door ---------------*/ /* Set-up */ .pushable.open.door { perspective: 1500px; } .pushable.open.door > .ui.sidebar { opacity: 1; transform: translate3d(-100%, 0, 0); z-index: 3; } .pushable.open.door > .pusher { transform-origin: 100% 50%; transform-style: preserve-3d; z-index: 2; } /* Pushed */ .pushable.open.door.pushed > .pusher { transform: rotateY(-10deg); } .pushable.open.door.pushed > .visible.ui.sidebar { transform: translate3d(0, 0, 0); } /* Animation */ .pushable.open.door.show > .visible.ui.sidebar, .pushable.open.door.hide > .visible.ui.sidebar { transition: transform @animationDuration; } /*-------------- Rotate In ---------------*/ /* Set-up */ .pushable.rotate.in { perspective: 1500px; perspective-origin: 0% 50%; } .pushable.rotate.in > .pusher { transform-style: preserve-3d; } .pushable.rotate.in > .ui.sidebar { transform: translate3d(-100%, 0, 0) rotateY(90deg); transform-origin: 50% 100% 0; transform-style: preserve-3d; } /* Pushed */ .pushable.rotate.in.pushed > .pusher { transform: translate3d(@sidebarWidth, 0, 0); } .pushable.rotate.in.pushed .visible.ui.sidebar { transform: translate3d(0%, 0, 0) rotateY(0deg); } /* Return Animation */ .pushable.rotate.in.hide > .visible.ui.sidebar { transform: translate3d(-100%, 0, 0) rotateY(0deg); transition: transform @animationDuration ease 0s; } /* Animation */ .pushable.rotate.in.show > .visible.ui.sidebar, .pushable.rotate.in.hide > .visible.ui.sidebar { transition: transform @animationDuration ease-in-out 0s; }