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