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