vue3布局实现一个pc端即时通讯聊天软件ui原型图代码
代码语言:html
所属分类:布局界面
代码描述:vue3布局实现一个pc端即时通讯聊天软件ui原型图代码
代码标签: vue pc端 即时 通讯 聊天 软件 ui 原型图 代码
下面为部分代码预览,完整代码请点击下载或在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>即时通讯 - PC端原型</title> <!-- Vue 3 CDN --> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue.global.3.2.37.js"></script> <!-- ECharts CDN --> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/echarts.5.5.0.js"></script> <style> /* --- 全局样式与CSS变量 --- */ :root { --primary-color: #2a69d6; --primary-color-light: #4a8cff; --background-color: #f5f5f5; --sider-bg: #e4e4e4; --list-bg: #f0f0f0; --content-bg: #f5f5f5; --text-color: #333; --text-color-light: #888; --text-color-white: #fff; --border-color: #e0e0e0; --hover-bg: #d9d9d9; --active-bg: #c9c9c9; --message-sent-bg: #95ec69; --unread-badge-bg: #fa3e3e; --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif; --border-radius: 6px; } body, html { margin: 0; padding: 0; height: 100vh; width: 100vw; font-family: var(--font-family); background-color: var(--background-color); overflow: hidden; user-select: none; } #app { height: 100%; width: 100%; display: flex; justify-content: center; align-items: center; color: var(--text-color); } /* --- 动画 --- */ .fade-enter-active, .fade-leave-active { transition: opacity 0.3s ease; } .fade-enter-from, .fade-leave-to { opacity: 0; } /* --- 登录页面样式 --- */ .login-page { display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: #fff; padding: 40px; border-radius: var(--border-radius); box-shadow: 0 10px 30px rgba(0,0,0,0.1); } .login-page h1 { color: var(--primary-color); margin: 0 0 20px; } .qr-code-container { width: 200px; height: 200px; border: 1px solid var(--border-color); padding: 10px; cursor: pointer; transition: transform 0.3s; } .qr-code-container:hover { transform: scale(1.05); } .login-page p { margin-top: 15px; color: var(--text-color-light); } /* --- 主布局样式 --- */ .main-layout { display: flex; width: 860px; height: 620px; background: var(--list-bg); border-radius: var(--border-radius); box-shadow: 0 5px 25px rgba(0,0,0,0.15); overflow: hidden; } /* --- 侧边栏 --- */ .sider { width: 60px; background-color: var(--sider-bg); display: flex; flex-direction: column; align-items: center; padding: 20px 0; flex-shrink: 0; border-right: 1px solid var(--border-color); } .sider-avatar { width: 40px; height: 40px; border-radius: 50%; cursor: pointer; margin-bottom: 30px; } .nav-icons { display: flex; flex-direction: column; gap: 25px; } .nav-icon { width: 28px; height: 28px; fill: #555; cursor: pointer; transition: fill 0.2s, transform 0.2s; } .nav-icon:hover { fill: var(--primary-color); transform: scale(1.1); } .nav-icon.active { fill: var(--primary-color); } .sider-menu { margin-top: auto; } /* --- 列表面板 --- */ .list-panel { width: 250px; background: var(--list-bg); display: flex; flex-direction: column; border-right: 1px solid var(--border-color); } .list-header { padding: 10px 15px; display: flex; align-items: center; border-bottom: 1px solid var(--border-color); height: 40px; } .search-input { width: 100%; padding: 6px 10px; border: 1px solid var(--border-color); border-radius: var(--border-radius); outline: none; background: #fff; } .item-list { flex: 1; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #ccc var(--list-bg); } .chat-item, .contact-item { display: flex; align-items: center; padding: 12px 15px; cursor: pointer; transition: background-color 0.2s; } .chat-item:hover, .contact-item:hover { background-color: var(--hover-bg); } .chat-item.active { background-color: var(--active-bg); } .item-avatar { width: 40px; height: 40px; border-radius: var(--border-radius); margin-right: 12px; flex-shrink: 0; } .i.........完整代码请登录后点击上方下载按钮下载查看
网友评论0