silverstripe-framework/admin/scss/_menu.scss

363 lines
6.9 KiB
SCSS

/**
* Styles for the left hand side menu and header for the admin panels.
*
* Take into consideration CSS selector performance.
*
* @package framework
* @subpackage admin
*/
.cms-logo-header {
position: relative !important;
top:auto !important;
height:auto !important;
padding: 0 8px;
line-height: 24px;
background-color: lighten($color-dark-bg,10%);
@include background-image(
linear-gradient(lighten($color-dark-bg,20%), $color-dark-bg)
);
span {
color: $color-text-light;
display: block;
padding-left:26px;
a {
color: $color-text-dark-link;
display: inline;
}
}
}
.cms-logo {
border-bottom: 1px solid lighten($color-dark-bg,4%);
overflow: hidden;
padding: $grid-y+2 0 $grid-y+1; /* should come to 40px with border bottom and line-height */
position: relative;
vertical-align: middle;
font-size: $font-base-size;
min-height: 20px;
.collapsed &{
padding:0;
}
.version {
display: none;
}
a {
position: absolute;
top: $grid-y;
bottom: $grid-y;
display: block;
width: 24px;
background: $application-logo-small no-repeat left center;
text-indent: -9999em;
padding: 0 1px;
left: 0;
}
span {
font-weight: bold;
font-size: $font-base-size;
line-height: 16px;
padding: 2px 0;
margin-left: 30px;
}
}
.cms-login-status {
border-top: 1px solid $color-dark-separator;
padding: $grid-y*1 0 $grid-y*1.2;
line-height: 16px;
font-size: $font-base-size - 1;
.logout-link {
display: inline-block;
height: 16px;
width: 16px;
float: left;
margin: 0 8px 0 5px;
background: sprite($sprites32, logout) no-repeat;
text-indent: -9999em;
opacity:0.9;
&:hover, &:focus{
opacity:1;
}
}
}
.cms-menu {
z-index: 80;
background: $color-base;
width: ($grid-x * 20);
@include box-shadow($color-shadow-blacker 0 0 3px);
a {
text-decoration: none;
}
.cms-panel-content {
width: ($grid-x * 20);
overflow-x: hidden;
overflow-y: auto;
position: relative !important;
top:auto !important;
left:auto !important;
}
&.collapsed {
width: 40px;
cursor: auto;
z-index: 1000;
.cms-panel-header {
width: 30px;
span {
display: none;
}
}
.cms-menu-list {
overflow-x: hidden;
overflow-y: auto;
li{
width: 100%;
float: left;
span.text {
display: none;
}
ul {
display: none;
}
}
}
.cms-login-status {
height:16px;
span {
display:none;
}
}
.cms-logo {
height:20px;
padding: 10px 0 9px;
}
&.cms-panel .cms-panel-content {
display: block; // override panel defaults
}
}
}
.cms-menu-list {
li {
a {
display: block;
line-height: $grid-y * 2;
min-height: $grid-y * 2;
font-size: $font-base-size;
text-shadow: lighten($color-base, 5%) 1px 1px 0;
color: $color-text-dark;
padding: (1.5 * $grid-y - 1) 5px (1.5 * $grid-y - 1) 8px;
background-color: $color-base;
cursor: pointer;
position: relative;
@include background-image(linear-gradient(
$color-base,
darken($color-base, 10%)
));
border-top: 1px solid lighten($color-base, 6%);
border-bottom: 1px solid darken($color-base, 20%);
&:hover {
text-decoration: none;
background-color: lighten($color-base, 2%);
border-bottom: 1px solid darken($color-base, 15%);
color: lighten($color-text-dark, 5%);
@include background-image(linear-gradient(
lighten($color-base, 5%),
$color-base
));
}
&:focus,
&:active {
border-top: 1px solid darken($color-base, 5%);
text-decoration: none;
background-color: darken($color-base, 5%);
color: lighten($color-text-dark, 10%);
@include background-image(linear-gradient(
darken($color-base, 10%),
darken($color-base, 5%)
));
}
.icon {
display: block;
position: absolute;
top: 50%;
margin-left: $grid-x / 2;
margin-top: -8px;
@include opacity(0.7);
}
.text {
display: block;
margin-left: 30px;
}
.toggle-children {
display: inline-block;
float: right;
width: 20px;
height: 100%;
cursor: pointer;
.toggle-children-icon {
display: inline-block;
width: 8px;
height: 8px;
background: sprite($sprites32, menu-arrow-deselected-down) no-repeat;
vertical-align: middle;
}
&.opened {
.toggle-children-icon {
background: sprite($sprites32, menu-arrow-deselected-up) no-repeat;
}
}
}
}
ul li a {
border-top: 1px solid lighten($color-base, 2%);
}
&.current { //need to apply current stlye to flyout also (at least line height)
a {
color: $color-text-light;
text-shadow: darken($color-menu-button, 20%) 0 -1px 0;
border-top: 1px solid lighten($color-menu-button, 10%);
border-bottom: 1px solid darken($color-menu-button, 15%);
background-color: $color-menu-button;
@include background-image(linear-gradient(
$color-menu-button,
darken($color-menu-button, 10%)
));
.toggle-children {
.toggle-children-icon {
background: sprite($sprites32, menu-arrow-down) no-repeat;
}
&.opened {
.toggle-children-icon {
background: sprite($sprites32, menu-arrow-up) no-repeat;
}
}
}
}
ul {
border-top: none;
display: block;
}
li {
background-color: darken($color-menu-button, 10%);
a {
font-size: $font-base-size - 1;
padding: 0 10px 0 40px;
height: 32px;
line-height: 32px;
color: lighten($color-menu-button, 45%);
background: none;
border-top: 1px solid darken($color-menu-button,4%);
border-bottom: 1px solid darken($color-menu-button, 20%);
&.current,
&:hover {
background: darken($color-menu-button, 5%);
border-top: 1px solid darken($color-menu-button, 5%);
color: $color-text-light;
}
&:focus {
background: darken($color-menu-button, 15%);
border-top: 1px solid darken($color-menu-button, 20%);
color: lighten($color-menu-button, 60%);
}
}
&.current {
background: darken($color-menu-button, 5%);
border-top: 1px solid darken($color-menu-button, 5%);
border-top: none;
a {
font-weight: bold;
color: $color-text-light;
}
}
&.first a {
border-top: none;
}
}
}
ul.collapse {
display: none;
li {
a {
background-image:none;
font-size: 11px;
padding: 0 10px 0 40px;
height: 32px;
line-height: 32px;
}
}
}
/* Style applied to the menu flyout only when the collapsed setting */
ul.collapsed-flyout {
display: block;
li {
a {
font-size: $font-base-size - 1;
padding: 0 10px 0 16px;
height: 32px;
line-height: 32px;
}
&.current a {
font-weight: bold;
}
&.first a {
border-top: 1px solid darken($color-base, 10%);
}
}
}
}
&.collapsed {
li {
.text, .toggle-children {
display: none;
}
}
li > li {
display: none;
}
}
}