metro4
Version:
The front-end framework for Build responsive, mobile-first projects on the web with the first front-end component library in Metro Style
199 lines (171 loc) • 4.3 kB
text/less
@import (once) "../../../less/include/vars";
@import (once) "../../../less/include/mixins";
.desktop {
display: flex;
flex-direction: column;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.window-area, .task-bar {
position: relative;
display: block;
}
.window-area {
height: 100%;
position: relative;
}
.task-bar {
display: flex;
flex-flow: row nowrap;
height: 42px;
background-color: @taskBarBackground;
.task-bar-section {
height: 100%;
width: auto;
display: flex;
flex-flow: row nowrap;
}
.task-bar-item {
position: relative;
display: block;
width: 48px;
height: 40px;
margin: 0;
padding: 0;
background-color: transparent;
border: none;
cursor: default;
color: @white;
vertical-align: middle;
text-align: center;
min-width: 0;
outline: none;
* {
display: block;
margin: 8px 12px;
height: 24px;
width: 24px;
font-size: 18px;
line-height: 24px;
vertical-align: middle;
}
&:hover {
background-color: @taskBarItemHover;
}
&.active {
background-color: @taskBarItemActive;
}
&.started {
&::after {
display: block;
content: "";
position: absolute;
bottom: 0;
left: 5px;
right: 5px;
height: 3px;
background-color: @lightCyan;
transition: all .3s ease;
}
&:hover {
&::after {
left: 1px;
right: 1px;
transition: all .3s ease;
}
}
}
&:active, &.focus, &:focus {
box-shadow: none ;
}
}
&.icons-small {
height: 30px;
padding: 0;
.task-bar-item {
.square(16, px);
margin: 0 8px;
}
}
a.task-bar-item {
color: @white;
&:hover {
color: @white;
}
}
}
.start-menu {
padding: 1px;
border-top: 1px rgba(red(#FFFFCC), green(#FFFFCC), blue(#FFFFCC), .1) solid;
border-right: 1px rgba(red(#FFFFCC), green(#FFFFCC), blue(#FFFFCC), .1) solid;
top: auto;
bottom: 100%;
background-color: @brandColor2;
color: @white;
display: none;
position: absolute;
float: left;
width: auto;
margin: 0;
list-style: none inside none;
z-index: @zindex-dropdown;
box-shadow: 2px -2px 5px 0px rgba(0,0,0,0.75);
}
.start-menu-inner {
display: flex;
flex-flow: row nowrap;
}
.start-menu {
.sys-buttons {
width: 48px;
display: flex;
flex-flow: column nowrap;
justify-content: flex-end;
}
.explorer {
width: 220px;
}
}
.ani-swoopInTop {
animation-name: swoopInTop;
animation-duration: 0.5s;
}
.ani-swoopOutTop {
animation-name: swoopOutTop;
animation-duration: 0.5s;
}
@keyframes swoopInTop {
0% {
opacity: 0;
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
transform: scaleY(1.5) translate3d(0, -400px, 0); }
40% {
opacity: 1;
animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
transform: scaleY(1.2) translate3d(0, 0, 0); }
65% {
transform: scaleY(1) translate3d(0, 20px, 0); }
100% {
animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
transform: scaleY(1) translate3d(0, 0, 0);
}
}
@keyframes swoopOutTop {
0% {
animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
transform: scaleY(1) translate3d(0, 0, 0); }
40% {
opacity: 1;
transform: scaleY(1) translate3d(0, 20px, 0); }
60% {
animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
transform: scaleY(1.2) translate3d(0, 0, 0); }
100% {
opacity: 0;
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
transform: scaleY(1.5) translate3d(0, -400px, 0);
}
}