svg+css实现蓝色大气按钮点击下拉文字弹出层效果代码
代码语言:html
所属分类:弹出层
代码描述:svg+css实现蓝色大气按钮点击下拉文字弹出层效果代码
代码标签: svg css 蓝色 大气 按钮 点击 下拉 文字 弹出层
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> /* Root variables */ :root { --scene-background: #101217; --main-hue: 259deg; --btn-radius: 14px; --padding: 8px; } *,*:before,*:after { box-sizing: border-box; } [popovertarget="btn-popover"] { anchor-name: --anchor-el; } /* Reset and base styles */ html, body { padding: 0; margin: 0; height: 100%; width: 100%; overflow: hidden; } body { background: var(--scene-background); display: grid; place-items: center; font-family: sans-serif; } /* Custom properties */ @property --glow { syntax: "<percentage>"; inherits: false; initial-value: 60%; } @property --tsy { syntax: "<length>"; inherits: false; initial-value: 0px; } @property --light { syntax: "<percentage>"; inherits: false; initial-value: 75%; } @property --inner-light { syntax: "<percentage>"; inherits: false; initial-value: 54%; } @property --icon-rotation { syntax: "<angle>"; inherits: false; initial-value: 0deg; } /* Button styles */ .container { --btn-inner-background: hsl(var(--main-hue) 89% var(--inner-light)); } button { --btn-background: linear-gradient( to bottom right, hsl(var(--main-hue) 100% var(--light)), hsl(var(--main-hue) 100% 69%), hsl(var(--main-hue) 100% var(--light)) ); --btn-shadow: color-mix( in hsl, hsl(var(--main-hue) 96% var(--glow)), black 60% ); --icon-color: color-mix( in hsl, var(--btn-inner-background), color-mix(in hsl, blue, white 80%) 65% ); anchor-name: --anchor-el; display: flex; border-radius: var(--btn-radius); border: 0; color: white; overflow: hidden; padding: 1px; background: var(--btn-background); box-shadow: 0 3px 5px black, 0 8px 24px var(--btn-shadow); cursor: pointer; -webkit-font-smoothing: antialiased; transform: translateY(var(--tsy)); transition: --glow 0.2s ease, --tsy 0.2s ease, --light 0.2s ease, --icon-rotation 0.2s ease, box-shadow 0.2s ease; } button svg { color: var(--icon-color); } button .btn-inner { background: var(--btn-inner-background); height: 48px; border-radius: var(--btn-radius); display: flex; box-shadow: inset 0 0 12px hsl(var(--main-hue) 100% 65%); } button .btn-content { display: flex; align-items: center; padding-inline: 18px; font-size: 18px; } button .btn-content svg { width: 18px; margin-right: 10px; } button .btn-caret { display: flex; justify-content: center; align-items: center; border-left: 1px solid rgb(255 255 255 / 10%); width: 36px; height: 100%; } button .btn-caret svg { width: 18px; height: 18px; rotate: var(--icon-rotation); transition: rotate 0.2s ease; } button:hover { --glow: 80%; --light: 90%; --inner-light: 80%; box-shadow: 0 2px 2px black, 0 14px 32px var(--btn-shadow); } button:hover .btn-inner { background: hsl(var(--main-hue) 89% var(--inner-light)); } button:active { --tsy: 2px; --glow: 70%; --light: 80%; --inner-light: 70%; box-shadow: 0 1px 1px black, 0 8px 16px var(--btn-shadow); } button:active .btn-caret svg, .container:has(:popover-open) .btn-caret svg { rotate: 180deg; } .positioned-notice { color: white; padding: 0; border.........完整代码请登录后点击上方下载按钮下载查看
网友评论0