NxTIC/css/menu-side.scss

112 lines
2.6 KiB
SCSS
Executable File

@import 'constants';
#WRAPPER > #MENU-SIDE{
/* [1] Elements du menu
=========================================================*/
& > span{
display: block;
position: relative;
width: calc( 100% - 2*1em - 2*1.5em );
padding: 1.5em 1.5em;
padding-left: calc( 1.5em + 2*1em );
border-bottom: 1px solid transparent;
background: url('/f/svg/circle/st/menu-side/29282e') 1em center no-repeat,
url('/f/svg/sub/st/menu-side/777777') right 1em center no-repeat;
background-size: 2em 2em, 1em 1em;
// Modification du sens de la fleche quand le sous-menu est deroule
&.active{
background: url('/f/svg/circle/st/menu-side/29282e') 1em center no-repeat,
url('/f/svg/sub-active/st/menu-side/dddddd') right 1em center no-repeat;
background-size: 2em 2em, 1em 1em;
}
color: $dark-fg;
text-shadow: 1px 1px 0 darken($dark-bg, 5);
transition: color .2s ease-in-out, background .2s ease-in-out, box-shadow .2s ease-in-out, border .2s ease-in-out;
cursor: pointer;
/* (1) Icone svg */
& > svg, & > svg *{
position: absolute;
top: calc( 50% - 1em/2 );
left: 1.5em;
width: 1em;
height: 1em;
fill: $dark-fg !important;
transition: fill .2s ease-in-out;
}
/* (2) @hover ou .active -> survol souris ou active */
&:hover,
&.active{
border-bottom-color: darken($dark-bg-primary, 2);
box-shadow: inset 0 0 1em darken($dark-bg-primary, 1);
background-color: $dark-bg-primary;
color: $dark-fg-primary;
text-shadow: 1px 1px 0 darken($dark-bg-primary, 5);
& > svg, & > svg *{
fill: $theme-fg-primary !important;
}
}
}
/* [2] Elements du menu avec separateur en dessous
=========================================================*/
& > span.sep{
border-bottom: 1px solid lighten($dark-bg, 10);
}
/* [3] Gestion du menu deroulant
=========================================================*/
/* (1) Quand le menu est deroule */
& > span:not(.icon).active + div.sub>span{
display: block;
position: relative;
width: calc( 100% - 2*1.5em );
padding: .5em 1.5em;
padding-left: 1.5em;
border-bottom: 1px solid transparent;
background: darken($dark-bg-primary, 2) url('/f/svg/sub/st/menu-side/888888') .5em center no-repeat;;
background-size: .5em;
color: darken($dark-fg, 20);
font-size: .85em;
cursor: pointer;
transition: color .2s ease-in-out;
// Animation de @hover ou .active
&:hover,
&.active{
color: $dark-fg-primary;
background-image: url('/f/svg/sub/st/menu-side/ffffff');
}
}
/* (2) Quand le menu est replie */
& > span:not(.icon):not(.active) + div.sub>span{
display: none;
}
}