css 同时实现渐变色和文字阴影(Vue 3 + TypeScript)

UI效果

渐变效果

直接添加text-shadow属性,发现阴影覆盖在了字体之上

解决:

利用::after伪类,将字体的阴影加在伪类之上。
<template>
  <div class="app">
    <h1 ref="h1Ref">{{ title }}</h1>
  </div>
</template>

<script lang="ts">
import { defineComponent, ref } from 'vue';

export default defineComponent({
  name: 'App',
  setup() {
    const title = ref('这是一个标题');
    const h1Ref = ref<HTMLElement | null>(null);

    return {
      title,
      h1Ref,
    };
  },
});
</script>

<style lang="scss">
.app {
  // 这里无法直接获取 h1 的内容,但可以通过在 mounted 生命周期钩子中设置 CSS 变量来间接传递
}
</style>

 script

<script lang="ts">
import { defineComponent, ref, onMounted } from 'vue';

export default defineComponent({
  name: 'App',
  setup() {
    const title = ref('这是一个标题');
    const h1Ref = ref<HTMLElement | null>(null);

    onMounted(() => {
      if (h1Ref.value) {
        document.documentElement.style.setProperty('--h1-content', `"${title.value}"`);
      }
    });

    return {
      title,
      h1Ref,
    };
  },
});
</script>

css 

 h1 {
          position:relative;
          margin-top: 22px;
          font-size: 48px;
          font-weight: bold;
          text-shadow: 1px 2px 3px rgba(7, 21, 67, 0.8);
          color:#fff;
        }
        h1::after {
          position: absolute;
          left: 0px;
          content: var(--h1-content);
          color:#59c8ff; 
          -webkit-mask-image:-webkit-gradient(linear, 0 0, 0 100%, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255, 1)));
        }

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从美颜SDK到实时视频美颜平台:开发美颜系统的技术解析

今天&#xff0c;笔者将围绕美颜SDK的基本功能、实时视频美颜平台的架构设计&#xff0c;以及实现美颜系统的关键技术进行深入解析。 一、美颜SDK的基础功能 美颜SDK&#xff08;Software Development Kit&#xff09;是实现美颜效果的核心工具包&#xff0c;它通常包含一系列…

【Linux】用户权限管理:创建受限用户并配置特定目录访问权限

本文详细介绍了如何在 Linux 系统中创建一个名为 agent 的新用户&#xff0c;并限制其在特定目录下的权限。通过使用 useradd 命令创建用户&#xff0c;并使用 usermod 命令将新用户添加到现有用户组中&#xff0c;确保其具有适当的权限。接着&#xff0c;通过 chown 和 chmod …

获英伟达二次投资!AI制药公司Terray完成1.2亿美元融资,构建全球最大化学数据集

近日&#xff0c;AI 制药公司 Terray Therapeutics 宣布完成 1.2 亿美元 B 轮融资&#xff0c;本轮融资将用于推进其内部免疫学项目的临床试验&#xff0c;并进一步完善公司的生成式 AI 平台 tNova。 据悉&#xff0c;本次 Terray 的融资由英伟达风险投资部门 NVentures 和新投…

LeetCode 热题 100之二叉树

1.二叉树的中序遍历 思路分析1&#xff08;递归&#xff09;&#xff1a;通过一个辅助函数 inorderHelper&#xff0c;递归地访问左子树、根节点和右子树&#xff0c;实现中序遍历。 具体实现代码&#xff08;详解版&#xff09;&#xff1a; class Solution { public:void i…

LLC电路 - 变压器匝比改变时的连锁反应

1.谐振电路等效电阻Rac 等效电阻从负载一侧映射过来&#xff0c;假定负载电阻为R&#xff0c;功率计算公式为U_out^2/R&#xff0c;则理想变压器因为Uin N*Uout&#xff0c;所以等效电阻的阻值变化是平方关系&#xff1a;Rref K*R*N^2.具体的计算公式为&#xff1a; Vp为变压…

Podman+Minikube:MacBook 运行 Kubernetes 最佳实践

简介 在现代软件开发中&#xff0c;Kubernetes作为容器编排的事实标准&#xff0c;已成为云原生应用的核心组成部分。对于开发者来说&#xff0c;在本地环境中搭建和测试Kubernetes集群显得尤为重要。而在这方面&#xff0c;结合MacBook、Podman和Minikube的组合&#xff0c;提…

【制造业&盒子】食品物品检测系统源码&数据集全套:改进yolo11-MultiSEAMHead

改进yolo11-efficientViT等200全套创新点大全&#xff1a;食品物品检测系统源码&#xff06;数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.11.01 注意&#xff1a;由于项目一直在更新迭代&#xff0c;上面“1.图片效果展示”和“2.视频效果展示”展示的系统图片或…

性价比高的宠物净化器推荐!铲屎官们双十一不容错过的必备好物

