学习Uni-app开发小程序Day17

news2024/11/17 21:31:42

今天开始,就把uni-app前期使用的全部学完了,现在就把以前学习的,做成一案例,中间有未讲的,在进行补充,这里是根据老师视频进行项目案例编写的。
先弄出效果图,然后在根据效果图进行代码的编辑
在这里插入图片描述
这是今天需要弄出来的效果图,

添加轮播图

在前面学习了轮播图片的功能,这里就使用起来,使用的是swiper,显示图片的是swiper-items,这里记录下

<swiper indicator-dots autoplay circular 
		:interval="3000" :duration="1000" 
		indicator-color="rgba(255,255,255,0.5)"
		indicator-active-color="#ffffff">
	<swiper-item v-for="(item,index) in picArr" :key="item.id">
	  <image :src="item.src" mode="aspectFill" ></image>
	</swiper-item>
</swiper>

indicator-dots:是否显示面板指示点
autoplay:是否自动切换
circular:是否采用衔接滑动,即播放到末尾后重新回到开头
interval:自动切换时间间隔
duration:滑动动画时长
indicator-color:指示按钮的颜色
indicator-active-color:选中的颜色

这就是轮播图了,但是在运行后,发现样式是不对的,这里得添加下样式

.banner{
		width: 750rpx;
		padding: 30rpx 0; //padding:当是一个值的时候:是周围四边,两个值:第一个是:上下;第二个是左右;当三个值:第一是上。第二个是左右,第三个是下;当是四个值:第一个是上,第二个右,第三个下,第四个左
		swiper{
			width: 750rpx;
			height: 340rpx;
			&-item{
				width: 100%;
				height: 100%;
				padding:0 30rpx;
				image{
					width: 100%;
					height: 100%;
					border-radius: 10rpx;
				}
			}
		}
	}

这就是整个轮播图的样式,这里说明习下,当如果直接使用这个样式,出来的是不正确的,原因是,是用padding是添加了距离边框,但是添加的这个距离边框会把原始布局往外延伸,这里需要设置成内边框,如何设置:这就是css样式的引入了
在根据下添加一个目录,common,创建一个scss的样式,这个样式设置成全局的样式,

view,swiper,swiper-item{
	box-sizing: border-box;
	//定义了 user agent 应该如何计算一个元素的总宽度和总高度
	// content-box
	// 默认值,标准盒子模型。width 与 height 只包括内容的宽和高,不包括边框(border),内边距(padding),外边距(margin)。注意:内边距、边框和外边距都在这个盒子的外部。比如说,.box {width: 350px; border: 10px solid black;} 在浏览器中的渲染的实际宽度将是 370px。
	// 尺寸计算公式:
	// width = 内容的宽度
	// height = 内容的高度
	// 宽度和高度的计算值都不包含内容的边框(border)和内边距(padding)。
	// border-box
	// width 和 height 属性包括内容,内边距和边框,但不包括外边距。这是当文档处于 Quirks 模式 时 Internet Explorer 使用的盒模型。注意,填充和边框将在盒子内 , 例如, .box {width: 350px; border: 10px solid black;} 导致在浏览器中呈现的宽度为 350px 的盒子。内容框不能为负,并且被分配到 0,使得不可能使用 border-box 使元素消失。
	// 尺寸计算公式:
	// width = border + padding + 内容的宽度
	// height = border + padding + 内容的高度
}

然后在app下面引用就可以了。

纵向使用轮播文字

看效果图,有个轮播的公告,这也是使用swiper进行设计的,

<view class="notice">
   <view class="letf">
	<uni-icons type="sound-filled" size="20" color="#309877"></uni-icons>
	<text class="text">公告</text>
  </view>
  <view class="center">
	<swiper vertical circular autoplay interval="1500" duration="300">
		<swiper-item v-for="item in 4">
			内容文字内容文字内容文字内容文字内容文字
		</swiper-item>
	</swiper>
  </view>
  <view class="rigth">
	<uni-icons type="right" size="16" color="#333"></uni-icons>
  </view>
