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

UnoCSS实现背景图片样式加载

UnoCSS是一个好东西,可以把任何style样式通过css去描述。但是默认使用的tailwindcss有一个不完美,就是当使用图片时,背景图片无法通过原子化css直接描述。例如有一个背景图片,则必须为该图片单独出一个css样式,然后再加载该样式。

有没有办法弥补UnoCSS这个短板?

经过本人的实践,解决了这个问题。在Vue Plugin的UNOCSS里配置一个正则转换表达式,用来描述该文件:

      UnoCSS({// cc-bg-login-login_bg-jpg --> /assets/login/login_bg.jpgrules:configEnv.mode == 'dev'? [[/^cc-bg-(\w+)-(\w+)-(png|jpg|gif)$/,([, dir, fname, fext]) => ({ 'background-image': `url(@/assets/${dir}/${fname}.${fext})` })]]: [[/^cc-bg-(\w+)-(\w+)-(png|jpg|gif)$/,([, dir, fname, fext]) => ({'background-image': `url(${viteEnv.VITE_PUBLIC_PATH}assets/${dir}/${fname}.${fext})`})]]}),

这个表达式的意思,是当class以cc-bg-开头的类转换为style时启动正则转换。多级目录使用-号来定义分隔。而最后的.png或.jpg则写成-png或-jpg,输出的最终目标指向assets目录(vite定义的资源目录)。当调试环境时,不添加最终的发布路径,这样指向的图片在调试和正式环境都可以正常显示。

http://www.lryc.cn/news/327658.html

相关文章:

  • vue前端工程化
  • 面向对象:继承
  • ES学习日记(一)-------单节点安装启动
  • 【管理咨询宝藏59】某大型汽车物流战略咨询报告
  • ArcGIS Pro横向水平图例
  • 线程创建的几种方式
  • Python教程:一文掌握Python多线程(很详细)
  • 华为防火墙配置指引超详细(包含安全配置部分)以USG6320为例
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • 选择最佳图像处理工具OpenCV、JAI、ImageJ、Thumbnailator和Graphics2D
  • 微信小程序版本更新检测
  • 【每日力扣】343. 整数拆分与63. 不同路径 II
  • 洛谷 Cut Ribbon
  • #AS,idea,maven,gradle
  • FPGA结构与片上资源
  • 【分布式】——分布式事务
  • 第6章:“让我们思考这个”的提示
  • 安卓Activity上滑关闭效果实现
  • 使用conda管理python环境
  • MR混合现实情景实训教学系统在军事演练课堂中的教学应用
  • vant checkbox 复选框 样式改写
  • 物联网实战--入门篇之(一)物联网概述
  • 将yolov5s部署到安卓上实战经验总结
  • 算法日记————对顶堆(4道题)
  • 【I.MX6ULL移植】Ubuntu-base根文件系统移植
  • unity3d for web
  • 大宋咨询(深圳问卷调研)关于消费者研究的流程
  • STM32看似无法唤醒的一种异常现象分析
  • iOS - Runtime-isa详解(位域、union(共用体)、位运算)
  • 使用VSCode搭建Vue 3开发环境