uni-app項目實戰筆記1--創建項目和實現首頁輪播圖功能

ps:本筆記來自B站咸蝦米壁紙項目

一.創建項目,完成項目初始化搭建

1.在HBuilder X創建wallper項目,使用默認模塊,選擇vue;

2.在項目根目錄下創建common目錄,用于存放靜態資源,創建項目時自動生成static目錄,之所以不把靜態資源放到static目錄下,是因為放在static目錄下,不管文件是否引用都會打包進去,而放到common目錄只會將引用到的文件打包到項目包里,我們應該盡量控制包的大小;

3.在common目錄下新建images目錄用于存放圖片資源,新建style目錄存放樣式文件;

4.在style目錄下新建common-style.scss文件,寫入下面折代碼:

view{box-sizing: border-box;
}

box-sizing: border-box:為所有元素設置盒模型。為border-box聲明表示元素的寬度(width)和高度(height)將包含:

  • 內容區(content)
  • 內邊距(padding)
  • 邊框(border)

這種設置的好處:

  • 更直觀的尺寸控制
  • 簡化布局計算
  • 響應式設計中更易處理百分比寬度

5.在程序主入口文件App.vue引入上面的scss文件,作為全局樣式:

<style lang="scss">@import "common/style/common-style.scss";/*每個頁面公共css */
</style>

?二. 首頁banner效果的實現

在首頁index.vue引入輪播圖組件:

<template><view class="homeLayout"><view class="banner"><swiper indicator-dots indicator-color="rgba(255, 255, 255, 0.5)" indicator-active-color="#fff" autoplay circular><swiper-item ><image src="/common/images/banner1.jpg" mode="aspectFill"></image></swiper-item><swiper-item ><image src="/common/images/banner2.jpg" mode="aspectFill"></image></swiper-item><swiper-item ><image src="/common/images/banner3.jpg" mode="aspectFill"></image></swiper-item></swiper></view></view>
</template>

上面的代碼實現的效果:

1. 輪播圖功能
自動輪播 (autoplay):圖片會自動切換,無需用戶手動操作。

循環播放 (circular):滑動到最后一張后,會無縫銜接回到第一張,形成無限循環。

指示器 (indicator-dots):顯示底部的小圓點,標識當前輪播的位置。

indicator-color="rgba(255, 255, 255, 0.5)":未選中的指示點顏色(半透明白色)。

indicator-active-color="#fff":當前選中的指示點顏色(純白色)。

2. 圖片展示
圖片填充模式 (mode="aspectFill"):圖片會按比例縮放,填滿整個容器,可能會被裁剪,但不會變形。

3. 布局結構
最外層是 homeLayout 容器,用于整體頁面布局。

banner 類包裹 swiper,用于控制輪播圖的樣式(如寬度、高度、邊距等)。

SCSS部分的代碼:

<style lang="scss" scoped>.homeLayout{.banner{width: 750rpx;padding: 30rpx 0;swiper{width: 750rpx;height: 340rpx;swiper-item{width: 100%;height: 100%;padding: 0 30rpx;image{width: 100%;height: 100%;border-radius: 10rpx;}}}}}
</style>

代碼解釋:

1. 外層容器布局 (homeLayout 和 banner)
寬度固定 750rpx(表示滿屏寬度)。

上下內邊距 30rpx,使輪播圖與上下內容保持間距。

2. 輪播圖 (swiper) 樣式
寬度 750rpx(占滿容器寬度)。

高度 340rpx(固定高度)。

輪播項 (swiper-item):

占滿父容器 (width: 100%; height: 100%),繼承自父類。

左右內邊距 30rpx,使圖片不緊貼屏幕邊緣,留出呼吸空間。

3. 圖片 (image) 樣式
寬度和高度 100%(填滿 swiper-item 的可用空間),繼承自父類。

圓角 10rpx,使圖片四角變圓潤,提升視覺效果。

最終效果
輪播圖寬度占滿屏幕(750rpx)。

高度固定(340rpx),圖片比例不變(aspectFill 模式)。

圖片兩側有間距(padding: 0 30rpx),避免圖片緊貼屏幕邊緣。

圖片帶圓角(border-radius: 10rpx),視覺更柔和。

整體上下有留白(padding: 30rpx 0),避免與其他內容擠在一起。

