liquid-glass-resource.html
Rama master · réplica de lectura del repositorio original.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>苹果液态玻璃 (Liquid Glass) 全能资源包</title>
<style>
:root {
--primary-color: #0071e3;
--bg-color: #f5f5f7;
--text-color: #1d1d1f;
--card-bg: #ffffff;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
background-color: var(--bg-color);
color: var(--text-color);
line-height: 1.6;
margin: 0;
padding: 20px;
}
.container {
max-width: 900px;
margin: 0 auto;
}
header {
text-align: center;
margin-bottom: 40px;
padding: 40px 0;
}
h1 { font-size: 2.5rem; margin-bottom: 10px; }
.subtitle { font-size: 1.2rem; color: #86868b; }
section {
background: var(--card-bg);
border-radius: 20px;
padding: 30px;
margin-bottom: 30px;
box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}
h2 {
border-left: 5px solid var(--primary-color);
padding-left: 15px;
margin-top: 0;
}
code, pre {
background: #f0f0f2;
border-radius: 8px;
padding: 15px;
font-family: "SF Mono", "Monaco", "Consolas", monospace;
font-size: 0.9rem;
overflow-x: auto;
display: block;
white-space: pre-wrap;
}
.prompt-box {
background: #eef7ff;
border: 1px solid #cce5ff;
color: #004085;
padding: 20px;
border-radius: 12px;
font-style: italic;
}
/* 预览区域样式 */
.preview-zone {
height: 400px;
border-radius: 15px;
display: flex;
align-items: center;
justify-content: center;
background: url('https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?q=80&w=2564') center/cover;
position: relative;
overflow: hidden;
}
.glass-card {
position: relative;
width: 320px;
height: 180px;
border-radius: 2rem;
cursor: pointer;
box-shadow: 0 20px 40px rgba(0,0,0,0.2);
--m-x: 50%; --m-y: 50%;
}
.glass-filter {
position: absolute; inset: 0; border-radius: inherit;
backdrop-filter: blur(12px) saturate(150%);
-webkit-backdrop-filter: blur(12px) saturate(150%);
filter: url(#refraction);
z-index: 1;
}
.glass-specular {
position: absolute; inset: 0; border-radius: inherit;
z-index: 2;
box-shadow: inset 1px 1px 1px rgba(255,255,255,0.5);
background: radial-gradient(circle 150px at var(--m-x) var(--m-y), rgba(255,255,255,0.2), transparent);
}
.glass-content {
position: relative; z-index: 3;
height: 100%; display: flex; flex-direction: column;
justify-content: center; padding: 0 30px; color: white;
}
</style>
</head>
<body>
<div class="container">
<header>
<h1>Liquid Glass 资源包</h1>
<p class="subtitle">面向 AI 的设计指南与完整实现方案</p>
</header>
<section>
<h2>1. 设计思路 (Design Concept)</h2>
<p>液态玻璃(Liquid Glass)是苹果在 iOS 26 中引入的下一代 UI 语言。它不再是死板的模糊,而是具备物理特性的光学模拟。</p>
<ul>
<li><strong>物理折射:</strong> 利用 SVG 噪点滤镜对背景像素进行位移映射,模拟光线穿过流体时的扭曲感。</li>
<li><strong>多层解耦:</strong> 区分滤镜层(扭曲)、遮罩层(色调)、高光层(反射)和内容层(清晰文字)。</li>
<li><strong>动态交互:</strong> 监听鼠标或陀螺仪数据,实时更新镜面高光位置,强化玻璃的物理存在感。</li>
</ul>
</section>
<section>
<h2>2. 实时预览 (Live Preview)</h2>
<p>将鼠标移动到下方的卡片上查看动态折射与高光效果:</p>
<div class="preview-zone">
<svg aria-hidden="true" style="display:none">
<filter id="refraction">
<feTurbulence type="fractalNoise" baseFrequency="0.01" numOctaves="2" result="noise" />
<feDisplacementMap in="SourceGraphic" in2="noise" scale="30" />
</filter>
</svg>
<div class="glass-card" id="demoCard">
<div class="glass-filter"></div>
<div class="glass-specular"></div>
<div class="glass-content">
<h3>Liquid Glass</h3>
<p>Next-Gen UI Experience</p>
</div>
</div>
</div>
</section>
<section>
<h2>3. 喂给 AI 的提示词 (AI Prompt)</h2>
<p>复制以下内容发送给 AI(如 Claude 或 GPT),即可让其生成符合该风格的组件:</p>
<div class="prompt-box">
"请帮我实现一个基于'液态玻璃 (Liquid Glass)'风格的 UI。要求:1. 使用 HTML/CSS 分层结构(filter, overlay, specular, content)。2. 必须包含一个 SVG 滤镜,利用 feTurbulence 和 feDisplacementMap 实现背景的物理折射扭曲效果。3. 使用 JS 实现跟随鼠标位置的动态 radial-gradient 高光。4. 整体视觉要有极高的通透感和深度感。"
</div>
</section>
<section>
<h2>4. 完整源代码 (Full Source Code)</h2>
<p>以下是实现该效果的核心代码块,包含关键的 CSS 变量和 SVG 滤镜定义:</p>
<pre><code>
/* 核心 CSS 逻辑 */
.glass-container {
filter: url(#liquid-refraction); /* 引用 SVG 滤镜 */
backdrop-filter: blur(15px);
}
.specular-layer {
background: radial-gradient(circle at var(--x) var(--y), white, transparent);
}
/* SVG 滤镜定义 */
<filter id="liquid-refraction">
<feTurbulence baseFrequency="0.01" numOctaves="2" />
<feDisplacementMap scale="40" />
</filter>
</code></pre>
</section>
</div>
<script>
const card = document.getElementById('demoCard');
card.addEventListener('mousemove', (e) => {
const rect = card.getBoundingClientRect();
card.style.setProperty('--m-x', `${e.clientX - rect.left}px`);
card.style.setProperty('--m-y', `${e.clientY - rect.top}px`);
});
</script>
</body>
</html>