uni-app:实现图片周围的图片按照圆进行展示

news2024/12/22 18:35:50

效果

代码

<template>
	<view class="position">
		<view class="circle">
			<img src="/static/item1.png" class="center-image">
			<view v-for="(item, index) in itemList" :key="index" class="item" :style="getItemStyle(index)">
				<img :src="item.src" />
				<text>{{ item.name }}</text>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				itemList: [{
						name: "Item1",
						src: "/static/item1.png"
					},
					{
						name: "Item2",
						src: "/static/item2.png"
					},
					{
						name: "Item3",
						src: "/static/item3.png"
					},
					{
						name: "Item4",
						src: "/static/item4.png"
					},
					{
						name: "Item5",
						src: "/static/item5.png"
					},
					{
						name: "Item6",
						src: "/static/item6.png"
					},
					{
						name: "Item7",
						src: "/static/item7.png"
					},
					
				],
				circleRadius: 120, // 圆的半径
				itemSize: 60, // 每个view的大小
			};
		},
		methods: {
			// 计算每个 view 的样式
			getItemStyle(index) {
				const {
					itemList,
					circleRadius,
					itemSize
				} = this;
				const angle = (2 * Math.PI) / itemList.length; // 每个 view 的角度间隔
				const centerX = circleRadius + itemSize / 2; // 圆心的 x 坐标
				const centerY = circleRadius + itemSize / 2; // 圆心的 y 坐标
				const radius = circleRadius + itemSize / 2; // view 的圆心距离(圆的半径加上 view 大小的一半)
				const x = Math.round(centerX + radius * Math.cos(angle * index - Math.PI / 2)); // 计算 x 坐标
				const y = Math.round(centerY + radius * Math.sin(angle * index - Math.PI / 2)); // 计算 y 坐标

				return {
					width: itemSize + "px",
					height: itemSize + "px",
					position: "absolute",
					top: y + "px",
					left: x + "px",
					transform: `translate(-50%, -50%)`, // 居中显示
				};
			},
		},
	};
</script>