重要事項說明:
rpx 單位:是小程序/Uniapp 的響應式單位,會根據屏幕寬度自適應縮放(750rpx ≈ 100% 屏幕寬度)。

scoped 作用域:樣式僅作用于當前組件,避免影響其他頁面。

aspectFill 模式(在 image 組件中定義):確保圖片按比例縮放并填滿容器,可能部分內容被裁剪,但不會變形。

最終實現的效果:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/84558.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84558.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/84558.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

機械制造系統中 PROFINET 與 PROFIBUS-DP 的融合應用及捷米科技解決方案

在機械制造領域&#xff0c;工業通信網絡的兼容性與靈活性直接影響產線的自動化水平與生產效率。當前&#xff0c;多數機械制造系統采用PROFINET 控制器構建核心網絡架構&#xff0c;并通過微波無線連接實現設備互聯。隨著工業網絡的發展&#xff0c;系統中常需同時集成PROFINE…

MCP 協議系列序言篇:開啟 AI 應用融合新時代的鑰匙

文章目錄 序言&#xff1a;AI 應用層進入 MCP 時代為什么 MCP 開啟 AI 應用融合新時代的鑰匙為什么是 MCP&#xff1f;它與 Function Calling、Agent 有什么區別&#xff1f;Function CallingAI AgentMCP&#xff08;Model Context Protocol&#xff09; MCP 如何工作MCP Serve…

【threejs】每天一個小案例講解:光照

代碼倉 GitHub - TiffanyHoo/three_practices: Learning three.js together! 可自行clone&#xff0c;無需安裝依賴&#xff0c;直接liver-server運行/直接打開chapter01中的html文件 運行效果圖 知識要點 常見光照類型及其特點如下&#xff1a; 1. 環境光&#xff08;Ambi…

大模型在輸尿管下段積水預測及臨床應用的研究

目錄 一、引言 1.1 研究背景與意義 1.2 研究目的 1.3 研究范圍與限制 1.4 文獻綜述 1.5 研究方法和框架 二、相關理論與概念 2.1 大模型技術原理 2.2 輸尿管下段積水病理機制 2.3 大模型在醫學預測領域的應用 三、大模型預測輸尿管下段積水的方法 3.1 數據收集 3.…

gitlab相關操作

2025.06.11今天我學習了如何在終端使用git相關操作&#xff1a; 一、需要修改新的倉庫git地址的時候&#xff1a; &#xff08;1&#xff09;檢查當前遠程倉庫 git remote -v 輸出示例&#xff1a; origin https://github.com/old-repo.git (fetch) origin https://github.c…

51c自動駕駛~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention為LLM長文本建模帶來突破性進展 琶洲實驗室、華南理工大學聯合推出關鍵上下文感知注意力機制&#xff08;CCA-Attention&#xff09;&#xff0c;…

通過共享內存在多程序之間實現數據通信

注&#xff1a;以下內容為與 GPT-4O 共同創作完成 以共享內存的方式實現多程序之間的數據通信&#xff0c;尤其適合在一臺機器上的多程序之間進行高頻數據交換。 以下示例展示了 sender.py 向 receiver.py 發送數據并接收經 receiver.py 處理后的數據&#xff0c;以及如何通過…

[論文閱讀] 人工智能+軟件工程 | 理解GitGoodBench:評估AI代理在Git中表現的新基準

理解GitGoodBench&#xff1a;評估AI代理在Git中表現的新基準 論文信息 GitGoodBench: A Novel Benchmark For Evaluating Agentic Performance On Git Tobias Lindenbauer, Egor Bogomolov, Yaroslav Zharov Cite as: arXiv:2505.22583 [cs.SE] 研究背景&#xff1a;當AI走進…

開源 java android app 開發(十二)封庫.aar

文章的目的為了記錄使用java 進行android app 開發學習的經歷。本職為嵌入式軟件開發&#xff0c;公司安排開發app&#xff0c;臨時學習&#xff0c;完成app的開發。開發流程和要點有些記憶模糊&#xff0c;趕緊記錄&#xff0c;防止忘記。 相關鏈接&#xff1a; 開源 java an…

ubuntu + nginx 1.26 + php7.4 + mysql8.0 調優

服務器配置 8核 16G 查看內存 free -h nginx配置 worker_processes auto; # 自動檢測CPU核心數 worker_rlimit_nofile 65535; # 提高文件描述符限制 ? events {worker_connections 8192; # 每個worker的最大連接數multi_accept on; # 一次性接受…

