V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
imherer
V2EX  ›  程序员

请教各位前端大佬一个 UnoCSS 问题

  •  
  •   imherer · 2024-03-22 15:55:53 +08:00 · 2072 次点击
    这是一个创建于 374 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假如我一个页面上有很多个 span ,比如说 5 个或者说更多

    我想给每个 span 加上 cursor-pointer 这个效果

    unocss 有没有像 css 那样直接写一次就搞定了,比如

    span {
      cursor: pointer;
    }
    

    但是如果用 unocss 的话我得在每个 span 里写 class="cursor-pointer"

    可能我举的这个例子不太合适哈,但是想表达的就是这样的意思

    16 条回复    2024-03-25 08:54:34 +08:00
    musi
        1
    musi  
       2024-03-22 15:58:38 +08:00
    你是否在找 @apply?
    span {
    @apply cursor-pointer;
    }
    hellodigua
        2
    hellodigua  
       2024-03-22 16:00:14 +08:00
    这种需求不应该用 css 选择器吗,为什么要一律用原子类
    waiaan
        3
    waiaan  
       2024-03-22 16:22:00 +08:00
    搭车问 unocss 和 elementui 的 button 样式冲突该怎么解决? tailwindcss 有解决办法,没找到 unocss 的。
    ntnyq
        4
    ntnyq  
       2024-03-22 16:33:48 +08:00
    span 写成组件
    imherer
        5
    imherer  
    OP
       2024-03-22 17:27:05 +08:00
    @musi 好像不起作用
    imherer
        6
    imherer  
    OP
       2024-03-22 17:27:19 +08:00
    @hellodigua 好像是哈
    imherer
        7
    imherer  
    OP
       2024-03-22 17:31:53 +08:00
    @musi 可以了,是没引用 transformer-directives
    u3u
        8
    u3u  
       2024-03-22 18:10:06 +08:00
    zhwithsweet
        9
    zhwithsweet  
       2024-03-22 20:35:43 +08:00
    在父元素设置
    <div class="[&_span]: cursor-pointer">
    <span />
    ...
    </div>
    v2yllhwa
        10
    v2yllhwa  
       2024-03-22 20:59:02 +08:00 via Android
    @waiaan 用 preset 里的 style reset 了?
    Xu3Xan89YsA7oP64
        11
    Xu3Xan89YsA7oP64  
       2024-03-23 00:52:50 +08:00
    你是觉得用了 UnoCSS 就不能用 CSS 了?再不济 map 或者封装一下也能解决,其他乱七八糟的方案就别研究了,都是狗屎
    crocoBaby
        12
    crocoBaby  
       2024-03-23 09:11:15 +08:00
    全局样式重置咯
    subframe75361
        13
    subframe75361  
       2024-03-23 09:40:28 +08:00 via Android
    children-cursor-pointer
    subframe75361
        14
    subframe75361  
       2024-03-23 09:48:02 +08:00 via Android
    unocss 默认你会使用 tailwind ,原理可以看 https://tailwindcss.com/docs/hover-focus-and-other-states
    DrinkCoffee
        15
    DrinkCoffee  
       2024-03-23 12:08:10 +08:00 via Android
    有多种方法,
    1.就是很笨的用 Vscode 的多光标让每个 span 都有这个 class (似乎 tw 文档也很推荐此方法?)
    2.用自定义工具类,就是楼上的[&_span]:
    其中&表示自己,_表示空格,换成>也行。
    3.然后还可以用*: 类表示所有后代。
    4.还可以封装组件(复杂情况下)。
    5.就是楼上说的 apply 。
    6.用自定义变体功能。
    7.用前端框架自带的遍历功能。
    另外还是要注意样式之间互相影响的问题。
    waiaan
        16
    waiaan  
       2024-03-25 08:54:34 +08:00
    @v2yllhwa
    就是按照官网的 vue-cli5 配置的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   941 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:17 · PVG 05:17 · LAX 14:17 · JFK 17:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.