ol-ext
Version:
A set of cool extensions for OpenLayers (ol) in node modules structure
787 lines (739 loc) • 16.7 kB
CSS
.ol-overlaycontainer-stopevent {
/* BOUG ol6.1 to enable DragOverlay interaction
position: initial!important;
*/
}
/** ol.popup */
.ol-popup {
font-size:0.9em;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.ol-popup .ol-popup-content {
overflow:hidden;
cursor: default;
padding: 0.25em 0.5em;
}
.ol-popup.hasclosebox .ol-popup-content {
margin-right: 1.7em;
}
.ol-popup .ol-popup-content:after {
clear: both;
content: "";
display: block;
font-size: 0;
height: 0;
}
/** Anchor position */
.ol-popup .anchor {
display: block;
width: 0px;
height: 0px;
background:red;
position: absolute;
margin: -11px 22px;
pointer-events: none;
}
.ol-popup .anchor:after,
.ol-popup .anchor:before {
position:absolute;
}
.ol-popup-right .anchor:after,
.ol-popup-right .anchor:before {
right:0;
}
.ol-popup-top .anchor { top:0; }
.ol-popup-bottom .anchor { bottom:0; }
.ol-popup-right .anchor { right:0; }
.ol-popup-left .anchor { left:0; }
.ol-popup-center .anchor {
left:50%;
margin-left: 0;
}
.ol-popup-middle .anchor {
top:50%;
margin-top: 0;
}
.ol-popup-center.ol-popup-middle .anchor {
display:none;
}
/** Fixed popup */
.ol-popup.ol-fixed {
margin: 0;
top: .5em;
right: .5em;
left: auto;
bottom: auto;
transform: none;
}
.ol-popup.ol-fixed .anchor {
display: none;
}
.ol-popup.ol-fixed.anim > div {
animation: none;
}
.ol-popup .ol-fix {
width: 1em;
height: .9em;
background: #fff;
position: relative;
float: right;
margin: .2em;
cursor: pointer;
}
.ol-popup .ol-fix:before {
content: "";
width: .8em;
height: .7em;
display: block;
border: .1em solid #666;
border-right-width: 0.1em;
border-right-width: .3em;
box-sizing: border-box;
margin: .1em;
}
/** Add a shadow to the popup */
.ol-popup.shadow {
box-shadow: 2px 2px 2px 2px rgba(0,0,0,0.5);
}
/** Close box */
.ol-popup .closeBox {
background-color: rgba(0, 60, 136, 0.5);
color: #fff;
border: 0;
border-radius: 2px;
cursor: pointer;
float: right;
font-size: 0.9em;
font-weight: 700;
width: 1.4em;
height: 1.4em;
margin: 5px 5px 0 0;
padding: 0;
position: relative;
display:none;
}
.ol-popup.hasclosebox .closeBox {
display:block;
}
.ol-popup .closeBox:hover {
background-color: rgba(0, 60, 136, 0.7);
}
/* the X */
.ol-popup .closeBox:after {
content: "\00d7";
font-size:1.5em;
top: 50%;
left: 0;
right: 0;
width: 100%;
text-align: center;
line-height: 1em;
margin: -0.5em 0;
position: absolute;
}
/** Modify touch poup */
.ol-popup.modifytouch {
background-color: #eee;
}
.ol-popup.modifytouch .ol-popup-content {
padding: 0 0.25em;
font-size: 0.85em;
white-space: nowrap;
}
.ol-popup.modifytouch .ol-popup-content a {
text-decoration: none;
}
/** Tool tips popup*/
.ol-popup.tooltips {
background-color: #ffa;
}
.ol-popup.tooltips .ol-popup-content{
padding: 0 0.25em;
font-size: 0.85em;
white-space: nowrap;
}
/** Default popup */
.ol-popup.default > div {
background-color: #fff;
border:1px solid #69f;
border-radius: 5px;
}
.ol-popup.default {
margin: -11px 0;
transform: translate(0, -22px);
}
.ol-popup-top.ol-popup.default {
margin: 11px 0;
transform: none;
}
.ol-popup-left.default {
margin: -11px -22px;
transform: translate(0, -22px);
}
.ol-popup-top.ol-popup-left.default {
margin: 11px -22px;
transform: none;
}
.ol-popup-right.default {
margin: -11px 22px;
transform: translate(44px, -22px);
}
.ol-popup-top.ol-popup-right.default {
margin: 11px 22px;
transform: translate(44px, 0);
}
.ol-popup-middle.default {
margin:0 10px;
transform: none;
}
.ol-popup-middle.ol-popup-right.default {
margin:0 -10px;
transform: translate(-20px, 0);
}
.ol-popup.default .anchor {
color: #69f;
}
.ol-popup.default .anchor:after,
.ol-popup.default .anchor:before {
content:"";
border-color: currentColor transparent;
border-style: solid;
border-width: 11px;
margin: 0 -11px;
}
.ol-popup.default .anchor:after {
border-color: #fff transparent;
border-width: 11px;
margin: 2px -11px;
}
.ol-popup-top.default .anchor:before,
.ol-popup-top.default .anchor:after {
border-top:0;
top:0;
}
.ol-popup-bottom.default .anchor:before,
.ol-popup-bottom.default .anchor:after {
border-bottom:0;
bottom:0;
}
.ol-popup-middle.default .anchor:before {
margin: -11px -33px;
border-color: transparent currentColor;
}
.ol-popup-middle.default .anchor:after {
margin: -11px -31px;
border-color: transparent #fff;
}
.ol-popup-middle.ol-popup-left.default .anchor:before,
.ol-popup-middle.ol-popup-left.default .anchor:after {
border-left:0;
}
.ol-popup-middle.ol-popup-right.default .anchor:before,
.ol-popup-middle.ol-popup-right.default .anchor:after {
border-right:0;
}
/** Placemark popup */
.ol-popup.placemark {
color: #c00;
margin: -.65em 0;
transform: translate(0, -1.3em);
}
.ol-popup.placemark > div {
position: relative;
font-size: 15px;
background-color: #fff;
border: 0;
box-shadow: inset 0 0 0 0.45em;
width: 2em;
height: 2em;
border-radius: 50%;
min-width: unset;
box-sizing: border-box;
}
.ol-popup.placemark .ol-popup-content {
overflow: hidden;
cursor: default;
text-align: center;
padding: .25em 0;
width: 1em;
height: 1em;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
line-height: 1em;
}
.ol-popup.placemark .anchor {
margin: 0;
}
.ol-popup.placemark .anchor:before {
content: "";
margin: -.5em -.5em;
background: transparent;
width: 1em;
height: .5em;
border-radius: 50%;
box-shadow: 0 1em 0.5em rgba(0,0,0,.5);
}
.ol-popup.placemark .anchor:after {
content: "";
border-color: currentColor transparent;
border-style: solid;
border-width: 1em .7em 0;
margin: -.75em -.7em;
bottom:0;
}
/** Placemark Shield */
.ol-popup.placemark.shield > div {
border-radius: .2em;
}
.ol-popup.placemark.shield .anchor:after {
border-width: .8em 1em 0;
margin: -.7em -1em;
}
/** Placemark Blazon */
.ol-popup.placemark.blazon > div {
border-radius: .2em;
}
/** Placemark Needle/Pushpin */
.ol-popup.placemark.pushpin {
margin: -2.2em 0;
transform: translate(0, -4em);
}
.ol-popup.placemark.pushpin > div {
border-radius: 0;
background: transparent;
box-shadow: inset 2em 0 currentColor;
width: 1.1em;
}
.ol-popup.placemark.pushpin > div:before {
content: "";
width: 1.3em;
height: 1.5em;
border-style: solid;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
border-color: currentColor transparent;
border-width: .3em .5em .5em;
pointer-events: none;
}
.ol-popup.placemark.needle {
margin: -2em 0;
transform: translate(0, -4em);
}
.ol-popup.placemark.pushpin .anchor,
.ol-popup.placemark.needle .anchor {
margin: -1.2em;
}
.ol-popup.placemark.pushpin .anchor:after,
.ol-popup.placemark.needle .anchor:after {
border-style: solid;
border-width: 2em .15em 0;
margin: -.55em -0.2em;
width: .1em;
}
.ol-popup.placemark.pushpin .anchor:before,
.ol-popup.placemark.needle .anchor:before {
margin: -.75em -.5em;
}
/** Placemark Flag */
.ol-popup.placemark.flagv {
margin: -2em 1em;
transform: translate(0, -4em);
}
.ol-popup.placemark.flagv > div {
border-radius: 0;
box-shadow: none;
background-color: transparent;
}
.ol-popup.placemark.flagv > div:before {
content: "";
border: 1em solid transparent;
position: absolute;
border-left: 2em solid currentColor;
pointer-events: none;
}
.ol-popup.placemark.flagv .anchor {
margin: -1.4em;
}
.ol-popup.placemark.flag {
margin: -2em 1em;
transform: translate(0, -4em);
}
.ol-popup.placemark.flag > div {
border-radius: 0;
transform-origin: 0% 150%;
}
.ol-popup.placemark.flag .anchor {
margin: -1.4em;
}
.ol-popup.placemark.flagv .anchor:after,
.ol-popup.placemark.flag .anchor:after {
border-style: solid;
border-width: 2em .15em 0;
margin: -.55em -1em;
width: .1em;
}
.ol-popup.placemark.flagv .anchor:before,
.ol-popup.placemark.flag .anchor:before {
margin: -.75em -1.25em;
}
.ol-popup.placemark.flag.finish {
margin: -2em 1em;
}
.ol-popup.placemark.flag.finish > div {
background-image:
linear-gradient(45deg, currentColor 25%, transparent 25%, transparent 75%, currentColor 75%, currentColor),
linear-gradient(45deg, currentColor 25%, transparent 25%, transparent 75%, currentColor 75%, currentColor);
background-size: 1em 1em;
background-position: .5em 0, 0 .5em;
box-shadow: inset 0 0 0 .25em;
}
/** Black popup */
.ol-popup.black .closeBox {
background-color: rgba(0,0,0, 0.5);
border-radius: 5px;
color: #f80;
}
.ol-popup.black .closeBox:hover {
background-color: rgba(0,0,0, 0.7);
color:#da2;
}
.ol-popup.black {
margin: -20px 0;
transform: translate(0, -40px);
}
.ol-popup.black > div{
background-color: rgba(0,0,0,0.6);
border-radius: 5px;
color:#fff;
}
.ol-popup-top.ol-popup.black {
margin: 20px 0;
transform: none;
}
.ol-popup-left.black {
margin: -20px -22px;
transform: translate(0, -40px);
}
.ol-popup-top.ol-popup-left.black {
margin: 20px -22px;
transform: none;
}
.ol-popup-right.black {
margin: -20px 22px;
transform: translate(44px, -40px);
}
.ol-popup-top.ol-popup-right.black {
margin: 20px 22px;
transform: translate(44px, 0);
}
.ol-popup-middle.black {
margin: 0 11px;
transform: none;
}
.ol-popup-left.ol-popup-middle.black {
transform: none;
}
.ol-popup-right.ol-popup-middle.black {
margin:0 -11px;
transform: translate(-22px, 0);
}
.ol-popup.black .anchor {
margin: -20px 11px;
color: rgba(0,0,0,0.6);
}
.ol-popup.black .anchor:before {
content:"";
border-color: currentColor transparent;
border-style: solid;
border-width: 20px 11px;
}
.ol-popup-top.black .anchor:before {
border-top:0;
top:0;
}
.ol-popup-bottom.black .anchor:before {
border-bottom:0;
bottom:0;
}
.ol-popup-middle.black .anchor:before {
margin: -20px -22px;
border-color: transparent currentColor;
}
.ol-popup-middle.ol-popup-left.black .anchor:before {
border-left:0;
}
.ol-popup-middle.ol-popup-right.black .anchor:before {
border-right:0;
}
.ol-popup-center.black .anchor:before {
margin: 0 -10px;
}
/** Green tips popup */
.ol-popup.tips .closeBox {
background-color: #f00;
border-radius: 50%;
color: #fff;
width:1.2em;
height:1.2em;
}
.ol-popup.tips .closeBox:hover {
background-color: #f40;
}
.ol-popup.tips {
margin: -20px 0;
transform: translate(0,-40px);
}
.ol-popup.tips > div {
background-color: #cea;
border: 5px solid #ad7;
border-radius: 5px;
color:#333;
}
.ol-popup-top.ol-popup.tips {
margin: 20px 0;
transform: none;
}
.ol-popup-left.tips {
margin: -20px -22px;
transform: translate(0,-40px);
}
.ol-popup-top.ol-popup-left.tips {
margin: 20px -22px;
transform: none;
}
.ol-popup-right.tips {
margin: -20px 22px;
transform: translate(44px,-40px);
}
.ol-popup-top.ol-popup-right.tips {
margin: 20px 22px;
transform: translate(44px,0);
}
.ol-popup-middle.tips {
margin:0;
transform: none;
}
.ol-popup-left.ol-popup-middle.tips {
margin: 0 22px;
transform: none;
}
.ol-popup-right.ol-popup-middle.tips {
margin: 0 -22px;
transform: translate(-44px,0);
}
.ol-popup.tips .anchor {
margin: -18px 22px;
color: #ad7;
}
.ol-popup.tips .anchor:before {
content:"";
border-color: currentColor transparent;
border-style: solid;
border-width: 20px 11px;
}
.ol-popup-top.tips .anchor:before {
border-top:0;
top:0;
}
.ol-popup-bottom.tips .anchor:before {
border-bottom:0;
bottom:0;
}
.ol-popup-center.tips .anchor:before {
border-width: 20px 6px;
margin: 0 -6px;
}
.ol-popup-left.tips .anchor:before {
border-left:0;
margin-left:0;
}
.ol-popup-right.tips .anchor:before {
border-right:0;
margin-right:0;
}
.ol-popup-middle.tips .anchor:before {
margin: -6px -41px;
border-color: transparent currentColor;
border-width:6px 20px;
}
.ol-popup-middle.ol-popup-left.tips .anchor:before {
border-left:0;
}
.ol-popup-middle.ol-popup-right.tips .anchor:before {
border-right:0;
}
/** Warning popup */
.ol-popup.warning .closeBox {
background-color: #f00;
border-radius: 50%;
color: #fff;
font-size: 0.83em;
}
.ol-popup.warning .closeBox:hover {
background-color: #f40;
}
.ol-popup.warning {
background-color: #fd0;
border-radius: 3px;
border:4px dashed #f00;
margin:20px 0;
color:#900;
margin: -28px 10px;
transform: translate(0, -56px);
}
.ol-popup-top.ol-popup.warning {
margin: 28px 10px;
transform: none;
}
.ol-popup-left.warning {
margin: -28px -22px;
transform: translate(0, -56px);
}
.ol-popup-top.ol-popup-left.warning {
margin: 28px -22px;
transform: none;
}
.ol-popup-right.warning {
margin: -28px 22px;
transform: translate(44px, -56px);
}
.ol-popup-top.ol-popup-right.warning {
margin: 28px 22px;
transform: translate(44px, 0);
}
.ol-popup-middle.warning {
margin:0;
transform: none;
}
.ol-popup-left.ol-popup-middle.warning {
margin:0 22px;
transform: none;
}
.ol-popup-right.ol-popup-middle.warning {
margin:0 -22px;
transform: translate(-44px, 0);
}
.ol-popup.warning .anchor {
margin: -33px 7px;
}
.ol-popup.warning .anchor:before {
content:"";
border-color: #f00 transparent;
border-style: solid;
border-width: 30px 11px;
}
.ol-popup-top.warning .anchor:before {
border-top:0;
top:0;
}
.ol-popup-bottom.warning .anchor:before {
border-bottom:0;
bottom:0;
}
.ol-popup-center.warning .anchor:before {
margin: 0 -21px;
}
.ol-popup-middle.warning .anchor:before {
margin: -10px -33px;
border-color: transparent #f00;
border-width:10px 22px;
}
.ol-popup-middle.ol-popup-left.warning .anchor:before {
border-left:0;
}
.ol-popup-middle.ol-popup-right.warning .anchor:before {
border-right:0;
}
.ol-popup .ol-popupfeature table {
width: 100%;
}
.ol-popup .ol-popupfeature table td {
max-width: 25em;
overflow: hidden;
text-overflow: ellipsis;
}
.ol-popup .ol-popupfeature table td img {
max-width: 100px;
max-height: 100px;
}
.ol-popup .ol-popupfeature tr:nth-child(2n+1) {
background-color: #eee;
}
.ol-popup .ol-popupfeature .ol-zoombt {
border: 0;
width: 2em;
height: 2em;
display: inline-block;
color: rgba(0,60,136,.5);
position: relative;
background: transparent;
outline: none;
}
.ol-popup .ol-popupfeature .ol-zoombt:before {
content: "";
position: absolute;
box-sizing: border-box;
width: 1em;
height: 1em;
background-color: transparent;
border: .17em solid currentColor;
border-radius: 100%;
top: .3em;
left: .3em;
}
.ol-popup .ol-popupfeature .ol-zoombt:after {
content: "";
position: absolute;
box-sizing: border-box;
top: 1.35em;
left: 1.15em;
border-width: .1em .3em;
border-style: solid;
border-radius: .03em;
transform: rotate(45deg);
box-shadow: -0.2em 0 0 -0.04em;
}
.ol-popup .ol-popupfeature .ol-count{
float: right;
margin: .25em 0;
}
.ol-popup .ol-popupfeature .ol-prev,
.ol-popup .ol-popupfeature .ol-next {
border-style: solid;
border-color: transparent rgba(0,60,136,.5);
border-width: .5em 0 .5em .5em;
display: inline-block;
vertical-align: bottom;
margin: 0 .5em;
cursor: pointer;
}
.ol-popup .ol-popupfeature .ol-prev{
border-width: .5em .5em .5em 0;
}
.ol-popup.tooltips.black {
background-color: transparent;
}
.ol-popup.tooltips.black > div {
transform: scaleY(1.3);
padding: .2em .5em;
background-color: rgba(0,0,0, 0.5);
}
.ol-popup-middle.tooltips.black .anchor:before {
border-width: 5px 10px;
margin: -5px -21px;
}
.ol-popup-center.ol-popup-middle {
margin: 0;
}
.ol-popup-top.ol-popup-left.ol-fixPopup,
.ol-popup-top.ol-popup-right.ol-fixPopup,
.ol-popup.ol-fixPopup {
margin: 0;
}