lychee/src/styles/_content.scss

244 lines
4.6 KiB
SCSS
Raw Normal View History

2015-09-28 16:47:50 +00:00
.content {
2015-01-04 19:55:13 +00:00
2015-04-06 14:23:23 +00:00
display: flex;
flex-wrap: wrap;
padding: 50px 0 33px;
width: 100%;
min-height: calc(100% - 83px);
-webkit-overflow-scrolling: touch;
&::before {
content: '';
position: absolute;
left: 0;
width: 100%;
height: 1px;
2015-09-28 16:47:50 +00:00
background: white(.02);
}
2015-09-28 17:11:30 +00:00
&--sidebar {
width: calc(100% - 300px);
}
2015-09-28 17:11:30 +00:00
// Animations -------------------------------------------------------------- //
&.contentZoomIn .album,
&.contentZoomIn .photo {
animation-name: zoomIn;
}
&.contentZoomIn .divider {
animation-name: fadeIn;
}
&.contentZoomOut .album,
&.contentZoomOut .photo {
animation-name: zoomOut;
}
&.contentZoomOut .divider {
animation-name: fadeOut;
}
2015-09-28 17:11:30 +00:00
// Albums and Photos ------------------------------------------------------ //
.album,
.photo {
position: relative;
width: 202px;
height: 202px;
2014-11-08 10:30:25 +00:00
margin: 30px 0 0 30px;
2015-03-11 21:32:57 +00:00
cursor: default;
2014-11-08 10:30:25 +00:00
2015-09-28 16:47:50 +00:00
animation-duration: .2s;
animation-fill-mode: forwards;
animation-timing-function: $timing;
2014-11-08 10:30:25 +00:00
img {
position: absolute;
width: 200px;
height: 200px;
2015-09-28 17:11:30 +00:00
background: #222;
2016-04-10 14:44:49 +00:00
color: #222;
box-shadow: 0 2px 5px black(.5);
border: 1px solid white(.5);
transition: opacity .3s ease-out, transform .3s ease-out, border-color .3s ease-out;
2014-11-08 10:30:25 +00:00
}
&:hover img,
&.active img {
border-color: $colorBlue;
2014-11-08 10:30:25 +00:00
}
2015-03-08 22:35:36 +00:00
&:active img {
transition: none;
border-color: darken($colorBlue, 15%);
}
}
2015-09-28 17:11:30 +00:00
// Album -------------------------------------------------------------- //
.album {
img:first-child,
img:nth-child(2) {
transform: rotate(0) translateY(0) translateX(0);
opacity: 0;
2014-11-08 10:30:25 +00:00
}
&:hover img:nth-child(1),
2015-09-28 17:11:30 +00:00
&:hover img:nth-child(2) {
opacity: 1;
// Keep the composited layer created by the browser during the animation.
// Makes the border of the transformed thumb look better.
// See https://github.com/electerious/Lychee/pull/626 for more.
will-change: transform;
2015-09-28 17:11:30 +00:00
}
2014-11-08 10:30:25 +00:00
2015-09-28 17:11:30 +00:00
&:hover img:nth-child(1) {
transform: rotate(-2deg) translateY(10px) translateX(-12px);
}
2014-11-08 10:30:25 +00:00
2015-09-28 17:11:30 +00:00
&:hover img:nth-child(2) {
transform: rotate(5deg) translateY(-8px) translateX(12px);
}
}
2015-09-28 17:11:30 +00:00
// Overlay -------------------------------------------------------------- //
.album .overlay,
.photo .overlay {
position: absolute;
margin: 0 1px;
width: 200px;
2015-01-06 21:54:32 +00:00
background: linear-gradient(to bottom, black(0), black(.6));
bottom: 1px;
}
2014-11-08 10:30:25 +00:00
2014-11-09 22:32:23 +00:00
// No overlay for empty albums
.album img[data-overlay='false'] + .overlay {
background: none;
}
2014-11-08 10:30:25 +00:00
2015-01-06 21:54:32 +00:00
.photo .overlay { opacity: 0; }
2014-11-08 10:30:25 +00:00
.photo:hover .overlay,
.photo.active .overlay {
opacity: 1;
}
2014-11-08 10:30:25 +00:00
.album .overlay h1,
.photo .overlay h1 {
min-height: 19px;
width: 180px;
margin: 12px 0 5px 15px;
color: #fff;
2015-01-06 21:54:32 +00:00
text-shadow: 0 1px 3px black(.4);
font-size: 16px;
font-weight: bold;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
2014-11-08 10:30:25 +00:00
.album .overlay a,
.photo .overlay a {
display: block;
margin: 0 0 12px 15px;
font-size: 11px;
2015-05-10 18:28:36 +00:00
color: #ccc;
2015-01-06 21:54:32 +00:00
text-shadow: 0 1px 3px black(.4);
}
2014-11-08 10:30:25 +00:00
.photo .overlay a .iconic {
2015-05-10 18:28:36 +00:00
fill: #ccc;
margin: 0 5px 0 0;
width: 8px;
2015-04-02 21:22:46 +00:00
height: 8px;
}
.album img[data-overlay='false'] + .overlay h1,
2015-09-28 17:11:30 +00:00
.album img[data-overlay='false'] + .overlay a {
text-shadow: none;
}
2015-01-06 21:54:32 +00:00
2015-09-28 17:11:30 +00:00
// Badge -------------------------------------------------------------- //
.album .badges,
.photo .badges {
position: relative;
margin: -1px 0 0 6px;
}
.album .badge,
.photo .badge {
display: none;
margin: 0 0 0 6px;
padding: 12px 8px 6px;
width: 18px;
background: $colorRed;
box-shadow: 0 0 2px black(.6);
2014-12-29 00:50:57 +00:00
border-radius: 0 0 5px 5px;
border: 1px solid #fff;
border-top: none;
color: #fff;
text-align: center;
text-shadow: 0 1px 0 black(.4);
opacity: .9;
2014-11-08 10:30:25 +00:00
2015-09-28 17:11:30 +00:00
&--visible {
display: inline-block;
}
2014-11-08 10:30:25 +00:00
2014-12-29 00:50:57 +00:00
.iconic {
fill: #fff;
width: 16px;
2015-04-02 21:22:46 +00:00
height: 16px;
2014-11-08 10:30:25 +00:00
}
}
2014-11-08 10:30:25 +00:00
2015-09-28 17:11:30 +00:00
// Divider -------------------------------------------------------------- //
.divider {
2014-12-29 00:50:57 +00:00
margin: 50px 0 0;
padding: 10px 0 0;
width: 100%;
opacity: 0;
border-top: 1px solid white(.02);
box-shadow: $shadow;
2014-11-08 10:30:25 +00:00
2015-09-28 16:47:50 +00:00
animation-duration: .2s;
animation-fill-mode: forwards;
animation-timing-function: $timing;
2014-11-08 10:30:25 +00:00
&:first-child {
margin-top: 10px;
border-top: 0;
box-shadow: none;
2014-11-08 10:30:25 +00:00
}
h1 {
2014-12-29 00:50:57 +00:00
margin: 0 0 0 30px;
color: white(.6);
2014-11-08 10:30:25 +00:00
font-size: 14px;
font-weight: bold;
}
}
}
2015-01-04 19:55:13 +00:00
2015-09-28 17:11:30 +00:00
// No content -------------------------------------------------------------- //
.no_content {
position: absolute;
top: 50%;
left: 50%;
padding-top: 20px;
2015-05-10 16:21:21 +00:00
color: white(.35);
text-align: center;
transform: translateX(-50%) translateY(-50%);
.iconic {
2015-05-10 16:21:21 +00:00
fill: white(.3);
margin: 0 0 10px;
2015-05-10 21:02:56 +00:00
width: 50px;
height: 50px;
}
p {
2015-05-10 21:02:56 +00:00
font-size: 16px;
font-weight: bold;
}
2015-01-04 19:55:13 +00:00
}