js+css实现三种瀑布流布局方式15种图片布局进入动画效果代码
代码语言:html
所属分类:瀑布流
代码描述:js+css实现三种瀑布流布局方式15种图片布局进入动画效果代码
代码标签: 瀑布 流 布局 方式 15种 图片 布局 进入 动画 效果
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
*,
*::after,
*::before {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
font-family: 'Roboto Mono', monospace;
font-size: 14px;
font-weight: 500;
color: #82888a;
background: #2c2d31;
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
}
.js .loading::before,
.js .loading::after {
content: '';
position: fixed;
z-index: 1000;
}
.loading::before {
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #2c2d31;
}
.loading::after {
top: 50%;
left: 50%;
width: 40px;
height: 40px;
margin: -20px 0 0 -20px;
border: 8px solid #383a41;
border-bottom-color: #565963;
border-radius: 50%;
animation: animLoader 0.8s linear infinite forwards;
}
@keyframes animLoader {
to { transform: rotate(360deg); }
}
a {
text-decoration: none;
color: #f2f2f2;
outline: none;
}
a:hover,
a:focus {
color: #e6629a;
}
.hidden {
position: absolute;
overflow: hidden;
width: 0;
height: 0;
pointer-events: none;
}
main {
display: flex;
flex-wrap: wrap;
}
/* Icons */
.icon {
display: block;
width: 1.5em;
height: 1.5em;
margin: 0 auto;
fill: currentColor;
}
.content--side {
position: relative;
z-index: 100;
width: 15vw;
min-width: 130px;
max-height: 100vh;
padding: 0 1em;
order: 2;
}
.content--center {
flex: 1;
max-width: calc(100vw - 260px);
order: 3;
}
.content--right {
order: 4;
}
.content--related {
display: flex;
flex-wrap: wrap;
justify-content: center;
width: 100%;
padding: 8em 1em 3em;
text-align: center;
order: 5;
}
.media-related {
width: 100%;
}
.media-item {
padding: 1em;
}
.media-item__img {
max-width: 100%;
opacity: 0.7;
transition: opacity 0.3s;
}
.media-item:hover .media-item__img,
.media-item:focus .media-item__img {
opacity: 1;
}
.media-item__title {
font-size: 1em;
max-width: 220px;
padding: 0.5em;
margin: 0 auto;
}
/* Header */
.codrops-header {
position: relative;
z-index: 100;
display: flex;
align-items: center;
width: 100%;
padding: 3em 1em 4em;
order: 1;
}
.codrops-header__title {
font-size: 1em;
font-weight: normal;
flex: 1;
margin: 0 7em 0 0;
text-align: center;
text-transform: lowercase;
}
.codrops-header__title::before,
.codrops-header__title::after {
font-size: 22px;
font-weight: bold;
display: inline-block;
padding: 0 0.25em;
color: #42454c;
}
.codrops-header__title::after {
content: '\2309';
vertical-align: sub;
}
.codrops-header__title::before {
content: '\230A';
}
/* GitHub corner */
.github-corner {
position: absolute;
top: 0;
right: 0;
}
.github-corner__svg {
fill: #82888a;
color: #2c2d31;
position: absolute;
top: 0;
border: 0;
right: 0;
}
.github-corner:hover .octo-arm {
animation: octocat-wave 560ms ease-in-out;
}
@keyframes octocat-wave {
0%,
100% {
transform: rotate(0);
}
20%,
60% {
transform: rotate(-25deg);
}
40%,
80% {
transform: rotate(10deg);
}
}
@media (max-width:500px) {
.github-corner:hover .octo-arm {
animation: none;
}
.github-corner .octo-arm {
animation: octocat-wave 560ms ease-in-out;
}
}
/* Top Navigation Style */
.codrops-links {
position: relative;
display: flex;
justify-content: space-between;
align-items: center;
height: 2.75em;
margin: 0 0 0 2.25em;
text-align: center;
white-space: nowrap;
background: #1f2125;
}
.codrops-links::after {
content: '';
position: absolute;
top: -10%;
left: calc(50% - 1px);
width: 2px;
height: 120%;
background: #2c2d31;
transform: rotate3d(0,0,1,22.5deg);
}
.codrops-icon {
display: inline-block;
padding: 0 0.65em;
}
/* Controls */
.control--grids {
margin: 0 0 2.5em;
text-align: right;
}
.control__title {
font-size: 0.85em;
display: block;
width: 100%;
margin: 0 0 1em;
color: #e6629a;
}
.control__item {
position: relative;
display: block;
margin: 0 0 0.5em;
}
.control__radio {
position: absolute;
z-index: 10;
top: 0;
left: 0;
width: 100%;
height: 100%;
cursor: pointer;
opacity: 0;
}
.control__label {
white-space: nowrap;
}
.control__radio:checked + .control__label {
color: #fff;
background: #673ab7;
}
.control__radio:not(:checked):hover + .control__label,
.control__btn:hover {
color: white;
}
.control__btn {
display: block;
width: 100%;
margin: 0 0 0.5em;
padding: 0;
text-align: left;
color: inherit;
border: none;
background: none;
}
.control__btn:focus {
outline: none;
}
/* Grid */
.grid {
position: relative;
z-index: 2;
display: block;
margin: 0 auto;
}
.grid--hidden {
position: fixed !important;
z-index: 1;
top: 0;
left: 0;
width: 100%;
pointer-events: none;
opacity: 0;
}
.js .grid--loading::before,
.js .grid--loading::after {
content: '';
z-index: 1000;
}
.js .grid--loading::before {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background: #2c2d31;
}
.js .grid--loading::after {
position: absolute;
top: calc(25vh - 20px);
left: 50%;
width: 40px;
height: 40px;
margin: 0 0 0 -20px;
border: 8px solid #383a41;
border-bottom-color: #565963;
border-radius: 50%;
animation: animLoader 0.8s linear forwards infinite;
}
.grid__sizer {
margin-bottom: 0 !important;
}
.grid__link,
.grid__img {
display: block;
}
.grid__img {
width: 100%;
}
.grid__deco {
position: absolute;
top: 0;
left: 0;
pointer-events: none;
}
.grid__deco path {
fill: none;
stroke: #fff;
stroke-width: 2px;
}
.grid__reveal {
position: absolute;
z-index: 50;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
opacity: 0;
background-color: #2c2d31;
}
.grid .grid__item,
.grid .grid__sizer {
width: calc(50% - 20px);
margin: 0 10px 20px;
}
@media screen and (min-width: 60em) {
.grid .grid__item,
.grid .grid__sizer {
width: calc((100% / 3) - 20px);
margin: 0 10px 20px;
}
}
@media screen and (min-width: 70em) {
.grid .grid__item,
.grid .grid__sizer {
width: calc(25% - 30px);
margin: 0 15px 30px;
}
/* Grid types */
.grid--type-b .grid__item,
.grid--type-b .grid__sizer {
width: calc(20% - 20px);
margin: 0 10px 20px;
}
.grid--type-c .grid__item,
.grid--type-c .grid__sizer {
width: calc(25% - 16px);
margin: 0 8px 16px;
}
}
@media screen and (max-width: 50em) {
main {
display: block;
}
.codrops-header {
padding: 1em;
flex-wrap: wrap;
}
.codrops-links {
margin: 0;
}
.codrops-header__title {
width: 100%;
text-align: left;
flex: none;
margin: 1em 0;
}
.content--side {
width: 100%;
}
.content--right {
order: 3;
}
.content--center {
max-width: 100vw;
}
.control {
margin: 0 0 1em;
text-align: left;
}
.control__item,
.control__btn {
display: inline-block;
}
.control__btn {
width: auto;
}
}
.pater {
position: relative;
display: block;
overflow: hidden;
width: 100%;
padding: 0 0 1em;
background: #fff;
}
.pater,
.pater:focus,
.pater:hover {
color: #2c2d31;
}
.pater::after {
content: 'Sponsor';
font-size: 0.765em;
position: absolute;
z-index: 20;
bottom: 0;
left: 0;
padding: 1em;
color: #f1bed4;
}
.pater__img {
width: 100%;
height: 120px;
background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwKCgsKCgwQDAwMDAwMEAwODxAPDgwTExQUExMcGxsbHB8fHx8fHx8fHx8BBwcHDQwNGBAQGBoVERUaHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fH//CABEIARgBGAMBEQACEQEDEQH/xAAbAAEBAQEBAQEBAAAAAAAAAAABAAIDBQQGB//aAAgBAQAAAADEqyrapeH0KtqVZW8Ddup06k1p4/QnNbY9MdMbnx21azrSy3S5d1Yz1m0yvgW8dsuxbeXrrj31OR06NFp34yyqyyzx76lWVWZ8VWsa6aaVeH0JO1WVl8Pc/J812fo+plXj3xvN03WmdJeB138XBe09vsVbj9BD1bRap3eFvn56vaX6+5ntcu6sq0s6vGvk+ZtdWe31l1eP0U22cmq10fD18fF10quv1D9Fx+jLm7szLOvFfm571nM3f7DWnj3LO+sylu0eLo+eLM3292Xj3W0yrLL4i8/nkrt9qrcfoZVlZVvEdPLhZvp+l1K8e+N5uyrLM+I6VDa+l7P5f0ff/I8u+NE9VpZ1eMrLLf0P5fB/Tev+Y+7ry8z0PNvAl1Kr4Ktqmf2nl+3+k4/nvY+Dr34PP8OrLK+Mq0tr7vm/RfFdfP8AWz8PX9J+a+Jlll8dlZbUrPLu1o21qVX89o1ouhNtO2uXZeWjoLodS+HttDsV1O3l21Kssqr4Vq1Lalndy7NaWVZV8NU3qVWV5db4r7srK9NK+BLaVlZ6b5drndptTOpfzTMq29Sd+/PsiisrtX88tKqsvTpy7VayrWnpL4buVVlWeXZlVlVW/KNalXVqvSufW5575Wda2q/k2WVdK3pPLrfPn7JtSupvGtKqsrauXZlZVVV/Ly2rU/R2Vbl2cqaNdVW1fj5XfTO8fZ9Sy8e6Ky2p1avAVZW66Vnl3ZZVVZfAV1rUrKty72XRvSqqv//EABkBAQEBAQEBAAAAAAAAAAAAAAEAAgUDBP/aAAgBAhAAAADrkQREUFBERBRHSIIiCoIiIiIiuhEFBFBEREREUdGIiCKCIiIgoo6JBQRREERERFF0KCrMUERERBRFdEKrdjziIJzBUEQnQiS3GfMKCgiIioOiSR6FeeAoiCgiiLokkbqx5hEUERFEXRNaM+XtRnyoCKIIoiugPn5YfsYz5QRFBBEVHRM/NaPsY8swREQURRHRLy84+xM+UREERFFEdEjHkfZYwQRBREURB0YgNAZzvONwUQUREdGCKI8VxneacskURHRIKIvJzi1lKLZREWekQURZsMQJlqKIDpBFBQREREUREZ6YRREFAURFEhZz0oKIgiIiIoiIznqEUERERBRFEBnPUiiIIoIiKiIM5z1yiIgoyQURRFkznt.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0