css+svg实现带夜晚模式的毛玻璃计算器ui效果代码
代码语言:html
所属分类:布局界面
代码描述:css+svg实现带夜晚模式的毛玻璃计算器ui效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { display: flex; justify-content: center; align-items: center; background-color: #AB61E4; min-height: 100vh; overflow: hidden; color: #fff; } .calculator { --header-bg: rgba(255,255,255,.2); --body-bg: rgba(255,255,255,.3); --button-bg: rgba(255,255,255,.2); --button-bg-hover: rgba(255,255,255,.3); --button-highlight-bg: rgba(255,255,255,.5); --button-highlight-bg-hover: rgba(255,255,255,.3); transition: all 0.8s cubic-bezier(0.075, 0.82, 0.165, 1) 0s; position: relative; width: 280px; box-shadow: rgba(24, 32, 79, 0.25) 0px 40px 80px, rgba(255, 255, 255, 0.5) 0px 0px 0px 0.5px inset; border-radius: 15px; z-index: 10; } .calculator:hover { margin-bottom: 5px; } .calculator:hover ~ .calculator-back { transform: skewY(18deg); width: 35%; } .calculator.dark { --header-bg: rgba(2,14,39,.2); --body-bg: rgba(2,14,39,.3); --button-bg: rgba(2,14,39,.2); --button-bg-hover: rgba(255,255,255,.1); --button-highlight-bg: rgba(2,14,39,.5); --button-highlight-bg-hover: rgba(255,255,255,.15); } .calculator-header { position: relative; background-color: var(--header-bg); padding: 30px 30px 15px 30px; text-align: right; border-top-left-radius: 15px; border-top-right-radius: 15px; -webkit-backdrop-filter: blur(40px); backdrop-filter: blur(40px); box-shadow: inset 0px 2px 1px rgba(255, 255, 255, 0.1); } .calculator-body { position: relative; background-color: var(--body-bg); padding: 15px; border-bottom-left-radius: 15px; border-bottom-right-radius: 15px; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); min-height: 250px; } .calculator-operation { font-size: 18px; margin-bottom: 4px; } .calculator-operation-result { font-size: 42px; font-weight: bold; } .calculator-button { position: relative; display: block; height: 100%; border: 1px solid transparent; background-color: var(--button-bg); font-size: 20px; cursor: pointer; color: #fff; border: 1px solid rgba(255, 255, 255, 0); -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: all 0.2s ease-in-out; will-change: auto; z-index: 2; } .calculator-button:hover, .calculator-button:focus { box-shadow: 0px 10px 25px rgba(4, 37, 100, 0.12); border-radius: 4px; background-color: var(--button-bg-hover); border-color: rgba(255, 255, 255, 0.15); z-index: 5; transform: scale(1.35); } .calculator-button:focus { outline: none; } .calculator-button.equal { grid-row-start: span 2; grid-column-start: 4; } .calculator-button.highlight { background-color: var(--button-highlight-bg); } .calculator-button.highlight:hover, .calculator-button.highlight:focus { background-color: var(--button-highlight-bg-hover); } .calculator-button-wrapper { position: absolute; top: calc(117px + 15px); right: 15px; bottom: 15px; left: 15px; display: grid; grid-gap: 2px; grid-template-columns: repeat(4, auto); grid-template-rows: repeat(5, 45px); } .calculator-back { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 85%; background-image: linear-gradient(#bd1d8c 0%, #7a41ce 100%); border-radius: 15px; transform: skewY(8deg); transform-origin: left top; transition: all 0.8s cubic-bezier(0.075, 0.82, 0.165, 1) 0s; z-index: 5; } .calculator-wrapper { position: relative; } .title { position: absolute; top: 0; right: 0; bottom: 0; left: 0; font-size: calc(62px + 1vw); font-weight: 900; color: #1f3e5a; letter-spacing: -0.065em; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .title:nth-child(2) { mix-blend-mode: screen; opacity: 0.75; } .title-wrapper { position: absolute; top: 100%; left: 0; transform: rotate(-90deg) translate(-80px, -65px); mix-blend-mode: difference; -webkit-backdrop-filter: opacity(1); backdrop-filter: opacity(1); z-index: 10; } .bg-item { position: absolute; } .toggle-theme { position: absolute; top: 0; left: 0; font-size: 13px; padding: 8px 12px; background-color: var(--button-bg); border-top-left-radius: 15px; border-bottom-right-radius: 15px; color: #fff; cursor: pointer; border: none; outline: none; will-change: auto; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: all 0.1s ease-in-out; z-index: 5; } .toggle-theme:hover, .toggle-theme:focus { box-shadow: 0px 10px 25px rgba(4, 37, 100, 0.12); border: 1px solid rgba(255, 255, 255, 0.2); background-color: var(--button-bg-hover); border-color: rgba(255, 255, 255, 0.08); transform: scale(1.25); } #bg-1 { filter: blur(10px); } #bg-2 { filter: blur(36px); } #bg-4 { filter: blur(50px); } #bg-6 { filter: blur(40px); } #bg-7 { filter: blur(30px); } #bg-9 { filter: blur(20px); } </style> </head> <body > <div id="bg-0" class="bg-item" style="top: 0; right: 0; bottom: 0; left: 0;"> <svg width="100%" height="100%" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect y="0.4375" width="100%" height="100%" fill="#AB61E4"/> </svg> </div> <div id="bg-1" class="bg-item" style="bottom: 0; left: 0;"> <svg width="371" height="476" viewBox="0 0 371 476" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M371 0H-60V538H371V0Z" fill="#F56CF0"/> </svg> </div> <div id="bg-2" class="bg-item" style="bottom: -15%; right: calc(35% - 217px);"> <svg width="478" height="430" viewBox="0 0 478 430" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M523 0H0V480H523V0Z" fill="#D2578B"/> </svg> </div> <div id="bg-3" class="bg-item" style="bottom: 20%; left: 15%;"> <svg width="254" height="211" viewBox="0 0 254 211" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M254 0H0V211H254V0Z" fill="#F56CF0"/> </svg> </div> <div id="bg-4" class="bg-item" style="top: 0; right: 0; bottom: 0;"> <svg width="332" height="600" viewBox="0 0 332 600" fil.........完整代码请登录后点击上方下载按钮下载查看
网友评论0