ant design vue:自定义锚点样式

news2025/1/10 20:45:12

要做一个如下图的锚点,ant design vue的锚点样式比较简单,按照官网文档:affix="false" :showInkInFixed="true",就可以显示小方块,但是我试了一下不管用,而且锚点组件不固定起来很不方便,所以放弃这种方法。

之后想过用时间轴和步骤条来模拟锚点,样式很容易达到如图效果,但是在锚点定位上要做太多改造,还是放弃了这种方法。

仔细研究锚点文档,发现可以通过插槽自定义标题,那么想要在文字前面加图标就很简单了。

<a-anchor @change="onchange">
				<template v-for="(item,index) in items">
					<a-anchor-link :href="'#'+index" @click="onclick(index)">
						<template #title>
							<EnvironmentFilled :style="{fontSize: '16px', color: '#1677ff'}" v-if="index==currentIndex"/>
							<span class="grayBall" v-else></span>
							<span :class="index==currentIndex?'active':''">{{item.title}}</span>
						</template>
					</a-anchor-link>
				</template>
			</a-anchor>

在文字前面加了图标后,如下图:

css样式上还需要改动,去掉蓝色小条,并且将灰色竖线往右移到图标的中间去,样式如果不生效,就加!important。

// 隐藏默认的蓝色竖条
	::v-deep .ant-anchor .ant-anchor-ink {
		display: none!important;
	}
	// 将灰色竖线移到图标中间
	::v-deep .ant-anchor:before {
		left: 25px!important;
	}

完整代码:

<template>
	<div class="container">
		<div class="floor">
			<template v-for="(item,index) in items">
				<div :id="index">
					<template v-for="(item2,index2) in 50">
						<p>{{item.title}}</p>
					</template>
				</div>
			</template>
		</div>
		<div>
			<a-anchor @change="onchange">
				<template v-for="(item,index) in items">
					<a-anchor-link :href="'#'+index" @click="onclick(index)">
						<template #title>
							<EnvironmentFilled :style="{fontSize: '16px', color: '#1677ff'}" v-if="index==currentIndex"/>
							<span class="grayBall" v-else></span>
							<span :class="index==currentIndex?'active':''">{{item.title}}</span>
						</template>
					</a-anchor-link>
				</template>
			</a-anchor>
		</div>

	</div>
</template>

<script lang="ts" setup>
	import { EnvironmentFilled } from '@ant-design/icons-vue';
	import { ref } from 'vue';
	let currentIndex = ref<number>(0);	
	const items = ref<any>([
		{
			title: '个人信息'
		},
		{
			title: '教育背景'
		},
		{
			title: '工作经历'
		}
	]);
	const onclick = (index : number) => {
		currentIndex.value = index;
	}
	const onchange = (e:string) => {
		//鼠标滚动的时候,锚点也会发生变化,输出的是锚点id
		let index = Number(e.replace('#',''));
		currentIndex.value = index;
	}
</script>

<style scoped lang="scss">
	.container {
		width: 80%;
		display: flex;
		justify-content: space-end;
	}

	.floor {
		width: 30%;
	}
	.grayBall {
		display: inline-block;
		width: 12px;
		height: 12px;
		border-radius: 50%;
		background-color: #eee;
	}
	// 隐藏默认的蓝色竖条
	::v-deep .ant-anchor .ant-anchor-ink {
		display: none!important;
	}
	// 将灰色竖线移到图标中间
	::v-deep .ant-anchor:before {
		left: 25px!important;
	}
	.active {
		color:#1677ff
	}
</style>

 最终效果:

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

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

相关文章

[大三上20231016]JavaEE SpringBoot

