meshviewer/scss/modules/_leaflet.scss
2017-02-26 21:42:19 +01:00

355 lines
5.4 KiB
SCSS

.leaflet-map-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-pane,
.leaflet-tile-container,
.leaflet-overlay-pane,
.leaflet-shadow-pane,
.leaflet-marker-pane,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
left: 0;
position: absolute;
top: 0;
}
.leaflet-container {
background: $color-map-background;
cursor: grab;
outline: 0;
overflow: hidden;
touch-action: none;
a {
color: $color-primary;
}
img {
max-width: none;
}
.leaflet-control-attribution {
background: transparentize($color-white, .3);
margin: 0;
}
.leaflet-control-layers-toggle {
background: $color-white;
border-radius: 50%;
color: $color-black;
display: block;
font-size: 1.6rem;
height: 1.8em;
line-height: 1.95;
margin-right: 16px;
opacity: .7;
text-align: center;
transition: background-color .5s, color .5s;
width: 1.8em;
@media screen and (max-width: map-get($grid-breakpoints, lg) - 1) {
margin-right: -2px;
transform: scale(.8);
}
&::before {
content: '\f229';
font-family: ionicons;
speak: none;
text-rendering: auto;
}
}
}
.leaflet-tile {
filter: inherit;
visibility: hidden;
}
.leaflet-tile-loaded {
visibility: inherit;
}
.leaflet-zoom-box {
height: 0;
width: 0;
}
.leaflet-tile-pane {
z-index: 2;
}
.leaflet-objects-pane {
z-index: 3;
}
.leaflet-overlay-pane {
z-index: 4;
}
.leaflet-shadow-pane {
z-index: 5;
}
.leaflet-marker-pane {
z-index: 6;
}
.leaflet-vml-shape {
height: 1px;
width: 1px;
}
.leaflet-control {
clear: both;
cursor: auto;
float: left;
font-size: $font-size-map-control;
pointer-events: auto;
position: relative;
z-index: 7;
}
.leaflet-top,
.leaflet-bottom {
pointer-events: none;
position: absolute;
z-index: 1000;
}
.leaflet-top {
top: 0;
.leaflet-control {
margin-top: 10px;
}
}
.leaflet-right {
right: 0;
.leaflet-control {
float: right;
}
}
.leaflet-bottom {
bottom: 0;
}
.leaflet-left {
left: 0;
.leaflet-control {
margin-left: 10px;
}
}
.leaflet-fade-anim {
.leaflet-tile {
opacity: 0;
transition: opacity .2s linear;
}
.leaflet-tile-loaded {
opacity: 1;
}
}
%no-transition {
transition: none;
}
.leaflet-zoom-anim {
.leaflet-tile {
@extend %no-transition;
}
.leaflet-zoom-animated {
transition: transform .25s cubic-bezier(0, 0, .25, 1);
}
.leaflet-zoom-hide {
visibility: hidden;
}
}
.leaflet-pan-anim {
.leaflet-tile {
@extend %no-transition;
}
}
.leaflet-touching {
.leaflet-zoom-animated {
@extend %no-transition;
}
}
.leaflet-clickable {
cursor: pointer;
}
.leaflet-dragging {
.leaflet-container,
.leaflet-clickable {
cursor: move;
}
}
.leaflet-touch {
.leaflet-control-layers,
.leaflet-bar {
background-clip: padding-box;
border: 2px solid transparentize($color-black, .8);
}
.leaflet-control-layers-toggle {
height: 44px;
width: 44px;
}
}
.leaflet-control-layers {
&.leaflet-control {
background: transparent;
border: 0;
border-radius: 0;
box-shadow: none;
margin: 0;
opacity: .8;
}
label {
display: block;
}
.leaflet-control-layers-list {
display: none;
}
}
.leaflet-control-layers-expanded {
background: $color-white;
color: $color-gray-dark;
.leaflet-control-layers-toggle {
display: none;
}
.leaflet-control-layers-list {
background: transparentize($color-white, .1);
color: $color-gray-dark;
display: block;
padding: 2px 10px;
position: relative;
label {
cursor: pointer;
}
}
}
.leaflet-control-layers-selector {
display: none;
+ span {
display: block;
padding: 5px 0 8px 20px;
&::before {
border: 1px solid $color-primary;
border-radius: 50%;
content: ' ';
height: 10px;
margin: 0 0 0 -18px;
position: absolute;
transition: background .3s;
width: 10px;
}
&:hover {
&::before {
background: transparentize($color-primary, .7);
}
}
}
&:checked {
+ span {
&::before {
background: $color-primary;
}
}
}
}
.leaflet-control-layers-separator {
border-top: 1px solid $color-gray-light;
height: 0;
margin: 5px -10px 5px -6px;
}
.leaflet-control-attribution,
.leaflet-control-scale-line {
color: $color-gray-dark;
padding: 2px 5px 4px;
}
.leaflet-label {
&.leaflet-label-right {
background-color: $color-white;
border: 1px solid $color-primary;
border-radius: 0;
display: block;
font-size: $font-size-map-control;
font-weight: normal;
line-height: 1.5;
opacity: .8;
padding: 1px 6px;
position: absolute;
user-select: none;
white-space: nowrap;
z-index: 6;
&::before {
display: none;
}
}
}
.leaflet-control-zoom {
opacity: .7;
right: 16px;
top: 65px;
@media screen and (max-width: map-get($grid-breakpoints, lg) - 1) {
right: calc(100vw - 50px);
top: -10px;
transform: scale(.8);
}
a {
background: $color-white;
border-radius: 5px 5px 0 0;
color: $color-black;
display: block;
font-size: 40px;
height: 46px;
text-align: center;
transition: background-color .5s, color .5s;
width: 46px;
&:hover {
color: $color-primary;
}
+ a {
border-radius: 0 0 5px 5px;
border-top: 1px solid $color-gray-light;
}
}
}