UnoCSS颜色样式整理

JeecgBoot-Vue3项目中是已经集成UnoCSS,所以这里我直接列举出样式的用法。

1、背景纯色

样式写法:

bg-[十六进制颜色值]/颜色关键词-数值/透明值

示例:

<div class="bg-[#ffff00] rounded-xl w-1/4 h-20 p-2">黄色</div>
<div class="bg-green rounded-xl w-1/4 h-20 p-2">绿色</div>
<div class="bg-green-900 rounded-xl w-1/4 h-20 p-2">最深的绿色</div>

2、背景渐变色

样式写法:
bg-gradient-to-[r/b/tr]  from-[十六进制颜色值]/颜色关键词-数值/透明值  to-[十六进制颜色值]/颜色关键词-数值/透明值
<!-- 水平渐变 -->
<div class="bg-gradient-to-r from-pink-500 to-purple-600 p-5 rounded-xl">
 左到右
</div>
<!-- 垂直渐变 -->
<div class="bg-gradient-to-b from-[#ffff00] to-blue-500 rounded-xl p-5">上到下</div>
<!-- 对角渐变 -->
<div class="bg-gradient-to-tr from-amber-400 to-red-600 rounded-xl p-5">左下到右上</div>
<!-- 半透明渐变 -->
<div class="bg-gradient-to-tr from-amber-400/80 to-red-600/20 rounded-xl p-5">
半透明渐变叠加背景
</div>
<!-- 三色过渡 -->
<div class="bg-gradient-to-r from-emerald-400 via-indigo-500 to-purple-600 rounded-xl p-5">
 三色过渡(使用 via-* 控制中间点)
</div>
<h1 class="text-transparent bg-clip-text bg-gradient-to-r from-rose-600 to-amber-400">
渐变文字标题
</h1>

3、字体颜色

样式写法:

text-[十六进制颜色值]/颜色关键词-数值/透明值
<h2 class="text-pink">我是粉色</h2>
<h2 class="text-cyan-500">我是蓝色</h2>
<h2 class="text-#ff0000">我是红色</h2>
<h2 class="text-[#ff0000]/20">我是设置了透明值的红色</h2>

注意事项:

(1)十六进制颜色值后面不能加数值,否则样式不生效

(2)数值的取值范围为50-900,以50为间距,数值越大,颜色越深

(3)透明值取值为0-100的整数,

  • 0 → 完全透明(元素不可见)‌
  • 50 → 半透明(颜色可见度 50%)‌
  • 100 → 完全不透明(默认状态,等同于省略 /100

下一篇:UnoCSS间距与边距样式

### 使用 UnoCSS 实现手指样式的效果 UnoCSS 是一种原子化 CSS 框架,它允许开发者通过简单的类名组合快速构建复杂的 UI 设计。要实现类似于手指触碰时的交互效果(如缩放、透明度变化等),可以通过 UnoCSS 提供的基础工具类来完成。 #### 手指触摸时的缩放效果 为了模拟手指按下时的视觉反馈,可以使用 `scale-*` 类控制元素的比例变化,并结合伪类选择器 `.active` 或者手动设置的状态类来触发这种效果。例如: ```html <div class="w-10 h-10 bg-blue-500 active:scale-95 transition-transform duration-200"> Touch Me </div> ``` 在这个例子中: - `w-10`, `h-10`: 定义了按钮的基本宽度和高度。 - `bg-blue-500`: 设置背景颜色为蓝色。 - `active:scale-95`: 当用户按下手势激活时,元素会缩小到原来的 95%[^3]。 - `transition-transform`: 添加平滑动画过渡效果。 - `duration-200`: 动画持续时间为 200ms。 #### 自定义 Hover 和 Active 效果 对于更复杂的手势体验,比如在小程序环境中提到的 hover 和 press 效果,可以用类似的思路扩展 UnoCSS 配置文件以支持更多自定义需求。假设我们需要创建一个名为 `press-scale` 的实用工具类,可以在配置文件中添加如下规则: ```javascript // unocss.config.ts export default { rules: [ ['press-scale', { transform: 'scale(0.97)', transition: 'transform 0.2s ease-in-out' }], ], }; ``` 然后可以直接应用于 HTML 结构里: ```html <button class="rounded-md p-2 bg-green-400 press-scale"> Press me to see the effect. </button> ``` 这里实现了当按钮被按下时轻微收缩的效果[^4]。 #### 处理 Safari 浏览器兼容性问题 考虑到某些特定平台上的渲染差异,尤其是 iOS 上 `-webkit-overflow-scrolling: touch;` 可能带来的 bug[^2],建议测试不同设备下的表现并调整布局策略。如果发现滚动区域存在问题,尝试采用以下方法解决: 1. **增加额外的高度** 确保溢出的内容能够正常显示,避免因计算误差导致的行为异常。 ```css .scroll-container { min-height: calc(100vh + 1px); } ``` 2. **禁用不必要的硬件加速** 如果不需要流畅滚动特性,可以选择移除该属性或者有条件地应用。 以上就是基于 UnoCSS 构建互动性强且跨平台一致性的设计方案的一些技巧。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值