</view>

这就是公告的布局,但是使用这个后,发现所有的组件是纵向显示的,和模版是不相同的,修改下样式:

.notice{
		width: 690rpx;
		height: 80rpx;
		line-height: 80rpx;
		background: #f9f9f9;
		margin: 0 auto;
		border-radius: 80rpx;
		display: flex;
		.letf{
			width: 140rpx;
			display: flex;
			justify-content: center;
			align-items: center;
			.text{
				font-weight: 600; //指定了字体的粗细程度, 详细查看:https://developer.mozilla.org/zh-CN/docs/Web/CSS/font-weight
				font-size: 28rpx;
				color:#309877 ;
			}
		}
		.center{
			flex: 1;
			swiper{
				height: 100%;
				&-item{
					height: 100%;
					font-size: 30rpx;
					color: #666;
					overflow: hidden; //设置了元素溢出时所需的行为——即当元素的内容太大而无法适应它的区块格式化上下文时。
					white-space: nowrap; //用于设置如何处理元素内的空白字符,nowrap是不让换行显示
					text-overflow: ellipsis;// 用于确定如何提示用户存在隐藏的溢出内容 ellipsis:超出文本部分使用省略号
				}
			}
		}
		.rigth{
			width: 70rpx;
			display: flex;
			justify-content: center;
			align-items: center;
		}
	}

如果要修改view显示的方式,只要设置了display: flex;,就可以了,
&-item:这是父组件是swiper,子组件是swiper-item,这里的简化方式就可以使用这种写法
这样就是各个布局的代码和样式,下面是全部代码

<template>
	<view class="homeLayout">
		<view class="banner">
			<swiper indicator-dots autoplay circular :interval="3000" :duration="1000" 
			indicator-color="rgba(255,255,255,0.5)" indicator-active-color="#ffffff">
				<swiper-item v-for="(item,index) in picArr" :key="item.id">
					<image :src="item.src" mode="aspectFill" ></image>
				</swiper-item>
			</swiper>
		</view>
		<view class="notice">
			<view class="letf">
				<uni-icons type="sound-filled" size="20" color="#309877"></uni-icons>
				<text class="text">公告</text>
			</view>
			<view class="center">
				<swiper vertical circular autoplay interval="1500" duration="300">
					<swiper-item v-for="item in 4">
						内容文字内容文字内容文字内容文字内容文字
					</swiper-item>
				</swiper>
			</view>
			<view class="rigth">
				<uni-icons type="right" size="16" color="#333"></uni-icons>
			</view>
		</view>
	</view>
</template>

<script setup>
import { ref } from 'vue';
	const picArr=ref([{id:1,src:"../../common/images/banner1.jpg"},
					  {id:2,src:"../../common/images/banner2.jpg"},
					  {id:3,src:"../../common/images/banner3.jpg"}])
	

</script>

<style lang="scss" scoped>
.homeLayout{
	.banner{
		width: 750rpx;
		padding: 30rpx 0; //padding:当是一个值的时候:是周围四边,两个值:第一个是:上下;第二个是左右;当三个值:第一是上。第二个是左右,第三个是下;当是四个值:第一个是上,第二个右,第三个下,第四个左
		swiper{
			width: 750rpx;
			height: 340rpx;
			&-item{
				width: 100%;
				height: 100%;
				padding:0 30rpx;
				image{
					width: 100%;
					height: 100%;
					border-radius: 10rpx;
				}
			}
		}
	}
	.notice{
		width: 690rpx;
		height: 80rpx;
		line-height: 80rpx;
		background: #f9f9f9;
		margin: 0 auto;
		border-radius: 80rpx;
		display: flex;
		.letf{
			width: 140rpx;
			display: flex;
			justify-content: center;
			align-items: center;
			.text{
				font-weight: 600; //指定了字体的粗细程度, 详细查看:https://developer.mozilla.org/zh-CN/docs/Web/CSS/font-weight
				font-size: 28rpx;
				color:#309877 ;
			}
		}
		.center{
			flex: 1;
			swiper{
				height: 100%;
				&-item{
					height: 100%;
					font-size: 30rpx;
					color: #666;
					overflow: hidden; //设置了元素溢出时所需的行为——即当元素的内容太大而无法适应它的区块格式化上下文时。
					white-space: nowrap; //用于设置如何处理元素内的空白字符,nowrap是不让换行显示
					text-overflow: ellipsis;// 用于确定如何提示用户存在隐藏的溢出内容 ellipsis:超出文本部分使用省略号
				}
			}
		}
		.rigth{
			width: 70rpx;
			display: flex;
			justify-content: center;
			align-items: center;
		}
	}
}

