css+js实现模拟手机下拉选择删除列表效果代码

代码语言:html

所属分类:布局界面

代码描述:css+js实现模拟手机下拉选择删除列表效果代码

代码标签: css js 模拟 手机 下拉 选择 删除 列表

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

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

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

  <link rel="preconnect" href="https://fonts.googleapis.com" />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <link
      href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap"
      rel="stylesheet"
    />

  
  
  
<style>
:root {
	margin: 0;
	padding: 0;
	box-sizing: border-box;

	--color-black: #1f1f1e;
	--color-white: #fafbfc;
	--color-yellow: #feca45;
	--color-gray: #5c595a;
	--phone-background: linear-gradient(
		to right bottom,
		#4a3972,
		#473279,
		#432a7f,
		#3e2185,
		#39178b
	);
	--color-accent: #39178b;
	--color-red: #ed054e;
}

body {
	font-family: "Open Sans", sans-serif;
	font-size: 1rem;
	color: var(--color-black);
	background-color: var(--color-yellow);
}

.phone {
	max-width: 250px;
	height: 550px;
	margin: 1rem auto;
	border: 10px solid var(--color-black);
	border-radius: 24px;
	background-image: var(--phone-background);
}

.phone__indicators {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 10px;
	margin: 5px auto;
	color: var(--color-white);
}

.phone__icons {
	display: flex;
	gap: 10px;
}

.time {
	font-size: 0.8rem;
}

.notification__center {
	max-width: 200px;
	margin: 0 auto;
	padding: 5% 3%;

	> button {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 8px;
		font: inherit;
		width: 100%;
		border-radius: 4px;
		cursor: pointer;
		font-weight: bold;
		color: var(--color-accent);
		border: 2px solid var(--color-accent);
		background-color: var(--color-white);
	}
	> button:hover {
		color: var(--color-white);
		border: 2px solid var(--color-white);
		background-color: var(--phone-background);
	}
}

.notifications__container {
	width: 100%;
	margin: 1rem auto;
	animation: bounce 0.5s linear forwards;
}

.notification__item {
	padding: 1rem;
	margin-bottom: 10px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: center;
	font-size: 0.5rem;
	border: 1px solid transparent;
	border-radius: 4px;
	background-color: var(--color-white);
}

.notification__image {
	width: 50px;
	height: 50px;
	border: none;
	border-radius: 50%;
	overflow: hidden;
	margin-right: 11px;

	> img {
		height: 100%;
		width: 100%;
		object-fit: cover;
	}
}

.notification__content {
	width: 40px;
}

.user__name {
	font-weight: bold;
	color: var(--color-accent);
}

.actions {
	display: flex;
	align-items: center;
	justify-content: center;

	> button {
		border: none;
		background-color: transparent;
		cursor: pointer;
		font-size: 1.2rem;
	}
}

.hidden {
	display: none;
}

.delete {
	animation: shake 0.5s infinite;
}

@keyframes bounce {
	0%,
	40%,
	75%,
	95% {
		transform: translateY(0);
	}

	15% {
		transform: translateY(-20px);
	}

	65% {
		transform: translateY(-15px);
	}

	85% {
		transform: translateY(-5px);
	}

	100% {
		transform: translateY(0);
	}
}

@keyframes slideout {
	0% {
		transform: translateX(0);
	}

	50% {
		opacity: 0;
	}

	100% {
		transform: translateX(-200px);
		opacity: 0;
	}
}

@keyframes heartbeat {
	from {
		transform: scale(1);
	}

	to {
		transform: scale(1.3);
	}
}

@keyframes shake {
	0% {
		transform: rotateZ(0);
	}

	34% {
		transform: rotateZ(-15deg);
	}

	68% {
		transform: rotateZ(15deg);
	}

	100% {
		transform: rotateZ(0);
	}
}
</style>


  
  
</head>

<body translate="no">
  <div class="phone">
	<div class="phone__indicators">
		<div class="time">10:02</div>
		<div class="phone__icons">
			<div class="signal">
				<svg viewBox="0 0 640 512" width="20" title="signal">
					<path d="M216 288h-48c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V304c0-8.84-7.16-16-16-16zM88 384H40c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16zm256-192h-48c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16.........完整代码请登录后点击上方下载按钮下载查看

网友评论0