You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Vestride_Shuffle/_scss/shuffle-styles.scss

175 lines
2.9 KiB
SCSS

@import "variables";
@import "mixins";
/*=============================================*\
Some styles to show off masonry layout
\*=============================================*/
$pictureGutter: 24px;
$itemHeight: 220px;
.picture-item {
height: 220px;
margin-top: $pictureGutter;
margin-left: 0; /* shuffle items shouldn't have a left margin*/
img {
display: block;
width: 100%;
max-width: none;
height: 100%;
object-fit: cover;
}
.no-objectfit & img {
height: auto;
max-width: 100%;
}
}
.picture-item--h2 {
height: ($itemHeight * 2) + $pictureGutter; /* 2x the height + 1 gutter */
}
.picture-item__inner {
position: relative;
height: 100%;
overflow: hidden;
background: $clouds;
}
.picture-item__blur {
display: none;
}
.picture-item__details,
.picture-item__description {
padding: 1em;
width: 100%;
}
.picture-item__description {
margin: 0;
padding-top: 0;
padding-right: 2em;
}
.picture-item__tags {
margin: 0;
}
@include breakpoint(sm) {
.picture-item--overlay {
.picture-item__details {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
background-color: rgba(black, .6);
color: white;
overflow: hidden;
}
.picture-item__description {
display: none;
}
}
@supports (filter: blur(1px)) and (clip-path: inset(0 0 0 0)) {
.picture-item--overlay {
.picture-item__blur {
position: absolute;
z-index: 1;
top: 0;
left: 0;
display: block;
filter: blur(7px);
clip-path: inset(#{$itemHeight - 50px} 0 0 0);
}
.picture-item__details {
background: none;
}
.picture-item__tags,
.picture-item__title {
position: relative;
z-index: 2;
}
}
}
}
/*
Shuffle needs either relative or absolute positioning on the container
It will set it for you, but it'll cause another style recalculation and layout.
AKA worse performance - so just set it here
*/
.my-shuffle-container {
position: relative;
overflow: hidden;
}
.my-sizer-element {
position: absolute;
opacity: 0;
visibility: hidden;
}
/* Animate in styles */
.shuffle--animatein {
overflow: visible;
}
.shuffle--animatein .picture-item__inner {
opacity: 0;
transform: translate(0, 220px);
}
.shuffle--animatein .picture-item__inner--transition {
transition: all .6s ease;
}
.shuffle--animatein .picture-item.in .picture-item__inner {
opacity: 1;
transform: translate(0, 0);
}
@include breakpoint(sm, true) {
.picture-item {
height: auto;
margin-top: 20px;
&.picture-item--h2 {
height: auto;
}
.picture-item__details,
.picture-item__description {
font-size: .875em;
padding: .625em;
}
.picture-item__description {
padding-right: .875em;
padding-bottom: 1.25em;
}
}
.filter > .row,
.filter > .row > div {
margin: 10px 0;
}
.m-nofloat {
float: none;
}
}