select下拉折叠动画效果
代码语言:html
所属分类:表单美化
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Gaegu:400,700&display=swap'>
<style>
* {
border: 0;
box-sizing: border-box;
margin: 0;
padding: 0;
}
:root {
--foldDur: 0.7s;
font-size: calc(24px + (30 - 24)*(100vw - 320px)/(1280 - 320));
}
body, button {
color: #171717;
font: 1em Gaegu, cursive;
line-height: 1.5;
}
body {
background-image:
linear-gradient(#8ccfd100 1.35em,#8ccfd1 1.4em 1.45em,#8ccfd100 1.5em),
linear-gradient(90deg,#e5e5e5 1.35em,#8ccfd1 1.4em 1.45em,#e5e5e5 1.5em);
background-position: 50% 0;
background-size: 1.5em 1.5em;
}
form, .select__button, .select__options {
width: 100%;
}
form {
margin: auto;
padding: 3em 1.5em 6em 1.5em;
max-width: 13.25em;
}
label {
display: block;
font-weight: bold;
}
.select, .select__button {
position: relative;
}
.select {
margin-bottom: 1.5em;
perspective: 20em;
}
.select select {
display: none;
}
.select__button, .select__option {
background: #f1f1f1;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0.375em;
}
.select__button {
animation-duration: var(--foldDur);
animation-timing-function: ease-in-out;
animation-direction: reverse;
border-radius: 0;
box-shadow:
-0.05em 0 0 #fff inset,
0.05em 0 0 #ccc inset,
0 -0.05em 0 #d9d9d9 inset;
transform-origin: 50% 100%;
-webkit-appearance: none;
appearance: none;
z-index: 1;
}
.select__button:focus, .select__option:focus {
outline: transparent;
}
.select__button:focus {
color: #2762f3;
}
.select__button:after, .select__option:first-child:after {
border-left: 0.25em solid transparent;
border-right: 0.25em solid transparent;
content: "";
display: block;
width: 0;
height: 0;
}
.select__button:after {
border-top: 0.25em solid;
}
.select__button--pristine {
animation: none;
}
.select__options {
position: absolute;
top: 0;
left: 0;
visibility: hidden;
transition: visibility 0s var(--foldDur) steps(1);
}
.select__option {
box-shadow:
-0.05em -0.1em 0.2em 0 #0001 inset,
0.05em 0 0 #ccc inset,
-0.05em 0.1em 0.2em 0 #fff inset,
-0.05em 0 0 #fff inset;
color: inherit;
opacity: 0;
text-decoration: none;
transition: opacity 0s var(--foldDur) steps(1);
}
.select__option:first-child {
box-s.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0