/* * # 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 '../../theme.config'; /******************************* Sidebar *******************************/ /* Sidebar Menu */ .ui.sidebar { position: fixed; top: 0; left: 0; backface-visibility: hidden; transition: none; will-change: transform; transform: translate3d(0, 0, 0); visibility: hidden; -webkit-overflow-scrolling: touch; height: 100% !important; border-radius: 0em !important; margin: 0em !important; overflow-y: auto !important; z-index: @topLayer; } /* 3D Rendering */ .ui.sidebar * { backface-visibility: hidden; transform: rotateZ(0deg); } /*-------------- Direction ---------------*/ .ui.left.sidebar { right: auto; left: 0px; transform: translate3d(-100%, 0, 0); } .ui.right.sidebar { right: 0px !important; left: auto !important; transform: translate3d(100%, 0%, 0); } .ui.top.sidebar, .ui.bottom.sidebar { width: 100% !important; height: auto !important; overflow-y: visible !important; } .ui.top.sidebar { top: 0px !important; bottom: auto !important; transform: translate3d(0, -100%, 0); } .ui.bottom.sidebar { top: auto !important; bottom: 0px !important; transform: translate3d(0, 100%, 0); } /*-------------- Body ---------------*/ .pushable { height: 100%; overflow-x: hidden; background: @canvasBackground !important; } /*-------------- Fixed ---------------*/ .pushable > .fixed { position: fixed; backface-visibility: hidden; transition: transform @duration @easing; will-change: transform; z-index: @fixedLayer; } /*-------------- Page ---------------*/ .pushable > .pusher { position: relative; backface-visibility: hidden; min-height: 100%; transition: transform @duration @easing; background: @pageBackground; z-index: @middleLayer; } /*-------------- Dimmer ---------------*/ .pushable > .pusher:after { position: fixed; top: 0px; right: 0px; content: ''; background-color: @dimmerColor; width: 0px; height: 0px; overflow: hidden; opacity: 0; transition: transform @duration, opacity @duration ; will-change: opacity; z-index: @dimmerLayer; } /*-------------- Coupling ---------------*/ .ui.sidebar.menu .item { border-radius: 0em !important; } /******************************* States *******************************/ /*-------------- Dimmed ---------------*/ .pushable > .pusher.dimmed:after { width: 100% !important; height: 100% !important; opacity: 1 !important; } /*-------------- Animating ---------------*/ .ui.animating.sidebar { visibility: visible; } /*-------------- Visible ---------------*/ .ui.visible.sidebar { visibility: visible; } .ui.left.visible.sidebar, .ui.right.visible.sidebar { box-shadow: @horizontalBoxShadow; } .ui.top.visible.sidebar, .ui.bottom.visible.sidebar { box-shadow: @verticalBoxShadow; } /*-------------- Mobile ---------------*/ @media only screen and (max-width: @computerBreakpoint) { html { overflow-x: hidden; -webkit-overflow-scrolling: touch; } } /******************************* Variations *******************************/ /*-------------- Width ---------------*/ /* Left / Right */ .ui[class*="very thin"].left.sidebar, .ui[class*="very thin"].right.sidebar { width: @sidebarVeryThinWidth; } .ui.thin.left.sidebar, .ui.thin.right.sidebar { width: @sidebarThinWidth; } .ui.left.sidebar, .ui.right.sidebar { width: @sidebarWidth; } .ui.wide.left.sidebar, .ui.wide.right.sidebar { width: @sidebarWideWidth; } .ui[class*="very wide"].left.sidebar, .ui[class*="very wide"].right.sidebar { width: @sidebarVeryWideWidth; } /******************************* Animations *******************************/ /*-------------- Overlay ---------------*/ /* Set-up */ .ui.overlay.sidebar { z-index: @topLayer; } /* Animation */ .animating.ui.overlay.sidebar, .ui.visible.overlay.sidebar { transition: transform @duration @easing; } /*--- Left ---*/ /* Set-up */ .ui.left.overlay.sidebar { transform: translate3d(-100%, 0%, 0); } .ui.right.overlay.sidebar { transform: translate3d(100%, 0%, 0); } .ui.top.overlay.sidebar { transform: translate3d(0%, -100%, 0); } .ui.bottom.overlay.sidebar { transform: translate3d(0%, 100%, 0); } /* End */ .ui.visible.left.overlay.sidebar { transform: translate3d(0%, 0%, 0); } .ui.visible.right.overlay.sidebar { transform: translate3d(0%, 0%, 0); } .ui.visible.top.overlay.sidebar { transform: translate3d(0%, 0%, 0); } .ui.visible.bottom.overlay.sidebar { transform: translate3d(0%, 0%, 0); } .ui.visible.overlay.sidebar ~ .fixed, .ui.visible.overlay.sidebar ~ .pusher { transform: none !important; } /*-------------- Push ---------------*/ /* Initial */ .ui.push.sidebar { transition: transform @duration @easing; z-index: @topLayer; } .ui.left.push.sidebar { transform: translate3d(-100%, 0, 0); } .ui.right.push.sidebar { transform: translate3d(100%, 0, 0); } .ui.top.push.sidebar { transform: translate3d(0%, -100%, 0); } .ui.bottom.push.sidebar { transform: translate3d(0%, 100%, 0); } /* End */ .ui.visible.push.sidebar { transform: translate3d(0%, 0, 0); } /*-------------- Uncover ---------------*/ /* Initial */ .ui.uncover.sidebar { transform: translate3d(0, 0, 0); z-index: @bottomLayer; } /* End */ .ui.visible.uncover.sidebar { transform: translate3d(0, 0, 0); transition: transform @duration @easing; } /*-------------- Slide Along ---------------*/ /* Initial */ .ui.slide.along.sidebar { z-index: @bottomLayer; } .ui.left.slide.along.sidebar { transform: translate3d(-50%, 0, 0); } .ui.right.slide.along.sidebar { transform: translate3d(50%, 0, 0); } .ui.top.slide.along.sidebar { transform: translate3d(0, -50%, 0); } .ui.bottom.slide.along.sidebar { transform: translate3d(0%, 50%, 0); } .ui.animating.slide.along.sidebar { transition: transform @duration @easing; } /* End */ .ui.visible.slide.along.sidebar { transform: translate3d(0%, 0, 0); } /*-------------- Slide Out ---------------*/ /* Initial */ .ui.slide.out.sidebar { z-index: @bottomLayer; } .ui.left.slide.out.sidebar { transform: translate3d(50%, 0, 0); } .ui.right.slide.out.sidebar { transform: translate3d(-50%, 0, 0); } .ui.top.slide.out.sidebar { transform: translate3d(0%, 50%, 0); } .ui.bottom.slide.out.sidebar { transform: translate3d(0%, -50%, 0); } /* Animation */ .ui.animating.slide.out.sidebar { transition: transform @duration @easing; } /* End */ .ui.visible.slide.out.sidebar { transform: translate3d(0%, 0, 0); } /*-------------- Scale Down ---------------*/ /* Initial */ .ui.scale.down.sidebar { transition: transform @duration @easing; z-index: @topLayer; } .ui.left.scale.down.sidebar { transform: translate3d(-100%, 0, 0); } .ui.right.scale.down.sidebar { transform: translate3d(100%, 0, 0); } .ui.top.scale.down.sidebar { transform: translate3d(0%, -100%, 0); } .ui.bottom.scale.down.sidebar { transform: translate3d(0%, 100%, 0); } .ui.scale.down.left.sidebar ~ .pusher { transform-origin: 75% 50%; } .ui.scale.down.right.sidebar ~ .pusher { transform-origin: 25% 50%; } .ui.scale.down.top.sidebar ~ .pusher { transform-origin: 50% 75%; } .ui.scale.down.bottom.sidebar ~ .pusher { transform-origin: 50% 25%; } /* Animation */ .ui.animating.scale.down > .visible.ui.sidebar { transition: transform @duration @easing; } .ui.visible.scale.down.sidebar ~ .pusher, .ui.animating.scale.down.sidebar ~ .pusher { display: block !important; width: 100%; height: 100%; overflow: hidden; } /* End */ .ui.visible.scale.down.sidebar { transform: translate3d(0, 0, 0); } .ui.visible.scale.down.sidebar ~ .pusher { transform: scale(0.75); }