<style scoped>
	/* 整体位置 */
	.position{
		/* border: 1px solid black; */
		position: absolute;
		top:50%;
		left:50%;
		transform: translate(-50%, -50%);
	}
	/* 圆的样式 */
	.circle {
		width: 300px;
		height: 300px;
		border-radius: 50%;
		/* border: 1px solid black; */
	}
	/* 中间图标 */
	.center-image {
	    width: 80px;
	    height: 80px;
	    position: absolute;
	    top: 50%;
	    left: 50%;
	    transform: translate(-50%, -50%);
	  }
	  /* 小图标 */
	.item {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
	/* 小图标的图片信息 */
	.item img {
		width: 40px;
		height: 40px;
		border-radius: 50%;
	}
</style>

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

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

相关文章

通俗讲解MobileNet-v1/v2/v3网络

MobileNet网络是由google团队在2017年提出的&#xff0c;专注于移动端或者嵌入式设备中的轻量级CNN网络。相比传统卷积神经网络&#xff0c;在准确率小幅降低的前提下大大减少模型参数与运算量。(相比VGG16准确率减少了0.9%&#xff0c;但模型参数只有VGG的1/32)。MobileNet网络…

智慧电力平台打造无人值守配电房、变电所

随着科技的发展&#xff0c;电力行业也在不断进步。为了提高电力供应的可靠性和效率&#xff0c;智慧电力平台应运而生。通过智慧电力平台&#xff0c;打造无人值守配电房和变电所成为行业趋势。 一、无人值守配电房和变电所的概念 无人值守配电房和变电所是指通过数字化、…

夜莺启动时报dialector() not supported

sudo nohup /opt/n9e/n9e &>> /opt/n9e/n9e.log &启动的时候&#xff0c;ss -tlnp|grep 17000查看一下监控端口状态&#xff0c;发现提示的信息是[1] Exit 1 sudo nohup /opt/n9e/n9e &>> /opt/n9e/n9e.log&#xff0c;这表明没有正常启动。 原来以为…

linux系统中通过docker安装python包

前提 已经安装docker 已经安装python,python镜像是jetz_python3.7.13 1、将需要安装的python包都写入txt文件中 2、拷贝文件 (1)、通过已安装的python包找到python安装路径 首次安装镜像后,容器启动,进入容器中 docker run -it --name py37 jetz_python3.7.13 /bin/ba…

C语言连接MySQL并执行SQL语句(hello world)

1.新建一个控制台项目 参考【VS2022 和 VS2010 C语言控制台输出 Hello World】VS2022 和 VS2010 C语言控制台输出 Hello World_vs2022源文件在哪_西晋的no1的博客-CSDN博客 2.安装MySQL 参考【MySQL 8.0.34安装教程】MySQL 8.0.34安装教程_西晋的no1的博客-CSDN博客 3.复制MySQ…

【2-SAT】【前缀和优化建图】【ICPC网络赛第二场】C. Covering

题目 思路 对于限制2&#xff0c;可以发现&#xff0c;如果 i i i 不选&#xff0c;那么 i − 1 i-1 i−1 和 i 1 i1 i1 就一定要选&#xff0c;2-SAT可以很好地解决 对于限制1&#xff0c;其实就是把 i i i 分成了若干个集合&#xff0c;每个集合只能选1个点。但如果用…

2、SpringBoot_依赖介绍

三、SpringBoot介绍 1.parent 前言&#xff1a;之前是使用spring/springmvc 开发&#xff0c;整合不同的组件会有很多依赖&#xff0c;这些依赖会涉及到很多的版本信息&#xff0c;版本信息多了之后可能会导致版本冲突问题概述&#xff1a;把很多组件技术的搭配放到一起&…

ruoyi-vue项目的打包、与运行

ruoyi-vue项目的打包、与运行 打包打包后文件&#xff0c;及其运行 打包 打包后文件&#xff0c;及其运行 注意&#xff1a;要&#xff08;带配置&#xff09;打开redis redis-server.exe redis.windows.conf

细胞机器人系统的概念

摘要 本文讨论了一种新型机器人系统的理论和工程的概念基础。该系统由协作完成任务的自主机器人单元组成。本文在描述了该系统与细胞自动机和神经网络的相关性和差异后&#xff0c;建立了该系统的基础属性及其对机器人单元结构的影响、它们操作的空间以及它们完成全局任务的算法…

SPA项目的登录注册实现,post/get请求以及跨域问题

目录 前言 一. 登录&#xff0c;注册静态页面 1.1 ElementUI简介 1.2 基于SPA项目完成登录 1.2.1 在SPA项目中添加elementui依赖 1.2.2 在main.js中添加elementui模块 1.2.3 在src目录下创建views目录&#xff0c;用于存放vue组件 1.2.4 配置路由 1.2.5 修改项目端口并启…

企业如何实现设备管理数字化?企业有什么办法做到降本增效?

随着时代的发展&#xff0c;科学技术的进步以及自动化水平的不断提高&#xff0c;设备的维护保养成为日常工作中不可或缺的事项。但是&#xff0c;许多工作人员对于设备操作和保养规程的不熟悉&#xff0c;导致误操作、保养不到位或不能及时发现设备故障隐患等情况的大量出现。…

【vue】利用axios发送请求

这里写目录标题 一、项目环境配置二、利用axios发送POST请求登录三、异步实现&#xff1a;利用axios发送POST请求登录&#xff08;json&#xff09;四、异步实现&#xff1a;利用axios发送POST请求登录&#xff08;表单&#xff09;五、token存储六、token使用七、全局的axios配…

基于springboot地方废物回收机构管理系统springboot11

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…

2023-9-25 排队打水

题目链接&#xff1a;排队打水 #include <iostream> #include <algorithm>using namespace std;typedef long long LL;const int N 100010;int n; int t[N];int main() {scanf("%d", &n);for(int i 0; i < n; i ) scanf("%d", &t…

服务接口调用OpenFeign_入门案列

构建cloud-consumer-feign-order80工程 修改POM文件 <!-- 引入OpenFeign依赖 --> <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>编写YML文件…

Linux 处理文件( touch 命令、cp 命令、mv 命令、rm 命令)

Linux 处理文件 创建文件&#xff08; touch 命令&#xff09;&#xff0c;复制文件&#xff08; cp 命令&#xff09;&#xff0c;重命名文件&#xff08; mv 命令&#xff09;&#xff0c;删除文件&#xff08;rm 命令&#xff09; 文章目录 Linux 处理文件一、创建文件&…

【Linux】【网络】传输层协议:TCP

文章目录 TCP 协议1. TCP 协议段格式2. TCP 报头解析3. TCP 的可靠性4. 面向字节流5. 粘包问题6. 连接队列维护 TCP 的 确认应答机制TCP 的 超时重传机制TCP 的 三次握手TCP 的 四次挥手setsockopt 函数&#xff1a;设置套接字选项&#xff0c;解决 TIME_WAIT 状态引起的 bind …

力扣2861 补9.21

2861. 最大合金数 好蛮好蛮&#xff0c;我连题目都读不懂了&#xff0c;丝毫不明白咋做。 看了灵神题解&#xff0c;嗯&#xff0c;就好家伙&#xff0c;所有合金都需要由同一台机器制造。题目老是看漏&#xff0c;也就是只能选择其中一个机器造合金&#xff0c;这题能用二分也…

电脑WIFI突然消失

文章目录 1. 现象2. 解决办法1&#xff1a;重新启用无线网卡设置3. 解决办法2&#xff1a;更新无线网卡驱动4. 解决办法3&#xff1a;释放静电5. 解决办法4&#xff1a;拆机并重新插拔无线网卡 1. 现象 如下图&#xff1a;电脑在使用过程中WIFI消失 设备管理器中的无线网卡驱…

Redis安装部署与数据类型

目录 一、数据库类型 二、Redis简介 三、Redis 的优点 Redis 具有以下几个优点&#xff1a; Redis为什么这么快&#xff1f; 四、Redis安装部署 五、Redis 数据库常用命令 Redis 多数据库常用命令 六、Redis数据类型 String数据类型 List数据类型 Hash数据类型&…