</style>

这就是全部的轮播图和轮播文字!
有不对的地方欢迎大家提问,我是小白,大家共同学习!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1687844.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android:使用Kotlin搭建MVP架构模式

一、简介Android MVP架构模式 MVP全称&#xff1a;Model、View、Presenter&#xff1b; View&#xff1a;负责视图部分展示Model&#xff1a;负责数据的请求、解析、过滤等数据层操作。Presenter&#xff1a;View和Model交互的桥梁。对应MVC中的C&#xff08;controller&#x…

AJAX(JQuery版本)

目录 前言 一.load方法 1.1load()简介 1.2load()方法示例 1.3load()方法回调函数的参数 二.$.get()方法 2.1$.get()方法介绍 2.2详细说明 2.3一些例子 2.3.1请求test.php网页并传送两个参数 2.3.2显示test返回值 三.$.post()方法 3.1$.post()方法介绍 3.2详细说明 …

Debug-010-git stash的用法及使用场景

问题原因&#xff1a; 其实也不是最近&#xff0c;就是之前就碰到过这个问题&#xff0c;那就是我正在新分支开发新功能&#xff0c;开发程度还没有到可以commit的程度&#xff0c;我不想提交(因为有些功能没有完全实现&#xff0c;而且没有自测的话很容易有问题&#xff0c;提…

【C++初阶】—— 类和对象 (下)

&#x1f4dd;个人主页&#x1f339;&#xff1a;EterNity_TiMe_ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 类和对象 1. 运算符重载运算符重载赋值运算符重载前置和后置重载 2. 成员函数的补充3. 初始化列…

Python 调整PDF文件的页面大小

在处理PDF文件时&#xff0c;我们可能会遇到这样的情况&#xff1a;原始PDF文档不符合我们的阅读习惯&#xff0c;或者需要适配不同显示设备等。这时&#xff0c;我们就需要及时调整PDF文档中的页面尺寸&#xff0c;以满足不同应用场景的需求。 利用Python语言的高效性和灵活性…

SOLIDWORKS二次开发服务商 慧德敏学

SOLIDWORKS是一套三维设计软件, 采用特征建模、变量化驱动可方便地实现三维建模、装配和生成工程图。SOLIDWORKS软件本身所具有的交互方式, 可以使用户对已生成模型的尺寸、几何轮廓和相互约束关系随时进行修改, 而不需要编程。但要实现设计意义上的变量化绘图和系列化设计, 需…

89.网络游戏逆向分析与漏洞攻防-游戏技能系统分析-游戏中使用的哈希算法逆向分析

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果&#xff0c;代码看不懂是正常的&#xff0c;只要会抄就行&#xff0c;抄着抄着就能懂了 内容…

4K高刷显示器 - 10大产品对比

4K高刷显示器 - 蚂蚁电竞 N27U 显示屏评测报告 一、产品品牌知名度 蚂蚁电竞&#xff0c;作为一家专注于电竞领域的品牌&#xff0c;近年来在市场上逐渐崭露头角。虽然相较于一些老牌显示器品牌&#xff0c;蚂蚁电竞的知名度还有待提高&#xff0c;但其在电竞领域的表现却不容…

C++数据结构——哈希表

