Files
zulip/static/styles/lightbox.css
Brock Whittaker a27f8f2f30 Fix up YouTube embed issues and styling.
This fixes the styling to stay on the screen of most reasonably sized
monitors along with extending the JavaScript code to allow for the
video to be keyed to in the lightbox.
2017-03-21 14:28:13 -07:00

267 lines
5.8 KiB
CSS

#lightbox_overlay {
background-color: #19203a;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
#lightbox_overlay .image-preview {
display: flex;
align-items: center;
justify-content: center;
position: relative;
width: 100%;
height: calc(100% - 65px - 95px);
margin: 0px;
background-size: contain;
background-repeat: no-repeat;
background-position: center center;
}
#lightbox_overlay .image-preview img {
max-height: 100%;
max-width: 100%;
background-color: #FFF;
background-image:
-moz-linear-gradient(45deg, #CCC 25%, transparent 25%),
-moz-linear-gradient(-45deg, #CCC 25%, transparent 25%),
-moz-linear-gradient(45deg, transparent 75%, #000 75%),
-moz-linear-gradient(-45deg, transparent 75%, #000 75%);
background-image:
-webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, #CCC), color-stop(.25, transparent)),
-webkit-gradient(linear, 0 0, 100% 100%, color-stop(.25, #CCC), color-stop(.25, transparent)),
-webkit-gradient(linear, 0 100%, 100% 0, color-stop(.75, transparent), color-stop(.75, #CCC)),
-webkit-gradient(linear, 0 0, 100% 100%, color-stop(.75, transparent), color-stop(.75, #CCC));
-moz-background-size: 20px 20px;
background-size: 20px 20px;
-webkit-background-size: 20px 20px;
background-position: 0 0, 50px 0, 50px -50px, 0px 50px;
}
#lightbox_overlay .exit {
float: right;
color: rgba(255,255,255,0.8);
font-size: 2rem;
font-weight: 200;
margin: 24px 20px 0px 0px;
transform: scaleY(0.75);
font-weight: 300;
opacity: 0;
pointer-events: none;
cursor: pointer;
transition: all 0.2s ease;
}
#lightbox_overlay.show .exit {
pointer-events: auto;
opacity: 1;
}
#lightbox_overlay .image-info-wrapper {
background-color: transparent;
}
#lightbox_overlay .image-description,
#lightbox_overlay .image-actions {
float: left;
margin: 20px 20px;
}
#lightbox_overlay .image-actions {
float: right;
}
#lightbox_overlay .image-actions a {
margin-bottom: 0px;
margin-top: 0px;
}
#lightbox_overlay .image-actions .icon {
font-size: 1.1rem;
display: inline-block;
}
#lightbox_overlay .image-actions .icon .text {
font-size: 0.9rem;
}
#lightbox_overlay .image-actions span:nth-of-type(2) {
position: relative;
top: 1px;
}
#lightbox_overlay .image-actions .open span:nth-of-type(2) {
top: 2px;
}
#lightbox_overlay .image-description {
/* approx width of screen minus action buttons on the side. */
width: calc(100% - 260px);
/* add some extra margin top and remove some bottom to keep the
height the same. and vertically center the text with the buttons. */
margin-top: 25px;
margin-bottom: 15px;
font-size: 1.3rem;
color: #fff;
}
#lightbox_overlay .image-description .title {
display: inline-block;
vertical-align: top;
font-weight: 500;
line-height: normal;
max-width: calc(100% - 210px);
/* Required for text-overflow */
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#lightbox_overlay .image-description .user::before {
margin-right: 5px;
content: "\2014";
}
#lightbox_overlay .player-container {
height: calc(100% - 65px - 95px);
display: flex;
text-align: center;
justify-content: center;
align-items: center;
}
#lightbox_overlay .player-container iframe {
/* maintain 16:9 ratio. */
width: calc((100vh - 65px - 95px) * 16 / 9);
height: 100%;
margin: auto;
}
#lightbox_overlay .image-description .user {
max-width: 200px;
display: inline-block;
vertical-align: top;
font-weight: 300;
line-height: normal;
text-overflow: ellipsis;
overflow: hidden;
white-space: pre;
}
#lightbox_overlay .center .arrow {
display: inline-block;
vertical-align: top;
margin-top: 25px;
padding: 5px 10px;
color: #fff;
font-size: 1.8em;
font-weight: 100;
transform: scaleY(2);
cursor: pointer;
opacity: 0.5;
transition: all 0.3s ease;
}
#lightbox_overlay .center .arrow:hover {
opacity: 1;
}
#lightbox_overlay .center .image-list {
position: relative;
display: inline-block;
padding: 15px 0px 12px 0px;
height: 50px;
font-size: 0px;
max-width: 40vw;
overflow-x: auto;
white-space: nowrap;
}
#lightbox_overlay .center .image-list .image {
display: inline-block;
vertical-align: top;
width: 50px;
height: 50px;
margin: 0px 2px;
background-color: rgba(240, 240, 240, 0.2);
opacity: 0.5;
background-size: cover;
background-position: center;
cursor: pointer;
}
#lightbox_overlay .image-list .image.selected {
opacity: 1;
}
.image-actions .button {
font-size: 0.8rem;
min-width: inherit;
padding: 4px 10px;
border: 1px solid rgba(255,255,255,0.6);
background-color: transparent;
color: #fff;
border-radius: 4px;
}
.image-actions .button:hover {
background-color: #fff;
color: #19203a;
}
.image-actions a.button {
text-decoration: none;
}
.button .download {
top: 1px;
}
#lightbox_overlay .clear-float {
clear: both;
}
@media only screen and (min-device-width : 320px) and (max-device-width : 736px) {
#lightbox_overlay .image-actions {
display: none !important;
}
#lightbox_overlay .image-description {
width: calc(100% - 100px);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#lightbox_overlay .image-description .title {
max-width: calc(100% - 60px);
}
#lightbox_overlay .center .image-list {
max-width: 80vw;
}
#lightbox_overlay .player-container iframe {
/* maintain 16:9 ratio. */
width: 100%;
height: calc((100vw) * 9 / 16);
margin: auto;
}
}