drewcassidy.me/css/sidebar.scss

209 lines
4.0 KiB
SCSS
Raw Normal View History

2017-11-27 00:29:37 +00:00
---
---
@import 'util';
@import 'colors';
@import 'fonts';
$flag-shadow: rgba(black, 0.2);
2017-11-25 06:16:50 +00:00
$animate-time: 0.03s;
2017-11-27 00:29:37 +00:00
#sidebar {
display: block;
flex-shrink: 0;
2017-11-27 00:29:37 +00:00
width: 180px;
margin: 0;
padding: {
top: 5px;
bottom: 5px;
left: 0px;
}
}
#navFlags {
display: block;
margin-block-start: 0;
margin-block-end: 0;
list-style-type: none;
line-height: 0;
margin: 0;
padding: {
left: 0px;
}
}
2017-11-27 00:29:37 +00:00
#navLinks {
padding: {
left: 10px;
}
color: $subtle;
font-family: $sidebar-font;
a{
color: $sidebar-link-text;
text-decoration: none;
@include prefix-group((
transition-duration: $animate-time,
transition-property: color,
), webkit moz o);
}
a:hover{
color: $sidebar-link-hover;
text-decoration: underline;
}
}
.flagButton, .flagButton::after, .flagPoint, .flagPoint::after {
@include prefix-group((
transition-duration: $animate-time,
transition-timing-function: ease-out
), webkit moz o);
}
.flag {
display: inline-block;
position: relative;
left: -3px;
text-align: center;
z-index: 1;
padding: {
top: 5px;
bottom: 5px;
left: 0px;
}
.flagButton {
display: block;
float: left;
2017-11-25 06:16:50 +00:00
height: 50px;
width: 160px;
border-radius: 0 5px 5px 0;
2017-11-27 00:29:37 +00:00
@include prefix(transition-property, width, webkit moz o);
@include prefix(transition-property, border-radius, webkit moz o);
2017-11-25 06:16:50 +00:00
.flagText {
font: {
family: $sidebar-font;
size: 20px;
weight: 600;
}
position: absolute;
line-height: normal;
text-align: center;
width: 160px;
right:0;
2017-11-25 05:15:09 +00:00
top:15px;
color: $sidebar-text;
}
}
2017-11-25 05:15:09 +00:00
.flagButton::after{
z-index: -1;
content: " ";
display: block;
position: relative;
left: 3px;
top: 4px;
height: 50px;
width: 160px;
background-color: $flag-shadow;
border-radius: 0 5px 5px 0;
2017-11-27 00:29:37 +00:00
@include prefix(transition-property, width, webkit moz o);
@include prefix(transition-property, border-radius, webkit moz o);
}
.flagPoint{
position: absolute;
width: 0;
height: 0;
2017-11-25 06:16:50 +00:00
left: 160px;
border-top: 25px solid transparent;
border-bottom: 25px solid transparent;
2017-11-25 06:16:50 +00:00
border-left-width: 0px;
border-left-style: solid;
background-color: transparent;
2017-11-25 06:16:50 +00:00
2017-11-27 00:29:37 +00:00
@include prefix(transition-property, left, webkit moz o);
@include prefix(transition-property, border-left-width, webkit moz o);
}
.flagPoint.blue {
border-left-color: $blue;
}
.flagPoint.orange {
border-left-color: $orange;
}
.flagPoint.green {
border-left-color: $green;
}
.flagPoint.magenta {
border-left-color: $magenta;
}
.flagPoint::after{
position: absolute;
width: 0;
height: 0;
border-top: 25px solid transparent;
border-bottom: 25px solid transparent;
2017-11-25 06:16:50 +00:00
border-left: 0px solid $flag-shadow;
z-index: -1;
content: " ";
left: -20 + 3px;
top: -25 + 4px;
2017-11-27 00:29:37 +00:00
@include prefix(transition-property, border-left-width, webkit moz o);
2017-11-25 06:16:50 +00:00
}
2017-11-27 00:29:37 +00:00
.flagFold{
display: block;
position: absolute;
z-index: -100;
left:0px;
top:55px;
width: 3px;
height: 3px;
mask-image: url('../svg/fold.svg');
}
2017-11-25 06:16:50 +00:00
}
.flag:hover {
.flagButton {
width: 170px;
border-radius: 0;
}
.flagButton::after{
width: 170px;
border-radius: 0;
}
2017-11-25 06:16:50 +00:00
.flagPoint {
left: 170px;
border-left-width: 20px;
}
.flagPoint::after{
border-left-width: 20px;
}
}