[未驗證]abaqus2022 更改內置python

如何在 Abaqus 2022 中更改內置 Python 在 Abaqus 中&#xff0c;Python 是常用的腳本語言&#xff0c;它使得用戶能夠自動化模型的創建、分析和后處理。可能有時候你需要更改默認的 Python 版本&#xff0c;比如使用特定庫或者功能。本文將為您詳細說明如何在 Abaqus 2022 中更…

RAG文檔解析難點2:excel數據“大海撈針”,超大Excel解析與精準行列查詢指南

寫在前面 在構建檢索增強生成(RAG)應用時,Excel文件是不可或缺的數據源。它們通常包含了企業運營、市場分析、科學研究等各個領域的寶貴數據。然而,當這些Excel文件變得“超大”——可能包含數十萬甚至數百萬行數據時,傳統的解析方法和RAG數據處理流程將面臨嚴峻的內存、…

深度掌控,智啟未來 —— 基于 STM32F103RBT6 的控制板

在科技浪潮奔涌向前的時代&#xff0c;電子領域的創新發展從未停歇。對于電子工程師、科研工作者以及電子技術愛好者&#xff0c;在校電子專業學生而言&#xff0c;一款性能卓越、功能全面且穩定可靠的開發板&#xff0c;是探索電子世界奧秘、實現創意構想的關鍵基石。今天&…

什么樣的登錄方式才是最安全的?

目錄 一、基礎協議&#xff1a;HTTP與HTTPS HTTP協議 HTTPS協議 二、常見Web攻擊與防御 2.1 XSS 常見攻擊手段 針對XSS 攻擊竊取 Cookie 2.2 CSRF CSRF攻擊的核心特點 與XSS的區別 常見防御措施 三、疑問解答 四、登錄方式演變 4.1 方案一&#x1f436;狗都不用 …

android studio底部導航欄

實現底部導航欄切換 將java文件return的xml文件賦值給頁面FrameLayout控件 java文件BottomNavigationView&#xff0c;監聽器setOnNavigationItemSelectedListener MainActivity.java代碼 package com.example.myapplication;import android.os.Bundle;import androidx.appc…

vue-router相關理解

一、前言 隨著 Vue.js 在前端開發中的廣泛應用&#xff0c;Vue Router 成為了 Vue 官方推薦的路由管理器。它不僅支持單頁面應用&#xff08;SPA&#xff09;中常見的路由跳轉、嵌套路由、懶加載等功能&#xff0c;還提供了導航守衛、動態路由等高級特性。 本文將帶你深入了解…

uni-app 自定義路由封裝模塊詳解(附源碼逐行解讀)

&#x1f680;uni-app 自定義路由封裝模塊詳解&#xff08;附源碼逐行解讀&#xff09; &#x1f4cc; 請收藏 點贊 關注&#xff0c;獲取更多 uni-app 項目實用技巧&#xff01; 在實際 uni-app 項目中&#xff0c;我們常常需要對 uni.navigateTo、uni.switchTab 等 API 做…

QML顯示圖片問題解決辦法

以前用qtwediget的時候&#xff0c;好像是放在qlabel或者什么組件上面&#xff0c;把圖片的路徑放上去就可以直接加載&#xff0c;但我用QML創建界面的時候就遇到了問題&#xff0c;哦對&#xff0c;qtwedget用qpixmap組件顯示圖片&#xff0c;也有image。話說回來&#xff0c;…

Vue中使用jsx

1. jsx的babel配置 1.1 在項目中使用jsx&#xff0c;需要添加對jsx的支持&#xff1a; jsx通常會通過Babel來進行轉換(React編寫的jsx就是通過babel轉換的)Vue中&#xff0c;只需要在Babel中配置對應的插件即可以下列舉需要支持轉換的案例&#xff1a; template -> vue-l…

Spring Cache+Redis緩存方案 vs 傳統redis緩存直接使用RedisTemplate 方案對比

結合 Spring Cache 和 Redis 的緩存方案&#xff08;即 Spring Cache Redis&#xff09;相較于普通的 Redis 緩存使用&#xff08;如直接通過 RedisTemplate 操作&#xff09;&#xff0c;具有以下顯著優勢&#xff1a; 具體實現方案請參考&#xff1a;Spring CacheRedis緩存…