前言&#xff1a;本篇文章将继续进行C数据结构的讲解——哈希表。 目录 一.哈希表概念 二.哈希函数 1.除留取余法 三.哈希冲突 1.闭散列 线性探测 &#xff08;1&#xff09;插入 &#xff08;2&#xff09;删除 2. 开散列 开散列概念 四.闭散列哈希表 1.基本框架 …

Excel实现将A列和B列的内容组合到一个新的列(例如C列)中,其中A列的每个值都与B列的所有值组合。

利用Excel中vba代码宏实现 原始数据&#xff1a; 自动生成后数据&#xff1a; vba实现代码&#xff1a; Sub CombineColumns()Dim ws As WorksheetDim lastRowA As Long, lastRowB As Long, i As Long, j As LongDim MyIndex As IntegerDim strCombine As String, strColA As…

Vue 3 组件基础与模板语法详解

title: Vue 3 组件基础与模板语法详解 date: 2024/5/24 16:31:13 updated: 2024/5/24 16:31:13 categories: 前端开发 tags: Vue3特性CompositionAPITeleportSuspenseVue3安装组件基础模板语法 Vue 3 简介 1. Vue 3 的新特性 Vue 3引入了许多新的特性&#xff0c;以提高框…

【计算机视觉(3)】

基于Python的OpenCV基础入门——图形与文字的绘制 图形与文字的绘制&#xff1a;画线画矩形画圆画多边形加文字 图形与文字绘制的代码实现&#xff1a; 图形与文字的绘制&#xff1a; 画线 img cv2.line(img, pt1, pt2, color, thickness) 参数&#xff1a; img&#xff1a;…

瑞芯微RV1126——ffmpeg环境搭建

本篇文章来介绍一下&#xff0c;在ubuntu上搭建一个比较完整的ffmpeg环境需要的步骤以及流程。为后期将我们开发的应用程序移植到RV1126开发板上做准备。 在安装ffmpeg之前&#xff0c;为了方便后续的操作&#xff0c;我们可以先搭建好samba服务器。所以本节将分为两个部分&am…

ThingML的学习——在ecplise里面配置maven

前置工作&#xff1a; 1.在ecplise里面配置maven之前&#xff0c;首先需要在windows里面下载maven。 2.配置环境变量 3.修改maven配置文件&#xff08;最好改为阿里云&#xff09; 1.配置Java环境&#xff0c;需要jdk版的&#xff08;jar不行&#xff09; 以上不在这里面详细介…

ACM实训第十七天

Is It A Tree? 问题 考试时应该做不出来&#xff0c;果断放弃 树是一种众所周知的数据结构&#xff0c;它要么是空的(null, void, nothing)&#xff0c;要么是一个或的集合满足以下属性的节点之间有向边连接的节点较多。 •只有一个节点&#xff0c;称为根节点&#xff0c;它…

探索生态农业,守护绿色家园

在繁忙的都市生活中&#xff0c;我们往往忽略了与自然和谐相处的重要性。而生态农业&#xff0c;正是让我们重拾与大自然亲密关系的桥梁。通过采用生态友好的耕作方式&#xff0c;生态农业不仅能够提供健康、营养的农产品&#xff0c;还能够保护生态环境&#xff0c;实现人与自…

登录安全分析报告:创蓝云智注册

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

ubuntu使用记录——如何使用wireshark网络抓包工具进行检测速腾激光雷达的ip和端口号

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言wireshark网络抓包工具1.wireshark的安装2.wireshark的使用3.更改雷达ip 总结 前言 Wireshark是一款备受赞誉的开源网络协议分析软件&#xff0c;其功能之强大…

在做题中学习(61):连续数组

525. 连续数组 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;前缀和 哈希表 转化&#xff1a;将 0 ——> -1 转变为&#xff1a;找到和为0的最长子数组 细节&#xff1a; 1.哈希表存什么 前缀和 &#xff0c; 长度 2.什么时候存入哈希表 先处理前一个&…