css实现卡片悬浮翻转效果代码

代码语言:html

所属分类:悬停

代码描述:css实现卡片悬浮翻转效果代码

代码标签: css 卡片 悬浮 翻转

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
    /*     ================================        Best Viewed In Full Page    ================================*//* Hover over a card to flip,can tab too. */@import url('https://fonts.googleapis.com/css?family=Lato');
	/* default */*,*::after,*::before {
	margin:0;
	padding:0;
	box-sizing:border-box;
}
/* body */body {
	min-height:100vh;
	padding:40px;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	background:hsl(220,10%,12%);
	font-family:"Lato","Segoe Ui",-apple-system,BlinkMacSystemFont,sans-serif;
}
/* .flip-card-container */.flip-card-container {
	--hue:150;
	--primary:hsl(var(--hue),50%,50%);
	--white-1:hsl(0,0%,90%);
	--white-2:hsl(0,0%,80%);
	--dark:hsl(var(--hue),25%,10%);
	--grey:hsl(0,0%,50%);
	width:310px;
	height:500px;
	margin:40px;
	-webkit-perspective:1000px;
	perspective:1000px;
}
/* .flip-card */.flip-card {
	width:inherit;
	height:inherit;
	position:relative;
	-webkit-transform-style:preserve-3d;
	transform-style:preserve-3d;
	transition:.6s .1s;
}
/* hover state */.flip-card-container:hover .flip-card,.flip-card-container:focus-within .flip-card {
	-webkit-transform:rotateY(180deg);
	transform:rotateY(180deg);
}
/* .card-... */.card-front,.card-back {
	width:100%;
	height:100%;
	border-radius:24px;
	background:var(--dark);
	position:absolute;
	top:0;
	left:0;
	overflow:hidden;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	display:flex;
	justify-content:center;
	align-items:center;
}
/* .card-front */.card-front {
	-webkit-transform:rotateY(0deg);
	transform:rotateY(0deg);
	z-index:2;
}
/* .card-back */.card-back {
	-webkit-transform:rotateY(180deg);
	transform:rotateY(180deg);
	z-index:1;
}
/* figure */figure {
	z-index:-1;
}
/* figure,.img-bg */figure,.img-bg {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
/* img */img {
	height:100%;
	border-radius:24px;
}
/* figcaption */figcaption {
	display:block;
	width:auto;
	margin-top:12%;
	padding:8px 22px;
	font-weight:bold;
	line-height:1.6;
	letter-spacing:2px;
	word-spacing:6px;
	text-align:right;
	position:absolute;
	top:0;
	right:12px;
	color:var(--white-1);
	background:hsla(var(--hue),25%,10%,.5);
}
/* .img-bg */.img-bg {
	background:hsla(var(--hue),25%,10%,.5);
}
.card-front .img-bg {
	-webkit-clip-path:polygon(0 20%,100% 40%,100% 100%,0 100%);
	clip-path:polygon(0 20%,100% 40%,100% 100%,0 100%);
}
.card-front .img-bg::before {
	content:"";
	position:absolute;
	top:34%;
	left:50%;
	-webkit-transform:translate(-50%,-50%) rotate(18deg);
	transform:translate(-50%,-50%) rotate(18deg);
	width:100%;
	height:6px;
	border:1px solid var(--primary);
	border-left-color:transparent;
	border-right-color:transparent;
	transition:.1s;
}
.card-back .img-bg {
	-webkit-clip-path:polygon(0 0,100% 0,100% 80%,0 60%);
	clip-path:polygon(0 0,100% 0,100% 80%,0 60%);
}
/* hover state */.flip-card-container:hover .card-front .img-bg::before {
	width:6px;
	border-left-color:var(--primary);
	border-right-color:var(--primary);
}
/* ul */ul {
	padding-top:50%;
	margin:0 auto;
	width:70%;
	height:100%;
	list-style:none;
	color:var(--white-1);
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
}
/* li */li {
	width:100%;
	margin-top:12px;
	padding-bottom:12px;
	font-size:14px;
	text-align:center;
	position:relative;
}
li:nth-child(2n) {
	color:var(--white-2);
}
li:not(:last-child)::after {
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:1px;
	background:currentColor;
	opacity:.2;
}
/* button */button {
	font-family:inherit;
	font-weight:bold;
	color:var(--white-1);
	letter-spacing:2px;
	padding:9px 20px;
	border:1px solid var(--grey);
	border-radius:1000px;
	background:transparent;
	transition:.3s;
	cursor:pointer;
}
button:hover,button:focus {
	color:var(--primary);
	background:hsla(var(--hue),25%,10%,.2);
	border-color:currentColor;
}
button:active {
	-webkit-transform:translate(2px);
	transform:translate(2px);
}
/* .design-container */.design-container {
	--tr:90;
	--op:.5;
	width:100%;
	height:100%;
	background:transparent;
	position:absolute;
	top:0;
	left:0;
	pointer-events:none;
}
/* .design */.design {
	display:block;
	background:var(--grey);
	position:absolute;
	opacity:var(--op);
	transition:.3s;
}
.design--1,.design--2,.design--3,.design--4 {
	width:1px;
	height:100%;
}
.design--1,.design--2 {
	top:0;
	-webkit-transform:translateY(calc((var(--tr) - (var(--tr) * 2)) * 1%));
	transform:translateY(calc((var(--tr) - (var(--tr) * 2)) * 1%))
}
.design--1 {
	left:20%;
}
.design--2 {
	left:80%;
}
.design--3,.design--4 {
	bottom:0;
	-webkit-transform:translateY(calc((var(--tr) + (var(--tr) - var(--tr))) * 1%));
	transform:translateY(calc((var(--tr) + (var(--tr) - var(--tr))) * 1%))
}
.design--3 {
	left:24%;
}
.design--4 {
	left:76%;
}
.design--5,.design--6,.design--7,.design--8 {
	width:100%;
	height:1px;
}
.design--5,.design--6 {
	left:0;
	-webkit-transform:translateX(calc((var(--tr) - (var(--tr) * 2)) * 1%));
	transform:translateX(calc((var(--tr) - (var(--tr) * 2)) * 1%));
}
.design--5 {
	top:41%;
}
.design--6 {
	top:59%;
}
.design--7,.design--8 {
	right:0;
	-webkit-transform:translateX(calc((var(--tr) + (var(--tr) - var(--tr))) * 1%));
	transform:translateX(calc((var(--tr) + (var(--tr) - var(--tr))) * 1%))
}
.design--7 {
	top:44%;
}
.design--8 {
	top:56%;
}
/* states */button:hover+.design-container,button:active+.design-container,button:focus+.design-container {
	--tr:20;
	--op:.7;
}

</style>
</head&g.........完整代码请登录后点击上方下载按钮下载查看

网友评论0