vue3布局模拟mac操作系统桌面多窗口打开移动拖动效果代码
代码语言:html
所属分类:布局界面
代码描述:vue3布局模拟mac操作系统桌面多窗口打开移动拖动效果代码
代码标签: vue 布局 模拟 mac 操作 系统 桌面 多窗口 打开 拖动 堆叠
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>macOS UI Prototype </title> <!-- Vue 3 and ECharts CDN --> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue.global.prod.3.5.17.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/echarts.js"></script> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <style> :root { --font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif; --bg-color: url('https://picsum.photos/1920/1080?grayscale&blur=2'); --menu-bar-bg: rgba(255, 255, 255, 0.2); --dock-bg: rgba(255, 255, 255, 0.15); --window-bg: rgba(240, 240, 240, 0.7); --window-header-bg: rgba(220, 220, 220, 0.8); --text-color: #1a1a1a; --border-color: rgba(0, 0, 0, 0.1); --shadow: 0 10px 30px rgba(0,0,0,0.2); --backdrop-blur: blur(20px); } /* --- Base & Layout --- */ body, html { height: 100%; margin: 0; font-family: var(--font-family); overflow: hidden; user-select: none; } #app { height: 100%; background-image: var(--bg-color); background-size: cover; background-position: center; position: relative; } /* --- Top Menu Bar --- */ .menu-bar { position: fixed; top: 0; left: 0; width: 100%; height: 28px; background-color: var(--menu-bar-bg); backdrop-filter: var(--backdrop-blur); -webkit-backdrop-filter: var(--backdrop-blur); display: flex; justify-content: space-between; align-items: center; font-size: 14px; font-weight: 500; color: var(--text-color); z-index: 99999; } .menu-left, .menu-right { display: flex; align-items: center; gap: 20px; } .menu-left svg { width: 18px; height: 18px; } /* --- Dock --- */ .dock { position: fixed; bottom: 8px; left: 50%; transform: translateX(-50%); background-color: var(--dock-bg); backdrop-filter: var(--backdrop-blur); -webkit-backdrop-filter: var(--backdrop-blur); border-radius: 20px; border: 1px solid var(--border-color); padding: 8px; display: flex; align-items: flex-end; gap: 12px; z-index: 99998; transition: all 0.2s ease-in-out; } .dock-item { cursor: pointer; transition: transform 0.15s ease, margin 0.15s ease; position: relative; } .dock-item img, .dock-item svg { width: 60px; height: 60px; } .dock-item:hover { transform: scale(1.4) translateY(-10px); } .dock-item .dot { position: absolute; bottom: -6px; left: 50%; transform: translateX(-50%); width: 6px; height: 6px; background-color: var(--text-color); border-radius: 50%; } /* --- Window System --- */ .window-container { position: absolute; background-color: var(--window-bg); backdrop-filter: var(--backdrop-blur); -webkit-backdrop-filter: var(--backdrop-blur); border-radius: 12px; box-shadow: var(--shadow); border: 1px solid var(--border-color); display: flex; flex-direction: column; overflow: hidden; transition: opacity 0.3s, transform 0.3s; } .window-container.minimized { transform: scale(0) translateY(50vh) !important; opacity: 0; pointer-events: none; } .window-header { height: 36px; back.........完整代码请登录后点击上方下载按钮下载查看
网友评论0