当前位置: 首页 > news >正文

Vue3(TypeScript)-CSSProperties代码示例及用法详解

Vue3-CSSProperties代码示例及用法

在Vue3中封装一个可复用的公共CSSProperties

// 目录 /xxx/src/hooks/use-scroll-updown-bottom-content/index.ts 全局定义hooks
import { computed } from 'vue'
import type { CSSProperties } from 'vue'type UpDownOperationType = 'up' | 'down'export const useScrollUpdownBottomContent = (type: UpDownOperationType = 'up',extraHeight = 0
) => {const style = computed<CSSProperties>(() => {const style: CSSProperties = {}if (type === 'up') {style.transform = `translateY(calc(100% + ${extraHeight}px))`} else if (type === 'down') {style.transform = `translateY(calc(100% - ${extraHeight}px))`}style.transitionDuration = '0.25s'style.transitionTimingFunction = 'linear'style.transitionProperty = 'transform'return style})return {style}
}
// 目录 xxx/pages/pages/index.vue 业务组件中使用
import { useScrollUpdownBottomContent } from '@/hooks'
const { style: authInfoScrollStyle } =  useScrollUpdownBottomContent('up', 80)
console.log(authInfoScrollStyle)
// {
//   "transform": "translateY(calc(100% + 80px))",
//   "transitionDuration": "0.25s",
//   "transitionTimingFunction": "linear",
//   "transitionProperty": "transform"
// } 

简单例子,TypeScript中定义CSS Properties
在多个地方重复使用此样式信息,提高代码的可复用性。

interface CustomStyles {backgroundColor: string;color: string;fontSize: string;
}const customStyles: CustomStyles = {backgroundColor: 'blue',color: 'white',fontSize: '16px'
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ubuntu22.04安装cuda10.2
  • matlab 2023b 不要升级,升级用不了
  • android pdf文件预览
  • 【React】二次封装Antd的Table组件
  • SQL注释方法 -- 单行注释/多行注释
  • 数据结构(三)循环链表
  • 【数据结构】排序算法大全(快速、堆、归并、插入、折半、希尔、冒泡、计数、基数)各算法比较、解析+完整代码
  • UE4/UE5像素流送云推流:多人访问不稳定、画面糊、端口占用多等
  • 3D Slicer:从入门到精通——数据模块之DICOM
  • 【C语言】结构体内存对齐:热门面试话题
  • day15
  • 百度 提前批 国际化广告部 (深圳-机器学习/数据挖掘/自然语言处理工程师) 一面+二面面经
  • 记录centos中操作(查找、结束、批量)进程以及crontab定时写法的知识
  • 数据库SQL语言实战(十)(最后一篇)
  • c++ set/multiset容器
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • gitlab-ci配置详解(一)
  • HTTP 简介
  • Java读取Properties文件的六种方法
  • rc-form之最单纯情况
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • 记一次和乔布斯合作最难忘的经历
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 如何进阶一名有竞争力的程序员?
  • 深入浏览器事件循环的本质
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 一天一个设计模式之JS实现——适配器模式
  • 字符串匹配基础上
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • const的用法,特别是用在函数前面与后面的区别
  • python最赚钱的4个方向,你最心动的是哪个?
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​十个常见的 Python 脚本 (详细介绍 + 代码举例)
  • ​业务双活的数据切换思路设计(下)
  • ​用户画像从0到100的构建思路
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • !$boo在php中什么意思,php前戏
  • #微信小程序:微信小程序常见的配置传值
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (九)信息融合方式简介
  • (四)Linux Shell编程——输入输出重定向
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (转)大型网站的系统架构
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (转载)Linux网络编程入门
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .net 简单实现MD5
  • .pop ----remove 删除