mirror of
https://github.com/yogeshojha/rengine.git
synced 2026-08-24 23:02:24 +02:00
191 lines
3.2 KiB
CSS
191 lines
3.2 KiB
CSS
|
|
/** BASIC SETUP START **/
|
|
|
|
.gridzy {
|
|
display: block;
|
|
will-change: width, height;
|
|
}
|
|
|
|
/* Hint for browsers to make animations even smoother */
|
|
.gridzy > .gridzyItem {
|
|
will-change: left, top, width, height, opacity, transform;
|
|
}
|
|
|
|
/* Prevent initial visibility of items */
|
|
.gridzy > *:not(.gridzyItem) {
|
|
visibility: hidden;
|
|
}
|
|
|
|
/* Fully visible state of items (transitions see below) */
|
|
.gridzyItemVisible {
|
|
}
|
|
|
|
/* Fully hidden state of items (transitions see below) */
|
|
.gridzyItemHidden {
|
|
display: none;
|
|
}
|
|
|
|
/** BASIC SETUP END **/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** SKIN SETUP START **/
|
|
|
|
/* Provides possibility to use semantic HTML without needing any skin, by using class "gridzyImage" */
|
|
.gridzy .gridzyImage {
|
|
vertical-align: middle;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
/** SKIN SETUP END **/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** ANIMATION START **/
|
|
|
|
/* transitions for several dynamic style changes */
|
|
.gridzyAnimated {
|
|
height: 0;
|
|
transition: height .4s;
|
|
}
|
|
|
|
.gridzyAnimated .gridzyItem {
|
|
transition: all .4s;
|
|
}
|
|
|
|
/* Animation for appearing items on start of gallery */
|
|
.gridzyAnimated .gridzyItemInitialToVisible {
|
|
animation-name: gridzyItemInitialToVisibleAnimation;
|
|
animation-fill-mode: forwards;
|
|
animation-duration: .4s;
|
|
}
|
|
|
|
@keyframes gridzyItemInitialToVisibleAnimation {
|
|
0% {
|
|
opacity: 0;
|
|
transform: scale(.9);
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
/* Animation for appearing items while changing filter */
|
|
.gridzyAnimated .gridzyItemHiddenToVisible {
|
|
animation-name: gridzyItemHiddenToVisibleAnimation;
|
|
animation-fill-mode: forwards;
|
|
animation-duration: .4s;
|
|
}
|
|
|
|
@keyframes gridzyItemHiddenToVisibleAnimation {
|
|
0% {
|
|
opacity: 0;
|
|
transform: scale(.9);
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
/* Animation for disappearing items while changing filter */
|
|
.gridzyAnimated .gridzyItemVisibleToHidden {
|
|
animation-name: gridzyItemVisibleToHiddenAnimation;
|
|
animation-fill-mode: forwards;
|
|
animation-duration: .4s;
|
|
}
|
|
|
|
@keyframes gridzyItemVisibleToHiddenAnimation {
|
|
0% {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
|
|
100% {
|
|
opacity: 0;
|
|
transform: scale(.9);
|
|
}
|
|
}
|
|
|
|
/* Here you can add an animation for items which stay visible while changing filter */
|
|
/*
|
|
.gridzyAnimated .gridzyItemVisibleToVisible {
|
|
animation-name: gridzyItemVisibleToVisibleAnimation;
|
|
animation-fill-mode: forwards;
|
|
animation-duration: .4s;
|
|
}
|
|
|
|
@keyframes gridzyItemVisibleToVisibleAnimation {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
*/
|
|
|
|
/** ANIMATION END **/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** PROGRESS INDICATOR START **/
|
|
|
|
.gridzyItem {
|
|
opacity: 1;
|
|
}
|
|
|
|
.gridzyItemLoading {
|
|
opacity: .3;
|
|
box-shadow: inset 0 0 15px -5px #666;
|
|
}
|
|
|
|
.gridzyItemLoading::before {
|
|
content: " ";
|
|
position: absolute;
|
|
left: 50%;
|
|
top: 50%;
|
|
width: 50px;
|
|
height: 50px;
|
|
margin: -25px 0 0 -25px;
|
|
padding: 0;
|
|
z-index: 1;
|
|
opacity: 1;
|
|
background: none;
|
|
border: 2px solid;
|
|
border-color: transparent transparent rgb(0, 0, 0) rgb(0, 0, 0);
|
|
border-radius: 50%;
|
|
outline: none;
|
|
animation-duration: 1s;
|
|
animation-name: gridzyProgressIndicator;
|
|
animation-iteration-count: infinite;
|
|
animation-timing-function: linear;
|
|
}
|
|
|
|
@keyframes gridzyProgressIndicator {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
left: 50%;
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
left: 50%;
|
|
}
|
|
}
|
|
|
|
/** PROGRESS INDICATOR END **/
|