gsap+flip实现相册点击放大伸缩自适应布局效果代码
代码语言:html
所属分类:画廊相册
代码描述:gsap+flip实现相册点击放大伸缩自适应布局效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
:root {
--base-color: #3f3352;
--overlayH: 263;
--overlayS: 23%;
--overlayL: 26%;
}
* {
box-sizing: border-box;
}
body {
color: var(--base-color);
padding: 1rem;
margin: 0;
min-height: 110vh;
line-height: 1.6;
font-family: muli, sans-serif;
font-weight: 300;
font-style: italic;
font-size: 1.125rem;
}
h2,
p {
margin-top: 0;
}
h1,
h2 {
font-family: eloquent-jf-pro, serif;
font-weight: 400;
line-height: 1.125;
}
h2 {
font-size: 1.25rem;
}
button {
font-family: inherit;
background: hsl(var(--overlayH), var(--overlayS), var(--overlayL));
color: white;
border: none;
padding: 0.5rem 0.75rem;
text-transform: uppercase;
cursor: pointer;
}
.button-inline {
padding: 0;
display: inline;
background: transparent;
color: inherit;
text-decoration: underline;
}
main {
visibility: hidden;
}
main {
max-width: 1400px;
margin: 1.5rem auto;
display: grid;
gap: 1rem;
}
@media (min-width: 800px) {
main {
grid-template-columns: 1fr 3fr;
gap: 2rem;
}
}
img,
a {
display: block;
height: 100%;
}
article a {
position: absolute;
left: 0;
right: 0;
}
img {
max-width: 100%;
width: 100%;
object-fit: cover;
}
.grid {
display: grid;
grid-gap: 1.5rem;
list-style: none;
margin: 0;
padding: 0;
grid-template-columns: 1fr 1fr;
grid-auto-rows: minmax(16rem, max-content);
position: relative;
}
@media (min-width: 1024px) {
.grid {
grid-template-columns: 1fr 1fr 1fr;
}
}
.grid article {
--max: 0;
position: relative;
overflow: hidden;
}
article:not(.details) button,
article:first-child button {
display: none;
}
article:first-child p:last-of-type {
margin: 0;
}
.description {
position: relative;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
padding: clamp(1rem, 2.5vmin, 2.25rem);
}
article.details {
grid-row: span 2;
grid-column: span 2;
}
.description {
background: linear-gradient(
0deg,
hsl(var(--overlayH), var(--overlayS), var(--overlayL), calc(1 * var(--max)))
0%,
hsla(
var(--overlayH),
var(--overlayS),
var(--overlayL),
calc(0.738 * var(--max))
)
19%,
hsla(
var(--overlayH),
var(--overlayS),
var(--overlayL),
calc(0.541 * var(--max))
)
34%,
hsla(
var(--overlayH),
var(--overlayS),
var(--overlayL),
calc(0.382 * var(--max))
)
47%,
hsla(
var(--overlayH),
var(--overlayS),
var(--overlayL),
calc(0.278 * var(--max))
)
56.5%,
hsla(
var(--overlayH),
var(--overlayS),
var(--overlayL),
calc(0.194 * var(--max))
)
65%,
hsla(
var(--overlayH),
var(--overlayS),
var(--overlayL),
calc(0.126 * var(--max))
)
73%,
hsla(
var(--overlayH),
var(--overlayS),
var(--overlayL),
calc(0.075 * var(--max))
)
80.2%,
hsla(
var(--overlayH),
var(--overlayS),
var(--overlayL),
calc(0.042 * var(--max))
)
86.1%,
hsla(
var(--overlayH),
var(--overlayS),
var(--overlayL),
calc(0.021 * var(--max))
)
91%,
hsla(
var(--overlayH),
var(--overlayS),
var(--overlayL),
calc(0.008 * var(--max))
)
95.2%,
hsla(
var(--overlayH),
var(--overlayS),
var(--overlayL),
calc(0.002 * var(--max))
)
98.2%,
hsla(var(--overlayH), var(--overlayS), var(--overlayL), 0) 100%
);
}
.........完整代码请登录后点击上方下载按钮下载查看
网友评论0