Vue3分割线(Divider)

发布时间:2026/8/29 13:50:22

Vue3分割线(Divider)
可自定义设置以下属性分割线标题的位置orientation类型left | center | right默认 center标题和最近 left/right 边框之间的距离去除了分割线同时 orientation 必须为 left 或 rightdisabled类型string | number默认 分割线宽度borderWidth单位 px类型number默认 1分割线样式borderStyle类型solid | dashed | dotted | double | groove | ridge | inset | outset默认 solid分割线颜色borderColor类型string默认 rgba(5, 5, 5, 0.06)是否垂直分割vertical类型boolean默认 false垂直分割线高度height仅当 vertical: true 时生效类型string | number默认 0.9em效果如下图在线预览① 创建分割线组件Divider.vue其中引入使用了以下工具函数监听插槽存在 useSlotsExistscript setup langts import { computed } from vue import { useSlotsExist } from components/utils export interface Props { orientation?: left | center | right // 分割线标题的位置 orientationMargin?: string | number // 标题和最近 left/right 边框之间的距离去除了分割线同时 orientation 必须为 left 或 right borderWidth?: number // 分割线宽度单位 px borderStyle?: solid | dashed | dotted | double | groove | ridge | inset | outset // 分割线样式 borderColor?: string // 分割线颜色 vertical?: boolean // 是否垂直分割 height?: string | number // 垂直分割线高度仅当 vertical: true 时生效 } const props withDefaults(definePropsProps(), { orientation: center, orientationMargin: undefined, borderWidth: 1, borderStyle: solid, borderColor: rgba(5, 5, 5, 0.06), vertical: false, height: 0.9em }) const slotsExist useSlotsExist([default]) const margin computed(() { if (typeof props.orientationMargin number) { return ${props.orientationMargin}px } return props.orientationMargin }) const lineHeight computed(() { if (typeof props.height number) { return ${props.height}px } return props.height }) const showText computed(() { return slotsExist.default }) /script template div classdivider-wrap :class[ vertical ? divider-vertical : divider-horizontal, { divider-with-text: showText, divider-with-text-center: showText orientation center, divider-with-text-left: showText orientation left, divider-with-text-right: showText orientation right, divider-orientation-margin-left: showText orientation left orientationMargin ! undefined, divider-orientation-margin-right: showText orientation right orientationMargin ! undefined } ] :style--border-width: ${borderWidth}px; --border-style: ${borderStyle}; --border-color: ${borderColor}; --margin: ${margin}; --line-height: ${lineHeight}; span v-ifshowText classdivider-text slot/slot /span /div /template style langless scoped .divider-wrap { color: rgba(0, 0, 0, 0.88); font-size: 14px; line-height: 1.5714285714285714; border-top: var(--border-width) var(--border-style) var(--border-color); .divider-text { display: inline-block; padding: 0 1em; } } .divider-horizontal { display: flex; clear: both; width: 100%; min-width: 100%; margin: 24px 0; } .divider-vertical { position: relative; top: -0.06em; display: inline-block; height: var(--line-height); margin: 0 8px; vertical-align: middle; border-top: 0; border-left: var(--border-width) var(--border-style) var(--border-color); } .divider-with-text { display: flex; align-items: center; margin: 16px 0; color: rgba(0, 0, 0, 0.88); font-weight: 500; font-size: 16px; white-space: nowrap; text-align: center; border-top: 0 var(--border-color); ::before, ::after { position: relative; width: 50%; border-top-width: var(--border-width); border-top-style: var(--border-style); border-top-color: inherit; transform: translateY(50%); content: ; } } .divider-with-text-left { ::before { width: 5%; } ::after { width: 95%; } } .divider-with-text-right { ::before { width: 95%; } ::after { width: 5%; } } .divider-orientation-margin-left { ::before { width: 0; } ::after { width: 100%; } .divider-text { margin-left: var(--margin); padding-left: 0; } } .divider-orientation-margin-right { ::before { width: 100%; } ::after { width: 0; } .divider-text { margin-right: var(--margin); padding-right: 0; } } /style②在要使用的页面引入script setup langts import Divider from ./Divider.vue /script template div h1{{ $route.name }} {{ $route.meta.title }}/h1 h2 classmt30 mb10基本使用/h2 DividerCenter Text/Divider Divider border-styledashedCenter Text/Divider h2 classmt30 mb10中间无文字/h2 Divider / Divider border-styledashed / h2 classmt30 mb10指定文字位置/h2 DividerCenter Text/Divider Divider orientationleftLeft Text/Divider Divider orientationrightRight Text/Divider h2 classmt30 mb10自定义文字边距/h2 h3 classmb10文字居左(右)并距左(右)边 120px/h3 Divider orientationleft :orientation-margin120Left Text/Divider Divider orientationright :orientation-margin120Right Text/Divider h2 classmt30 mb10垂直分割线/h2 div Text Divider vertical / a href#Link/a Divider vertical / a href#Link/a /div h2 classmt30 mb10自定义垂直线高度/h2 Divider vertical :border-width3 :height60 / Divider vertical :border-width3 :height60 border-styledashed / Divider vertical :border-width3 :height60 border-styledotted / h2 classmt30 mb10自定义样式/h2 Divider :border-width3 border-colororange / Divider :border-width3 border-styledashed border-colororange / Divider :border-width3 border-styledotted border-colororange / Flex styleheight: 120px Divider vertical :border-width3 border-colororange heightauto / Divider vertical :border-width3 border-styledashed border-colororange :height120 / Divider vertical :border-width3 border-styledotted border-colororange height100% / /Flex /div /template

相关新闻

2026年ai建站哪家技术强,多平台对比来啦!

2026年ai建站哪家技术强,多平台对比来啦!

2026/8/29 13:50:22

2026年ai建站哪家技术强,多平台对比来啦!艾瑞咨询《2026年中国企业数字化建站行业白皮书》给出一组对照:国内AI建站渗透率已破68%,但抽样超1200家中小企业中仅31%在AI生成站点半年后仍持续续费且搜索流量正向增长。 深圳某3C配件品…

千问赢在生态:本地部署、开发者集成与办公场景全解析

千问赢在生态:本地部署、开发者集成与办公场景全解析

2026/8/29 13:50:22

看到“苹果删了千问,但阿里赢了”这个说法时,我第一反应不是去考证事件细节,而是想另一个问题:一个 AI 产品如果只是失去某个渠道入口,为什么还能被这么多人继续讨论?千问给出的答案,不是把流量…

MySQL存储过程实战:从设计到性能优化的完整指南

MySQL存储过程实战:从设计到性能优化的完整指南

2026/8/29 13:50:22

1. 项目概述:从“一次性脚本”到“可复用引擎” 如果你写过一段时间数据库应用,尤其是处理过复杂的报表生成、数据清洗或者需要高频执行相同逻辑的业务,你大概率会对满屏重复或相似的SQL语句感到头疼。今天要聊的“存储过程”,就是…

PowerToys File Locksmith:文件删不掉时,先查清哪个进程占着它

PowerToys File Locksmith:文件删不掉时,先查清哪个进程占着它

2026/8/29 15:00:25

PowerToys File Locksmith:文件删不掉时,先查清哪个进程占着它 【免费下载链接】PowerToys Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows 项目地址: https://gitcode.com/GitHub_Tr…

AGENTS.md 兼容性隐患:如何让 Claude Code 稳定遵循项目规则

AGENTS.md 兼容性隐患:如何让 Claude Code 稳定遵循项目规则

2026/8/29 15:00:25

最近技术社区讨论度最高的话题之一,是 Shopify CEO 在内部推动评估禁用 Claude Code,理由是它对 AGENTS.md 的执行不够可靠。这则消息很快引发了连锁讨论,因为很多团队正好卡在同一个问题上:AI 编码工具越来越强,但项目…

GrandDog_Driver工业USB驱动SDK深度解析

GrandDog_Driver工业USB驱动SDK深度解析

2026/8/29 15:00:25

简介:本资源为GrandDog设备专用驱动程序1.0.35.3发布候选版(RC),面向嵌入式开发工程师、硬件调试人员及驱动适配技术人员,解决GrandDog加密狗或安全模块在Windows平台下的识别异常、通信不稳定及新版系统兼容性问题。压…

前臂肌电信号控制机械手:从信号采集到动作映射的完整DIY指南

前臂肌电信号控制机械手:从信号采集到动作映射的完整DIY指南

2026/8/29 15:00:25

1. 项目概述与思路拆解 1.1 项目定位:不只是“做一个机械手” 我第一次看到“Forearm-Controlled Robotic Hand”这个标题时,第一反应是:终于有人走对方向了。市面上的机械手项目太多,但绝大多数用的是手机App控制、体感手套甚至…

AI测试岗别再想混进去:本地实操验证能力的完整指南

AI测试岗别再想混进去:本地实操验证能力的完整指南

2026/8/29 15:00:25

这次我们聊一个很现实的职场话题:AI测试岗,到底能不能“先混进去再说”。这个说法在测试圈里流传挺广,尤其是在大模型、AIGC 相关岗位热度上来之后。很多人觉得,反正 AI 测试也是点点点、跑跑用例,只要进去了再学也不迟…

Tesseract 源码编译部署实战:选对分支,1 小时跑通第一条 OCR

Tesseract 源码编译部署实战:选对分支,1 小时跑通第一条 OCR

2026/8/29 14:50:25

Tesseract 源码编译部署实战:选对分支,1 小时跑通第一条 OCR 【免费下载链接】tesseract Tesseract Open Source OCR Engine (main repository) 项目地址: https://gitcode.com/GitHub_Trending/te/tesseract 这篇文章解决一件事:在一…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/27 11:10:02

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/29 10:22:10

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/28 7:34:42

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

四款热门降AI工具测评:研究生和本科生怎么选?

四款热门降AI工具测评:研究生和本科生怎么选?

2026/8/29 0:09:39

马上要交论文了,最近真的被论文ai率折磨的够呛。 明明查重都没问题了,但是ai率就是居高不下,崩溃了,明明都是我自己写的,天杀的,明明都是我亲生的啊 改来改去,终于给我搞出一套完美的降ai方案…

论文降AI率免费攻略:自查、提示词与工具推荐

论文降AI率免费攻略:自查、提示词与工具推荐

2026/8/29 0:09:39

马上要交论文了,最近真的被论文ai率折磨的够呛。 明明查重都没问题了,但是ai率就是居高不下,崩溃了,明明都是我自己写的,天杀的,明明都是我亲生的啊 改来改去,终于给我搞出一套完美的降ai方案…

北京GEO优化服务商推荐:预算型企业如何选北京GEO优化服务商?

北京GEO优化服务商推荐:预算型企业如何选北京GEO优化服务商?

2026/8/29 0:09:39

前言:预算有限的企业更关心投入能否形成可持续的品牌资产。评估北京GEO优化服务商时,不能只比较单篇内容或单月报价,还要看是否能够把问题词、官网、信源和监测串成完整链路。本期重点放在预算配置、试点范围和交付边界,帮助企业先…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/28 7:35:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/28 7:34:51

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/28 7:34:35

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…