[大三上20231016]JavaEE SpringBoot 学习是个积累,踏踏实实去做,多去虚心请教,热爱兴趣很重要 课前提问: Spring框架中的核心组件是什么? IOC,AOP IOC: Inversion of Control即控制反转 AOP: Aspect Oriented Programming 面向切面编程 什么是IOS什么是DI? IOS(作用:…

《向量数据库指南》——选择向量数据库时需要考量的点Milvus Cloud

大禹智库:选择向量数据库时需要考量的点 性能 如上述,查询性能(查询的响应时间,系统的吞吐能力)是在选型向量数据库时的一个重要参考点,市面上现有的向量数据库的 Benchmark 有: ANN-Benchmark 是一种用于评估各种向量数据库和近似最近邻(ANN)算法性能的工具 VectorD…

如何快速集成讯飞星火 2.0 API ?

大家好&#xff0c;我是二哥呀。 之前带大家体验了两波科大讯飞的星火认知大模型&#xff0c;真没想到&#xff0c;反馈远超我的预期&#xff0c;大家普遍都说好&#xff0c;不仅注册方便&#xff0c;工作和学习的效率也得到了极大的提升。 今天继续给大家带来重磅体验&#…

SLAM从入门到精通(a*搜路算法)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 目前机器人常用的搜路算法主要有这么几种&#xff0c;迪杰斯特拉算法、a*算法、贪心算法。每一种算法都有自己的场景和优势&#xff0c;可以灵活选…

如何在Linux环境中远程访问企业级夜莺监控分析工具?

文章目录 前言1. Linux 部署Nightingale2. 本地访问测试3. Linux 安装cpolar4. 配置Nightingale公网访问地址5. 公网远程访问Nightingale管理界面6. 固定Nightingale公网地址 前言 夜莺监控是一款开源云原生观测分析工具&#xff0c;采用 All-in-One 的设计理念&#xff0c;集…

微信小程序2

一&#xff0c;视图层 1.什么视图层 框架的视图层由 WXML 与 WXSS 编写&#xff0c;由组件来进行展示。 将逻辑层的数据反映成视图&#xff0c;同时将视图层的事件发送给逻辑层。 WXML(WeiXin Markup language) 用于描述页面的结构。 WXS(WeiXin Script) 是小程序的一套脚本语…

深入理解强化学习——强化学习智能体的四要素:策略(Policy)

分类目录&#xff1a;《深入理解强化学习》总目录 相关文章&#xff1a; 强化学习智能体的四要素&#xff1a;策略&#xff08;Policy&#xff09; 强化学习智能体的四要素&#xff1a;收益信号&#xff08;Revenue Signal&#xff09; 强化学习智能体的四要素&#xff1a;价…

备忘录模式-撤销功能的实现

在idea写代码的过程中&#xff0c;会经常用到一个快捷键——“crtl z”,即撤销功能。“备忘录模式”则为撤销功能提供了一个设计方案。 1 备忘录模式 备忘录模式提供一种状态恢复机制。在不破坏封装的前提下&#xff0c;捕获对象内部状态并在该对象之外保存这个状态。可以在…

关于职业规划的学习经验总结

目录 前言 结构化思考 思考快与慢 积极主动 以终为始 要事第一 前言 每一年的年中或者年终都有一场很重要的活动就是述职,需要花费一定精力投入,那么述职是一种形式吗?当然不是。述职是一种组织的管理手段和机制,通过这种机制除了对战略方向和项目进度进行把控,还对…

chatgpt 4V 识图功能

1.获取图片的sig和file_id 2e0edc6e489ed13a3f32f0dd87527d77.jpg是本地图片的名字 头部认证信息自己F12 抓取 1.获取图片的sighttps://chat.openai.com/backend-api/filesAuthorization:Bearer eyJhbGc****************5V-lztYwLb9hr6LP7g Cookie: **********************…

set_data_check做等长线

我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口 常常会遇见2out的多个信号需要做等长&#xff0c;下面分享一个脚本。 set port1_coll [get_ports out[*]] set port2_coll [get_ports out[*]] foreach_in_collection temp1 $…

ChatGPT教你5分钟解锁国际象棋技能

国际象棋是一种很好玩的棋类游戏&#xff0c;走法和规则与中国象棋有所区别。如果想要快速入门&#xff0c;可以把ChatGPT当做私人教练&#xff0c;提出这些问题&#xff1a; ●作为零基础的初学者&#xff0c;学习国际象棋的最佳方法是什么&#xff1f;如何快速入门&#xff…

计算机保研推免面试复习大纲(数学+408)

目录 线性代数概率论高等数学信号与系统离散数学操作系统计算机网络计算机组成数据结构算法编译原理C杂项 线性代数 怎么求逆矩阵 逆矩阵&#xff1a; A A − 1 E AA^{-1}E AA−1E&#xff0c;伴随矩阵&#xff1a; A A ∗ A ∗ A ∣ A ∣ E AA^{*}A^{*}A|A|E AA∗A∗A∣A∣…

算法通关村第一关-链表白银经典问题笔记

大家好今天来写第一关的白银挑战-链表经典问题. 两个链表的第一个公共结点 这是一道经典的链表问题 : 输入两个无环的单向链表&#xff0c;找出它们的第一个公共结点&#xff0c;如果没有公共节点则返回空。 牛客NC66 : 剑指offer56 : 分析 : 屡试不爽的方法: 将常用数据…

第15章 SpringBoot

所有的流程逻辑原理都是针对2.3.2.RELEASE版本 15.1 谈谈你对微服务架构演进的理解 难度:★ 重点:★ 白话解析 还是串主线,在串主线的过程中发现问题,解决问题。主线的入口:随着业务的逻辑越来越复杂,架构再不断升级演进,先理解架构的演进。 这道题参考了:企业IT架构转…

引领虚拟化技术新潮流:VMware Fusion Pro for Mac/win中文版

当谈论虚拟机时&#xff0c;很多人可能会对其有所了解&#xff0c;但并不一定清楚它的具体作用和优势。在这篇文章中&#xff0c;我们将带您走进虚拟机的世界&#xff0c;并深入了解VMware Fusion Pro这一专业虚拟化解决方案的独特魅力。 虚拟机是一种模拟真实计算机环境的软件…

黑马mysql教程笔记(mysql8教程)基础篇——函数(字符串函数、数值函数、日期函数、流程函数)

参考文章1&#xff1a;https://www.bilibili.com/video/BV1Kr4y1i7ru/ 参考文章2&#xff1a;https://dhc.pythonanywhere.com/article/public/1/ 文章目录 基础篇函数字符串函数常用函数使用示例实例&#xff1a;更新已有的所有员工号&#xff0c;使其满足5位数长度&#xff…

抓包工具charles修改请求和返回数据

数据篡改的主要使用场景&#xff1a; &#xff08;1&#xff09;mock场景&#xff0c;mock入参和返回值参数&#xff0c;实现mock测试 &#xff08;2&#xff09;安全测试&#xff0c;对于支付金额等比较重要的字段&#xff0c;可以修改请求参数来进行安全测试 1.首先选择要…

Flink的算子列表状态的使用

背景 算子的列表状态是平时比较常见的一种状态&#xff0c;本文通过官方的例子来看一下怎么使用算子列表状态 算子列表状态 算子列表状态支持应用的并行度扩缩容&#xff0c;如下所示: 使用方法参见官方示例&#xff0c;我加了几个注解&#xff1a; public class Bufferin…