123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529 |
- <!DOCTYPE html>
- <html lang="zh-CN">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>鸟类观察社区</title>
- <link rel="stylesheet" href="https://at.alicdn.com/t/c/font_4006896_9kq3p2p2z4q.css">
- <style>
- * {
- margin: 0;
- padding: 0;
- box-sizing: border-box;
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
- }
-
- body {
- background-color: #f5f5f5;
- color: #333;
- max-width: 100vw;
- overflow-x: hidden;
- }
-
- .container {
- padding-bottom: 60px; /* 给底部导航留空间 */
- min-height: 100vh;
- }
-
- /* 顶部搜索栏 */
- .search-bar {
- padding: 12px 15px;
- background-color: #fff;
- position: sticky;
- top: 0;
- z-index: 10;
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
- }
-
- .search-container {
- display: flex;
- align-items: center;
- background-color: #f7f7f7;
- border-radius: 20px;
- padding: 8px 15px;
- }
-
- .city-selector {
- display: flex;
- align-items: center;
- padding-right: 10px;
- border-right: 1px solid #e0e0e0;
- color: #666;
- font-size: 14px;
- }
-
- .city-selector i {
- font-size: 12px;
- margin-left: 4px;
- }
-
- .search-input {
- flex: 1;
- padding: 0 10px;
- border: none;
- background: transparent;
- outline: none;
- font-size: 14px;
- }
-
- .search-input::placeholder {
- color: #999;
- }
-
- /* 精选照片轮播 */
- .photo-carousel {
- padding: 15px;
- overflow-x: auto;
- white-space: nowrap;
- -webkit-overflow-scrolling: touch;
- }
-
- .photo-carousel::-webkit-scrollbar {
- display: none;
- }
-
- .photo-item {
- display: inline-block;
- width: 70vw;
- height: 150px;
- border-radius: 12px;
- margin-right: 10px;
- background-size: cover;
- background-position: center;
- position: relative;
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
- }
-
- .photo-author {
- position: absolute;
- left: 10px;
- bottom: 10px;
- color: white;
- font-size: 12px;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
- background-color: rgba(0, 0, 0, 0.3);
- padding: 2px 8px;
- border-radius: 10px;
- }
-
- /* 金刚区 */
- .icon-group {
- display: flex;
- justify-content: space-around;
- padding: 15px 0;
- background-color: #fff;
- margin-bottom: 10px;
- }
-
- .icon-item {
- display: flex;
- flex-direction: column;
- align-items: center;
- }
-
- .icon-circle {
- width: 40px;
- height: 40px;
- border-radius: 50%;
- background-color: #f0f9eb;
- display: flex;
- justify-content: center;
- align-items: center;
- margin-bottom: 5px;
- color: #67c23a;
- }
-
- .icon-text {
- font-size: 12px;
- color: #666;
- }
-
- /* 公告区域 */
- .announcement {
- display: flex;
- align-items: center;
- padding: 10px 15px;
- background-color: #fff;
- margin-bottom: 10px;
- border-radius: 0;
- }
-
- .announcement-icon {
- color: #f56c6c;
- margin-right: 8px;
- }
-
- .announcement-text {
- font-size: 14px;
- color: #333;
- flex: 1;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
-
- /* 推荐标签 */
- .tag-group {
- padding: 10px 15px;
- background-color: #fff;
- overflow-x: auto;
- white-space: nowrap;
- -webkit-overflow-scrolling: touch;
- }
-
- .tag-group::-webkit-scrollbar {
- display: none;
- }
-
- .tag-item {
- display: inline-block;
- padding: 4px 12px;
- background-color: #f5f5f5;
- border-radius: 15px;
- margin-right: 8px;
- font-size: 12px;
- color: #666;
- }
-
- /* 帖子列表 */
- .post-list {
- padding: 0 15px;
- }
-
- .post-item {
- background-color: #fff;
- border-radius: 12px;
- margin-bottom: 15px;
- overflow: hidden;
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
- }
-
- .post-header {
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding: 12px 15px;
- }
-
- .user-info {
- display: flex;
- align-items: center;
- }
-
- .avatar {
- width: 40px;
- height: 40px;
- border-radius: 50%;
- margin-right: 10px;
- background-color: #eee;
- background-size: cover;
- }
-
- .user-name {
- font-size: 14px;
- font-weight: 500;
- margin-bottom: 2px;
- }
-
- .user-role {
- font-size: 12px;
- color: #999;
- }
-
- .follow-btn {
- font-size: 12px;
- padding: 4px 10px;
- border-radius: 15px;
- border: 1px solid #67c23a;
- color: #67c23a;
- background-color: transparent;
- }
-
- .follow-btn.followed {
- color: #999;
- border-color: #ddd;
- }
-
- .post-image {
- width: 100%;
- height: 200px;
- background-size: cover;
- background-position: center;
- }
-
- .post-footer {
- display: flex;
- justify-content: space-around;
- padding: 10px 0;
- border-top: 1px solid #f5f5f5;
- }
-
- .action-btn {
- display: flex;
- align-items: center;
- color: #666;
- font-size: 12px;
- }
-
- .action-btn i {
- margin-right: 4px;
- font-size: 16px;
- }
-
- /* 底部导航 */
- .bottom-tab {
- position: fixed;
- bottom: 0;
- left: 0;
- right: 0;
- display: flex;
- justify-content: space-around;
- background-color: #fff;
- padding: 8px 0;
- box-shadow: 0 -1px 5px rgba(0, 0, 0, 0.1);
- z-index: 100;
- }
-
- .tab-item {
- display: flex;
- flex-direction: column;
- align-items: center;
- color: #666;
- font-size: 10px;
- }
-
- .tab-icon {
- font-size: 22px;
- margin-bottom: 3px;
- }
-
- .tab-center {
- position: relative;
- top: -15px;
- }
-
- .center-icon {
- width: 50px;
- height: 50px;
- background-color: #67c23a;
- border-radius: 50%;
- display: flex;
- justify-content: center;
- align-items: center;
- color: white;
- font-size: 24px;
- box-shadow: 0 2px 10px rgba(103, 194, 58, 0.5);
- }
-
- /* 美化优化 */
- .highlight-text {
- color: #67c23a;
- }
-
- .divider {
- height: 1px;
- background-color: #f0f0f0;
- margin: 10px 15px;
- }
- </style>
- </head>
- <body>
- <div class="container">
- <!-- 顶部搜索栏 -->
- <div class="search-bar">
- <div class="search-container">
- <div class="city-selector">
- <span>南昌</span>
- <i class="iconfont icon-arrow-down"></i>
- </div>
- <input type="text" class="search-input" placeholder="一拍即识,守护羽翼精灵">
- <i class="iconfont icon-search" style="color: #999;"></i>
- </div>
- </div>
-
- <!-- 精选照片轮播 -->
- <div class="photo-carousel">
- <div class="photo-item" style="background-image: url('https://picsum.photos/600/400?random=1');">
- <div class="photo-author">@观鸟爱好者</div>
- </div>
- <div class="photo-item" style="background-image: url('https://picsum.photos/600/400?random=2');">
- <div class="photo-author">@自然摄影师</div>
- </div>
- <div class="photo-item" style="background-image: url('https://picsum.photos/600/400?random=3');">
- <div class="photo-author">@生态保护者</div>
- </div>
- <div class="photo-item" style="background-image: url('https://picsum.photos/600/400?random=4');">
- <div class="photo-author">@鸟类研究员</div>
- </div>
- <div class="photo-item" style="background-image: url('https://picsum.photos/600/400?random=5');">
- <div class="photo-author">@旅行达人</div>
- </div>
- </div>
-
- <!-- 金刚区 -->
- <div class="icon-group">
- <div class="icon-item">
- <div class="icon-circle">
- <i class="iconfont icon-bird"></i>
- </div>
- <div class="icon-text">查鸟</div>
- </div>
- <div class="icon-item">
- <div class="icon-circle">
- <i class="iconfont icon-music"></i>
- </div>
- <div class="icon-text">鸟音</div>
- </div>
- <div class="icon-item">
- <div class="icon-circle">
- <i class="iconfont icon-location"></i>
- </div>
- <div class="icon-text">附近</div>
- </div>
- <div class="icon-item">
- <div class="icon-circle">
- <i class="iconfont icon-recommend"></i>
- </div>
- <div class="icon-text">推荐</div>
- </div>
- <div class="icon-item">
- <div class="icon-circle">
- <i class="iconfont icon-star"></i>
- </div>
- <div class="icon-text">精选</div>
- </div>
- </div>
-
- <!-- 公告区域 -->
- <div class="announcement">
- <i class="iconfont icon-notice announcement-icon"></i>
- <div class="announcement-text">鄱阳湖观鸟节即将开幕,点击查看活动详情</div>
- <i class="iconfont icon-arrow-right" style="color: #999;"></i>
- </div>
-
- <!-- 推荐标签 -->
- <div class="tag-group">
- <div class="tag-item">世界地球日</div>
- <div class="tag-item">霞光鸟影</div>
- <div class="tag-item">慢门拍摄</div>
- <div class="tag-item">候鸟迁徙</div>
- <div class="tag-item">生态保护</div>
- <div class="tag-item">摄影技巧</div>
- </div>
-
- <div class="divider"></div>
-
- <!-- 帖子列表 -->
- <div class="post-list">
- <div class="post-item">
- <div class="post-header">
- <div class="user-info">
- <div class="avatar" style="background-image: url('https://picsum.photos/100/100?random=6');"></div>
- <div>
- <div class="user-name">观鸟达人小王</div>
- <div class="user-role">鸟类保护志愿者</div>
- </div>
- </div>
- <button class="follow-btn">+关注</button>
- </div>
- <div class="post-image" style="background-image: url('https://picsum.photos/400/300?random=7');"></div>
- <div class="post-footer">
- <div class="action-btn">
- <i class="iconfont icon-like"></i>
- <span>点赞</span>
- </div>
- <div class="action-btn">
- <i class="iconfont icon-comment"></i>
- <span>评论</span>
- </div>
- <div class="action-btn">
- <i class="iconfont icon-share"></i>
- <span>分享</span>
- </div>
- </div>
- </div>
-
- <div class="post-item">
- <div class="post-header">
- <div class="user-info">
- <div class="avatar" style="background-image: url('https://picsum.photos/100/100?random=8');"></div>
- <div>
- <div class="user-name">自然摄影师李</div>
- <div class="user-role">专业摄影师</div>
- </div>
- </div>
- <button class="follow-btn followed">已关注</button>
- </div>
- <div class="post-image" style="background-image: url('https://picsum.photos/400/300?random=9');"></div>
- <div class="post-footer">
- <div class="action-btn">
- <i class="iconfont icon-like"></i>
- <span>点赞</span>
- </div>
- <div class="action-btn">
- <i class="iconfont icon-comment"></i>
- <span>评论</span>
- </div>
- <div class="action-btn">
- <i class="iconfont icon-share"></i>
- <span>分享</span>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <!-- 底部导航 -->
- <div class="bottom-tab">
- <div class="tab-item">
- <i class="iconfont icon-home tab-icon"></i>
- <span>首页</span>
- </div>
- <div class="tab-item">
- <i class="iconfont icon-edit tab-icon"></i>
- <span>发帖</span>
- </div>
- <div class="tab-item tab-center">
- <div class="center-icon">
- <i class="iconfont icon-camera"></i>
- </div>
- <span style="margin-top: 8px;">识别</span>
- </div>
- <div class="tab-item">
- <i class="iconfont icon-message tab-icon"></i>
- <span>消息</span>
- </div>
- <div class="tab-item">
- <i class="iconfont icon-user tab-icon"></i>
- <span>个人</span>
- </div>
- </div>
- <script>
- // 简单的交互逻辑
- document.querySelectorAll('.follow-btn').forEach(btn => {
- btn.addEventListener('click', function() {
- if (this.classList.contains('followed')) {
- this.classList.remove('followed');
- this.textContent = '+关注';
- this.style.color = '#67c23a';
- this.style.borderColor = '#67c23a';
- } else {
- this.classList.add('followed');
- this.textContent = '已关注';
- this.style.color = '#999';
- this.style.borderColor = '#ddd';
- }
- });
- });
-
- // 模拟照片轮播自动滚动
- setTimeout(() => {
- const carousel = document.querySelector('.photo-carousel');
- if (carousel) {
- carousel.scrollLeft = 100;
- }
- }, 1000);
- </script>
- </body>
- </html>
|