秋天到了&#xff0c;我家毛孩子又开始爆毛&#xff01;一点都没有夸张&#xff0c;不仅家里到处都是它掉的毛&#xff0c;而且它自己也“膨胀”起来&#xff0c;身上都是脱落的毛发。 有时候没来得及清理&#xff0c;风一吹那些浮毛就飘到空气当中&#xff0c;呼吸的时候都感…

创建线程池时为什么不建议使用Executors进行创建

有没有想过为什么在创建线程池的时候我们一般都是通过ThreadPoolExecutor来创建线程池&#xff0c;很少使用Executors来创建线程池&#xff1f; 实践出真知&#xff0c;让我们具体在代码里面看看是什么原因~ 我们先用Executors来创建一个固定线程的线程池&#xff1a; Testpub…

基于STM32+华为云IOT设计的大棚育苗管理系统

文章目录 一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】项目硬件模块组成 1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】设备端开发【2】上位机开发 1.5 模块的技术详情介绍【1】NBIOT-BC26模块【2】MQ135传感器【4】SHT30传感器【5】B1750传感器 二…

树莓集团:智慧园区的绿色生态与可持续发展

智慧园区作为现代信息技术与园区管理深度融合的新兴概念&#xff0c;已然成为当下备受瞩目的发展热点。简单来讲&#xff0c;它借助各类智能技术手段&#xff0c;全方位提升园区的管理、服务效率以及居住体验&#xff0c;绝非仅仅局限于一个物理空间&#xff0c;而是打造出一个…

心情追忆- AI dify工具

之前我独自开发了一个名为“心情追忆”的小程序&#xff0c;旨在帮助用户记录日常的心情变化及重要时刻。 项目需求来源->设计->前端(小程序)->后端->部署均由我一人完成. 上线一个月. 通过群聊分享等. 用户量也有了100多人. 我希望持续发展. 然后今天又产生了一…

.net framework 3.5sp1开启错误进度条不动如何解决

浏览器地址栏输入www.dnz9.com远程解决netframework问题 在Windows操作系统上安装或启用.NET Framework 3.5 SP1时&#xff0c;如果遇到进度条不动的问题&#xff0c;可能由多种原因引起。以下是一些可能的解决方案&#xff1a; 1. 使用Windows功能对话框 1.打开“控制面板”。…

微信小程序之流浪动物救助:爱与希望同行

作者介绍&#xff1a;✌️大厂全栈码农|毕设实战开发&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 &#x1f345;获取源码联系方式请查看文末&#x1f345; 推荐订阅精彩专栏 &#x1f447;&#x1f3fb; 避免错过下次更新 Springboot项目精选实战案例 更多项目…

深度解析:Android APP集成与拉起微信小程序开发全攻略

目录 一、背景以及功能介绍 二、Android开发示例 2.1 下载 SDK 2.2 调用接口 2.3 获取小程序原始Id 2.4 报错提示&#xff1a;bad_param 2.4.1 错误日志 2.4.2 解决方案 相关推荐 一、背景以及功能介绍 需求&#xff1a;产品经理需要APP跳转到公司的小程序(最好指定页…

linux 安装php扩展:xlswriter

这里以xlswriter扩展为例 进入官方扩展&#xff1a;https://pecl.php.net查询自己php对应版本的扩展包 下载扩展 wget https://pecl.php.net/get/xlswriter-1.5.5.tgz 解压扩展 tar -zxvf xlswriter-1.5.5.tgz 进入扩展目录 cd xlswriter-1.5.5 查找对应php版本的phpiz…

【99.9%解决】vue3+vite+typescript+vscode使用@alias路径别名配置不正确导致红色波浪线的解决办法

相信很多人设置了别名“”后在编辑器内产生了大量的红色波浪线&#xff0c;警告无法读取相关模块。网上针对这个问题都没有好好分析原因&#xff0c;并且提供真正理解之下的解决方案。我在历经各种失败后&#xff0c;总结出这篇文章&#xff0c;希望对大家有所帮助。 当然我因为…

Qt限制QGraphicsScene QGraphicsItem内部的移动范围

用过QGraphicsView的都知道&#xff0c;原点一般设定在view和item的中心&#xff0c;所以帮助文档和这个网友说的不一定跟我们对的上&#xff1a; 关于Qt限制QGraphicsScene内部Item的移动范围_qgraphicsitem限制移动范围-CSDN博客 首先&#xff0c;设定view的scenerect&…

前端 react 面试题(二)

文章目录 hooks的使用规则为什么hooks要确保在函数组件的最顶层,而不能放置在循环或者条件语句中。react的事件模型react的合成事件是如何实现的react事件传参,可以使用箭头函数或bind方法,这两种哪一种更好使用箭头函数:使用`bind`方法:react的事件模型和vue的区别React …

在IDEA2024中生成SpringBoot模板

1、创建新项目 根据自己想要创建的工程类型选择&#xff0c;这里创建的时web工程 生成项目&#xff1a; 注意&#xff1a;SpringBoot只会扫描主程序所在的包及其下面的子包