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