欢迎光临散文网 会员登陆 & 注册

CSS 3D照片折叠[手把手教程][代码]

2023-04-19 23:52 作者:泥想什么呢想  | 我要投稿


网页效果截图

index.html

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1">

<title>Unfold</title>

<link rel="stylesheet" type="text/css" href="style.css">

</head>

<body>

<div class="box">

<span style="--i:0;"></span>

<span style="--i:1;"></span>

<span style="--i:2;"></span>

<span style="--i:3;"></span>

</div>

<div class="boxTwo">

<span style="--i:0;"></span>

<span style="--i:1;"></span>

<span style="--i:2;"></span>

<span style="--i:3;"></span>

</div>

</body>

</html>

style.css

*

{

margin: 0;

padding: 0;

}

body

{

display: flex;

justify-content: center;

align-items: center;

min-height: 100vh;

background: #2f364f;

}

.boxTwo

{

width: 352px;

height: 200px;

transform: rotate(-25deg) skew(25deg);

transition: 0.5s;

display: flex;

}

.boxTwo:hover

{

transform: rotate(-25deg) skew(-25deg) translateY(-20px);

}

.boxTwo span

{

width: 25%;

height: 100%;

background: url(background2.jpg);

background-size: cover;

background-position: calc(-88px * var(--i));

display: block;

transform: 0.5s;

pointer-events: none;

border-top: 5px solid #fff;

border-bottom: 5px solid #fff;

}

.boxTwo:hover span:nth-child(odd)

{

transform: skewY(25deg);

box-shadow: inset 20px 0 50px rgba(0, 0, 0, 0.5) ;

}

.boxTwo:hover span:nth-child(even)

{

transform: skewY(-25deg);

box-shadow: inset 20px 0 50px rgba(0, 0, 0, 0.5);

}

.boxTwo span:first-child

{

border-left: 5px solid #fff;

}

.boxTwo span:last-child

{

border-right: 5px solid #fff;

}





.box

{

width: 352px;

height: 200px;

transform: rotate(-25deg) skew(25deg);

transition: 0.5s;

display: flex;

}

.box:hover

{

transform: rotate(-25deg) skew(-25deg) translateY(-20px);

}

.box span

{

width: 25%;

height: 100%;

background: url(background.jpg);

background-size: cover;

background-position: calc(-88px * var(--i));

display: block;

transform: 0.5s;

pointer-events: none;

border-top: 5px solid #fff;

border-bottom: 5px solid #fff;

}

.box:hover span:nth-child(odd)

{

transform: skewY(25deg);

box-shadow: inset 20px 0 50px rgba(0, 0, 0, 0.5) ;

}

.box:hover span:nth-child(even)

{

transform: skewY(-25deg);

box-shadow: inset 20px 0 50px rgba(0, 0, 0, 0.5);

}

.box span:first-child

{

border-left: 5px solid #fff;

}

.box span:last-child

{

border-right: 5px solid #fff;

}

background.jpg
background2.jpg


CSS 3D照片折叠[手把手教程][代码]的评论 (共 条)

分享到微博请遵守国家法律