planit
Version:
Interactive markers on an image or blank canvas
162 lines (143 loc) • 3.66 kB
CSS
.planit-container {
position: relative;
display: block;
width: 100%;
height: 400px;
margin: 25px auto;
background: rgba(239, 239, 239, 0.8);
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.planit-container .planit-image-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
}
.planit-container .planit-image-container img {
position: absolute;
top: 0;
left: 0;
width: 100%;
}
.planit-container .planit-controls {
display: inline-block;
position: absolute;
left: 5px;
top: 5px;
z-index: 999;
border: 1px solid #ccc;
}
.planit-container .planit-controls a.zoom {
display: block;
width: 15px;
height: 15px;
padding: 5px 5px;
text-decoration: none;
font-size: 18px;
line-height: 14px;
font-weight: 600;
color: #444;
text-align: center;
background: white;
}
.planit-container .planit-controls a.zoom:hover {
background: #ccc;
}
.planit-container .planit-markers-container {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
}
.planit-container .planit-markers-container .planit-marker {
position: absolute;
width: 30px;
height: 30px;
z-index: 99;
border-radius: 50%;
background: #FC5B3F;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
transition: none;
}
.planit-container .planit-markers-container .planit-marker.draggable:hover {
opacity: 0.8;
cursor: move;
cursor: -webkit-grab;
}
.planit-container .planit-markers-container .planit-marker.is-dragging:hover {
opacity: 0.8;
cursor: move;
cursor: -webkit-grabbing;
}
.planit-container .planit-infobox-container {
position: absolute;
width: 100%;
height: 100%;
}
.planit-container .planit-infobox-container .planit-infobox {
position: absolute;
display: none;
min-width: 200px;
max-width: 80%;
z-index: 998;
padding: 5px 15px;
cursor: initial;
background: #efefef;
border-radius: 3px;
}
.planit-container .planit-infobox-container .planit-infobox.active {
display: inline-block;
}
.planit-container .planit-infobox-container .planit-infobox.hidden {
display: none;
}
.planit-container .planit-infobox-container .planit-infobox:after {
content: '';
position: absolute;
width: 0;
height: 0;
}
.planit-container .planit-infobox-container .planit-infobox.arrow.top:after {
top: 100%;
left: 50%;
margin-left: -10px;
border-top: solid 10px white;
border-left: solid 10px transparent;
border-right: solid 10px transparent;
}
.planit-container .planit-infobox-container .planit-infobox.arrow.right:after {
top: 50%;
right: 100%;
margin-top: -10px;
border-right: solid 10px white;
border-top: solid 10px transparent;
border-bottom: solid 10px transparent;
}
.planit-container .planit-infobox-container .planit-infobox.arrow.bottom:after {
bottom: 100%;
left: 50%;
margin-left: -10px;
border-bottom: solid 10px white;
border-left: solid 10px transparent;
border-right: solid 10px transparent;
}
.planit-container .planit-infobox-container .planit-infobox.arrow.left:after {
top: 50%;
left: 100%;
margin-top: -10px;
border-left: solid 10px white;
border-top: solid 10px transparent;
border-bottom: solid 10px transparent;
}