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