vue3实现移动端阅读书籍小说类app的ui原型图代码
代码语言:html
所属分类:其他
代码描述:vue3实现移动端阅读书籍小说类app的ui原型图代码
代码标签: vue 移动端 阅读 书籍 小说 app 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>Vue3 小说阅读App</title> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue3.2.22.js"></script> <style> :root { --primary-color: #5d4037; --bg-color: #f5f5f5; --surface-color: #ffffff; --text-color: #333; --text-secondary-color: #757575; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; margin: 0; background-color: var(--bg-color); color: var(--text-color); font-size: 16px; } #app { max-width: 480px; margin: 0 auto; background-color: var(--surface-color); min-height: 100vh; position: relative; padding-bottom: 60px; box-sizing: border-box; } .page-container { padding: 15px; } .icon { width: 1.5em; height: 1.5em; fill: currentColor; } /* Bottom Nav */ .bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; max-width: 480px; margin: 0 auto; height: 55px; background-color: var(--surface-color); border-top: 1px solid #eee; display: flex; justify-content: space-around; align-items: center; z-index: 100; } .nav-item { cursor: pointer; text-align: center; color: var(--text-secondary-color); display: flex; flex-direction: column; align-items: center; gap: 2px; flex: 1; padding: 5px 0; } .nav-item .icon { font-size: 20px; } .nav-item.active { color: var(--primary-color); } .nav-item span { font-size: 10px; margin-top: 2px; } /* Bookshelf Page */ .bookshelf-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; } .book-card { position: relative; cursor: pointer; } .book-card img { width: 100%; height: 160px; object-fit: cover; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); } .book-card .title { font-size: 14px; margin-top: 5px; text-align: center; } .progress-bar { position: absolute; bottom: 30px; left: 5%; right: 5%; height: 5px; background: rgba(255,255,255,0.5); border-radius: 3px; } .progress-bar-inner { height: 100%; background: var(--primary-color); border-radius: 3px; } /* 新增:书架空状态样式 */ .bookshelf-empty { text-align: center; padding: 80px 20px; color: var(--text-secondary-color); } .bookshelf-empty h3 { color: var(--text-color); } .bookshelf-empty .action-btn { display: inline-block; margin-top: 20px; padding: 10px 25px; background-color: var(--primary-color); color: white; border-radius: 20px; text-decoration: none; font-size: 16px; cursor: pointer; border: none; } /* Library Page */ .library-list .book-item { display: flex; gap: 15px; padding: 15px 0; border-bottom: 1px solid #eee; } .library-list img { width: 80px; height: 110px; object-fit: cover; border-radius: 4px; flex-shrink: 0; } .book-info { flex: 1; display: flex; flex-direction: column; } .book-info .title { font-size: 18px; font-weight: bold; } .book-info .author { color: var(--text-secondary-color); margin: 5px 0; } .book-info .desc { font-size: 13px; color: #666; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } .action-button { margin-top: auto; align-self: flex-end; padding: 6px 12px; border-radius: 15px; border: 1px solid var(--primary-color); background: transparent; color: var(--primary-color); cursor: pointer; } .action-button.added { background: var(--primary-color); color: white; } /* 新增: Profile Page 样式 */ .profile-header { display: flex; align-items: center; gap: 15px; padding: 20px 0; } .avatar { width: 70px; height: 70px; border-radius: 50%; background-color: var(--primary-color); color: white; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: bold; } .user-info .name { font-size: 20px; font-weight: bold; } .user-info .id { font-size: 12px; color: var(--text-secondary-color); } .profile-stats { display: flex; gap: 15px; margin: 15px 0; } .stat-card { flex: 1; background-color: var(--bg-color); padding: 15px; border-radius: 8px; text-align: center; } .stat-card .value { font-size: 22px; font-weight: bold; color: var(--primary-color); } .stat-card .label { font-size: 12px; color: var(--text-secondary-color); margin-top: 5px; } .profile-menu { margin-top: 20px;.........完整代码请登录后点击上方下载按钮下载查看
网友评论0