cartodb-4.29/carto.js/themes/scss/infowindow/_cartodb-infowindow-default.scss
2020-06-15 10:58:47 +08:00

431 lines
9.3 KiB
SCSS

// Infowindow styles
// ----------------------------------------------
.CDB-infowindow-wrapper {
position: absolute;
z-index: 1; // makes infowindows visible with Google Maps
word-wrap: break-word;
overflow-wrap: break-word;
}
.CDB-infowindow {
position: relative;
transform: translateY(-24px) translateX(4px); /* remove when fix the position */
border-radius: 4px;
background: #FFF;
font-family: 'Open Sans';
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.24);
cursor: default;
-webkit-font-smoothing: antialiased;
}
.CDB-infowindow-container {
border-radius: 4px;
overflow: hidden;
}
.CDB-infowindow.is-loading .CDB-infowindow-inner {
min-height: 104px;
}
.CDB-infowindow-inner,
.CDB-infowindow-headerBg {
padding: 20px 24px 18px;
}
.CDB-infowindow-inner.CDB-infowindow-inner--scroll .CDB-infowindow-list {
max-height: 200px;
}
.CDB-infowindow.has-header .CDB-infowindow-headerBg {
padding-bottom: 12px;
}
.CDB-infowindow.has-header .CDB-infowindow-inner {
padding-top: 0 !important;
}
.CDB-infowindow.no-content .CDB-infowindow-inner {
display: none;
}
.CDB-infowindow-header .CDB-infowindow-tabs {
margin: -20px -24px 18px;
}
.CDB-infowindow-subtitle {
margin-bottom: 2px;
font-size: 10px;
font-weight: $sFontWeight-lighter;
line-height: $sLineHeight-small;
text-transform: uppercase;
}
.CDB-infowindow-title {
font-size: $sFontSize-medium;
font-weight: $sFontWeight-semibold;
line-height: $sLineHeight-medium;
}
.CDB-infowindow-link {
display: inline-block;
width: 90%;
word-break: break-word;
}
.CDB-infowindow.has-scroll .CDB-infowindow-inner {
position: relative;
padding-top: 8px;
padding-right: 0;
padding-bottom: 0;
}
.CDB-infowindow.has-scroll .CDB-infowindow-inner .CDB-infowindow-list {
position: relative;
max-height: 200px;
padding-top: 12px;
padding-bottom: 18px;
overflow: scroll;
}
.CDB-infowindow.has-scroll .CDB-infowindow-list .CDB-infowindow-listItem {
margin-right: 20px;
}
.CDB-infowindow-listItem {
margin-top: 12px;
}
.CDB-infowindow-listItem:first-child {
margin-top: 0;
}
.CDB-infowindow-listItem--order1 {
display: none;
}
.CDB-infowindow-canvasShadow {
display: none;
position: absolute;
right: 0;
left: 0;
height: 40px;
z-index: 1;
pointer-events: none;
}
.CDB-infowindow-canvasShadow--top {
@include background-gradient(#FFF, rgba(255, 255, 255, 0));
top: 0;
border-top-left-radius: $baseSize / 2;
border-top-right-radius: $baseSize / 2;
}
.CDB-infowindow-canvasShadow--bottom {
@include background-gradient(rgba(255, 255, 255, 0), #FFF);
bottom: 0;
border-bottom-left-radius: $baseSize / 2;
border-bottom-right-radius: $baseSize / 2;
}
.CDB-infowindow-canvasShadow.is-visible {
display: block;
z-index: 2;
}
.CDB-infowindow-list .ps-scrollbar-y-rail {
z-index: 3;
}
.CDB-infowindow-list .ps-scrollbar-x-rail {
z-index: 3;
}
.CDB-infowindow.has-header .CDB-infowindow-mediaTitle {
display: block;
bottom: 12px;
}
.CDB-infowindow.is-fail .CDB-infowindow-header {
display: flex;
align-items: center;
justify-content: center;
}
.CDB-infowindow-fail {
display: block;
padding: 3px;
background: #FFF7F6;
color: rgb(243, 86, 60);
font-size: 9px;
text-align: center;
text-transform: uppercase;
}
.CDB-infowindow.has-title.has-items.has-header-image .CDB-infowindow-fail {
position: absolute;
top: 20px;
left: 20px;
text-align: left;
}
.CDB-infowindow.has-title .CDB-infowindow-fail {
position: absolute;
top: 20px;
left: 20px;
text-align: center;
}
.CDB-infowindow-mediaTitle .CDB-infowindow-fail {
width: auto;
padding: 16px 0 0 20px;
text-align: left;
}
.CDB-infowindow-mediaTitle {
position: absolute;
right: 24px;
bottom: 24px;
left: 24px;
}
.CDB-infowindow-headerMedia {
position: relative;
min-height: 104px;
overflow: hidden;
z-index: 1;
.CDB-infowindow-title > span {
display: inline;
padding: 2px 0;
background-color: rgba(0, 0, 0, 0.8);
box-shadow: 4px 0 0 rgba(0, 0, 0, 0.8), -4px 0 0 rgba(0, 0, 0, 0.8);
}
.CDB-infowindow-subtitle {
margin-bottom: 4px;
}
.CDB-infowindow-subtitle > span {
display: inline;
padding: 2px 0;
background-color: rgba(0, 0, 0, 0.64);
box-shadow: 4px 0 0 rgba(0, 0, 0, 0.64), -4px 0 0 rgba(0, 0, 0, 0.64);
}
}
.CDB-infowindow.is-loading .CDB-infowindow-media-item {
opacity: 0;
}
.CDB-infowindow.is-loading .CDB-infowindow-headerMedia {
min-height: 104px;
background: #F5F5F5;
}
.CDB-infowindow.is-fail .CDB-infowindow-headerMedia {
background: #FEF8F7;
}
.CDB-infowindow.is-fail.has-header-image .CDB-hook-image:before {
border-top-color: #FEF8F7;
}
.CDB-infowindow-media-item {
display: none;
width: 100%;
transition: opacity 150ms ease-in-out;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
opacity: 1;
}
.has-header .CDB-infowindow-media-item {
border-radius: 0;
}
.CDB-hook {
position: absolute;
bottom: 1px;
left: 24px;
z-index: 10;
}
.CDB-hookImage {
position: absolute;
top: 0;
left: -24px;
z-index: 10;
}
.CDB-hook:before {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
border-top: 16px solid #FFF;
border-right: 24px solid transparent;
content: '';
z-index: 3;
}
.CDB-hook--green.CDB-hook:before {
border-top: 16px solid #98E0A8 !important;
}
.CDB-hook--orange.CDB-hook:before {
border-top: 16px solid #E68165 !important;
}
.CDB-hook:after,
.CDB-hook-image:after {
position: absolute;
top: 3px;
left: 0;
width: 0;
height: 0;
border-top: 16px solid rgba(0, 0, 0, 0.14);
border-right: 24px solid transparent;
-webkit-filter: blur(2px);
filter: blur(2px);
content: '';
z-index: 2;
}
.CDB-hook-image.has-image,
.CDB-infowindow.has-header-image .CDB-hook-image.has-image {
position: absolute;
left: 24px;
width: 24px;
height: 16px;
z-index: 3;
img {
margin-left: -24px;
}
}
.CDB-hook-image-inner {
pointer-events: none;
}
.CDB-hook-image.has-image:before,
.CDB-infowindow.has-header-image .CDB-hook-image.has-image:before,
.CDB-hook-image-inner.has-image:before {
display: none;
}
.CDB-infowindow.has-header-image .CDB-hook-image.has-image .CDB-hook-image-inner {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
z-index: 3;
}
.CDB-infowindow.has-header-image .CDB-hook-image {
position: absolute;
left: 24px;
z-index: 10;
}
.CDB-infowindow.has-header-image .CDB-hook-image:before {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
border-top: 16px solid #F5F5F5;
border-right: 24px solid transparent;
content: '';
z-index: 3;
}
.CDB-infowindow-tabs {
position: relative;
width: auto;
padding: 21px 24px 0;
font-size: 10px;
font-weight: 600;
line-height: 14px;
overflow: hidden;
}
.CDB-infowindow-tabsItem {
position: relative;
margin-right: 16px;
float: left;
z-index: 2;
}
.CDB-infowindow-tabsLinks {
display: block;
padding-bottom: 13px;
text-decoration: none;
}
.CDB-infowindow-navigation {
position: relative;
margin: -1px 24px 0;
padding: 14px 0 24px;
border-top: 1px solid #F2F6F9;
color: #636D72;
font-size: 10px;
text-align: center;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.CDB-infowindow-navigation-info {
pointer-events: none;
}
.CDB-infowindow-navigationPrev {
display: block;
position: absolute;
top: 19px;
left: 0;
width: 4px;
height: 7px;
cursor: pointer;
z-index: 10;
&:before {
display: block;
position: absolute;
top: 0;
left: 0;
width: 6px;
height: 1px;
transform: rotate(-45deg);
background: #3AA9E3;
content: '';
}
&:after {
display: block;
position: absolute;
bottom: 2px;
left: 0;
width: 6px;
height: 1px;
transform: rotate(45deg);
background: #3AA9E3;
content: '';
}
}
.CDB-infowindow-navigationNext {
display: block;
position: absolute;
top: 19px;
right: 0;
width: 4px;
height: 7px;
cursor: pointer;
z-index: 10;
&:before {
display: block;
position: absolute;
top: 0;
left: 0;
width: 6px;
height: 1px;
transform: rotate(45deg);
background: #3AA9E3;
content: '';
}
&:after {
display: block;
position: absolute;
bottom: 2px;
left: 0;
width: 6px;
height: 1px;
transform: rotate(-45deg);
background: #3AA9E3;
content: '';
}
}
.CDB-infowindow-mask {
pointer-events: none;
}
.CDB-infowindow-mask image {
visibility: visible;
}
.CDB-infowindow-close {
position: absolute;
top: -12px;
right: -12px;
width: 24px;
height: 24px;
border-radius: 50%;
background: #FFF url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iOHB4IiBoZWlnaHQ9IjZweCIgdmlld0JveD0iMCAwIDggNiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gICAgICAgIDx0aXRsZT5TdHJva2UgMzwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+ICAgICAgICA8cGF0aCBkPSJNMSwwIEw3LDYgTTcsMCBMMSw2IiBpZD0iU3Ryb2tlLTMiIHN0cm9rZT0iIzNBQTlFMyI+PC9wYXRoPiAgICA8L2c+PC9zdmc+) no-repeat center center;
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.24);
cursor: pointer;
z-index: 4;
}