home.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <link rel="stylesheet" href="path/to/Common.css">
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  7. <title>饰品商城</title>
  8. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css">
  9. <style>
  10. * {
  11. margin: 0;
  12. padding: 0;
  13. box-sizing: border-box;
  14. font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  15. }
  16. body {
  17. background-color: #f5f5f5;
  18. color: #333;
  19. font-size: 14px;
  20. padding-bottom: 60px; /* 为底部tab栏留出空间 */
  21. }
  22. /* 顶部标签栏 */
  23. .header {
  24. position: fixed;
  25. top: 0;
  26. left: 0;
  27. right: 0;
  28. background-color: #fff;
  29. z-index: 100;
  30. box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  31. }
  32. .tab-container {
  33. display: flex;
  34. align-items: center;
  35. padding: 10px 0;
  36. border-bottom: 1px solid #eee;
  37. }
  38. .tabs {
  39. flex: 1;
  40. overflow-x: auto;
  41. white-space: nowrap;
  42. scrollbar-width: none; /* Firefox */
  43. -ms-overflow-style: none; /* IE and Edge */
  44. }
  45. .tabs::-webkit-scrollbar {
  46. display: none; /* Chrome, Safari, Opera */
  47. }
  48. .tab {
  49. display: inline-block;
  50. padding: 5px 12px;
  51. margin: 0 5px;
  52. border-radius: 15px;
  53. font-size: 14px;
  54. color: #666;
  55. }
  56. .tab.active {
  57. background-color: #1890ff;
  58. color: white;
  59. }
  60. .action-buttons {
  61. display: flex;
  62. padding: 0 10px;
  63. }
  64. .action-btn {
  65. padding: 5px;
  66. color: #666;
  67. font-size: 16px;
  68. }
  69. /* 内容区域 */
  70. .content {
  71. margin-top: 90px; /* 顶部标签栏高度 */
  72. padding: 10px;
  73. }
  74. /* 搜索区域 */
  75. .search-container {
  76. display: flex;
  77. margin-bottom: 15px;
  78. }
  79. .search-input {
  80. flex: 1;
  81. padding: 10px 15px;
  82. border: 1px solid #ddd;
  83. border-radius: 20px;
  84. outline: none;
  85. font-size: 14px;
  86. }
  87. .search-buttons {
  88. display: flex;
  89. margin-left: 10px;
  90. }
  91. .search-btn {
  92. width: 40px;
  93. height: 40px;
  94. display: flex;
  95. align-items: center;
  96. justify-content: center;
  97. background-color: #1890ff;
  98. color: white;
  99. border-radius: 50%;
  100. margin-left: 5px;
  101. }
  102. /* 大按钮组 */
  103. .big-buttons {
  104. display: flex;
  105. margin-bottom: 15px;
  106. }
  107. .big-btn {
  108. flex: 1;
  109. display: flex;
  110. flex-direction: column;
  111. align-items: center;
  112. justify-content: center;
  113. padding: 10px 5px;
  114. background-color: white;
  115. border-radius: 8px;
  116. margin: 0 5px;
  117. box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  118. }
  119. .big-btn:first-child {
  120. margin-left: 0;
  121. }
  122. .big-btn:last-child {
  123. margin-right: 0;
  124. }
  125. .big-btn i {
  126. font-size: 20px;
  127. margin-bottom: 5px;
  128. color: #1890ff;
  129. }
  130. /* 饰品列表 */
  131. .item-list {
  132. display: flex;
  133. flex-wrap: wrap;
  134. margin: 0 -5px;
  135. }
  136. .item-card {
  137. width: calc(50% - 10px);
  138. margin: 5px;
  139. background-color: white;
  140. border-radius: 8px;
  141. overflow: hidden;
  142. box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  143. }
  144. .item-image {
  145. position: relative;
  146. width: 100%;
  147. padding-top: 56.25%; /* 16:9 宽高比 */
  148. background-color: #f0f0f0;
  149. overflow: hidden;
  150. }
  151. .item-image img {
  152. position: absolute;
  153. top: 0;
  154. left: 0;
  155. width: 100%;
  156. height: 100%;
  157. object-fit: cover;
  158. }
  159. .item-info {
  160. padding: 10px;
  161. }
  162. .item-name {
  163. font-size: 14px;
  164. font-weight: bold;
  165. margin-bottom: 5px;
  166. white-space: nowrap;
  167. overflow: hidden;
  168. text-overflow: ellipsis;
  169. }
  170. .item-wear {
  171. font-size: 12px;
  172. color: #666;
  173. margin-bottom: 5px;
  174. }
  175. .item-price {
  176. font-size: 16px;
  177. color: #f56c6c;
  178. font-weight: bold;
  179. }
  180. /* 底部Tab栏 */
  181. .tab-bar {
  182. position: fixed;
  183. bottom: 0;
  184. left: 0;
  185. right: 0;
  186. display: flex;
  187. background-color: white;
  188. border-top: 1px solid #eee;
  189. z-index: 100;
  190. }
  191. .tab-item {
  192. flex: 1;
  193. display: flex;
  194. flex-direction: column;
  195. align-items: center;
  196. justify-content: center;
  197. padding: 8px 0;
  198. color: #666;
  199. }
  200. .tab-item.active {
  201. color: #1890ff;
  202. }
  203. .tab-item i {
  204. font-size: 20px;
  205. margin-bottom: 2px;
  206. }
  207. .tab-item span {
  208. font-size: 12px;
  209. }
  210. </style>
  211. </head>
  212. <body>
  213. <!-- 顶部标签栏 -->
  214. <div class="header">
  215. <div class="tab-container">
  216. <div class="tabs">
  217. <span class="tab active">首页</span>
  218. <span class="tab">拍卖</span>
  219. <span class="tab">推荐</span>
  220. <span class="tab">最新上架</span>
  221. <span class="tab">热门关注</span>
  222. <span class="tab">饰品租赁</span>
  223. <span class="tab">挂刀推荐</span>
  224. <span class="tab">趋势榜单</span>
  225. <span class="tab">特殊磨损</span>
  226. <span class="tab">宝石刀</span>
  227. <span class="tab">打包专区</span>
  228. </div>
  229. <div class="action-buttons">
  230. <div class="action-btn"><i class="bi bi-box-arrow-right"></i></div>
  231. <div class="action-btn"><i class="bi bi-person-circle"></i></div>
  232. </div>
  233. </div>
  234. </div>
  235. <!-- 内容区域 -->
  236. <div class="content">
  237. <!-- 搜索区域 -->
  238. <div class="search-container">
  239. <input type="text" class="search-input" placeholder="搜索">
  240. <div class="search-buttons">
  241. <div class="search-btn"><i class="bi bi-camera"></i></div>
  242. <div class="search-btn"><i class="bi bi-upc-scan"></i></div>
  243. </div>
  244. </div>
  245. <!-- 大按钮组 -->
  246. <div class="big-buttons">
  247. <div class="big-btn">
  248. <i class="bi bi-search"></i>
  249. <span>印花搜枪</span>
  250. </div>
  251. <div class="big-btn">
  252. <i class="bi bi-funnel"></i>
  253. <span>类型筛选</span>
  254. </div>
  255. <div class="big-btn">
  256. <i class="bi bi-collection"></i>
  257. <span>收藏品总览</span>
  258. </div>
  259. <div class="big-btn">
  260. <i class="bi bi-star"></i>
  261. <span>季节新品</span>
  262. </div>
  263. </div>
  264. <!-- 饰品列表 -->
  265. <div class="item-list">
  266. <!-- 示例饰品卡片 - 实际应用中应该使用循环生成 -->
  267. <div class="item-card">
  268. <div class="item-image">
  269. <img src="images/AWP.jpg" alt="饰品图片">
  270. </div>
  271. <div class="item-info">
  272. <div class="item-name">AWP | 二西莫夫 (崭新出厂)</div>
  273. <div class="item-wear">磨损: 0.012345</div>
  274. <div class="item-price">¥ 1,299.00</div>
  275. </div>
  276. </div>
  277. <div class="item-card">
  278. <div class="item-image">
  279. <img src="images/A4.jpg" alt="饰品图片">
  280. </div>
  281. <div class="item-info">
  282. <div class="item-name">M4A4 | 二西莫夫 (久经沙场)</div>
  283. <div class="item-wear">磨损: 0.234567</div>
  284. <div class="item-price">¥ 599.00</div>
  285. </div>
  286. </div>
  287. <div class="item-card">
  288. <div class="item-image">
  289. <img src="images/AK2.jpg" alt="饰品图片">
  290. </div>
  291. <div class="item-info">
  292. <div class="item-name">AK-47 | 燃料喷射器 (略有磨损)</div>
  293. <div class="item-wear">磨损: 0.123456</div>
  294. <div class="item-price">¥ 899.00</div>
  295. </div>
  296. </div>
  297. <div class="item-card">
  298. <div class="item-image">
  299. <img src="images/Glove.jpg" alt="饰品图片">
  300. </div>
  301. <div class="item-info">
  302. <div class="item-name">手套 | 深红之网 (战痕累累)</div>
  303. <div class="item-wear">磨损: 0.456789</div>
  304. <div class="item-price">¥ 2,499.00</div>
  305. </div>
  306. </div>
  307. <div class="item-card">
  308. <div class="item-image">
  309. <img src="images/Knife.jpg" alt="饰品图片">
  310. </div>
  311. <div class="item-info">
  312. <div class="item-name">蝴蝶刀 | 渐变大理石 (崭新出厂)</div>
  313. <div class="item-wear">磨损: 0.001234</div>
  314. <div class="item-price">¥ 5,999.00</div>
  315. </div>
  316. </div>
  317. <div class="item-card">
  318. <div class="item-image">
  319. <img src="images/Degou.jpg" alt="饰品图片">
  320. </div>
  321. <div class="item-info">
  322. <div class="item-name">沙漠之鹰 | 印花集 (崭新出厂)</div>
  323. <div class="item-wear">磨损: 0.012345</div>
  324. <div class="item-price">¥ 399.00</div>
  325. </div>
  326. </div>
  327. </div>
  328. </div>
  329. <!-- 底部Tab栏 -->
  330. <div class="tab-bar">
  331. <div class="tab-item active">
  332. <a href="home.html">
  333. <i class="bi bi-house"></i>
  334. <span>首页</span>
  335. </a>
  336. </div>
  337. <div class="tab-item">
  338. <a href="discover.html">
  339. <i class="bi bi-compass"></i>
  340. <span>发现</span>
  341. </a>
  342. </div>
  343. <div class="tab-item">
  344. <a href="Kucun.html">
  345. <i class="bi bi-bag"></i>
  346. <span>库存</span>
  347. </a>
  348. </div>
  349. <div class="tab-item">
  350. <a href="Dianpu.html">
  351. <i class="bi bi-shop"></i>
  352. <span>店铺</span>
  353. </a>
  354. </div>
  355. <div class="tab-item">
  356. <a href="WOde.html">
  357. <i class="bi bi-person"></i>
  358. <span>我</span>
  359. </a>
  360. </div>
  361. </div>
  362. <script>
  363. // 简单的交互逻辑
  364. document.addEventListener('DOMContentLoaded', function() {
  365. // 切换标签
  366. const tabs = document.querySelectorAll('.tab');
  367. tabs.forEach(tab => {
  368. tab.addEventListener('click', function() {
  369. tabs.forEach(t => t.classList.remove('active'));
  370. this.classList.add('active');
  371. });
  372. });
  373. // 切换底部Tab
  374. const tabItems = document.querySelectorAll('.tab-item');
  375. tabItems.forEach(item => {
  376. item.addEventListener('click', function() {
  377. tabItems.forEach(i => i.classList.remove('active'));
  378. this.classList.add('active');
  379. });
  380. });
  381. // 顶部标签栏滚动效果
  382. const tabsContainer = document.querySelector('.tabs');
  383. let isDown = false;
  384. let startX;
  385. let scrollLeft;
  386. tabsContainer.addEventListener('mousedown', (e) => {
  387. isDown = true;
  388. startX = e.pageX - tabsContainer.offsetLeft;
  389. scrollLeft = tabsContainer.scrollLeft;
  390. });
  391. tabsContainer.addEventListener('mouseleave', () => {
  392. isDown = false;
  393. });
  394. tabsContainer.addEventListener('mouseup', () => {
  395. isDown = false;
  396. });
  397. tabsContainer.addEventListener('mousemove', (e) => {
  398. if(!isDown) return;
  399. e.preventDefault();
  400. const x = e.pageX - tabsContainer.offsetLeft;
  401. const walk = (x - startX) * 2; // 滚动速度
  402. tabsContainer.scrollLeft = scrollLeft - walk;
  403. });
  404. // 触摸事件支持
  405. tabsContainer.addEventListener('touchstart', (e) => {
  406. isDown = true;
  407. startX = e.touches[0].pageX - tabsContainer.offsetLeft;
  408. scrollLeft = tabsContainer.scrollLeft;
  409. });
  410. tabsContainer.addEventListener('touchend', () => {
  411. isDown = false;
  412. });
  413. tabsContainer.addEventListener('touchmove', (e) => {
  414. if(!isDown) return;
  415. const x = e.touches[0].pageX - tabsContainer.offsetLeft;
  416. const walk = (x - startX) * 2;
  417. tabsContainer.scrollLeft = scrollLeft - walk;
  418. });
  419. });
  420. </script>
  421. </body>
  422. </html>