Nextjs + Tailwind 在无 class 或 className 属性的控件上如何应用 tailwind 的样式呢

2024-04-17 14:59:05 +08:00
 devzhaoyou

如题,有些控件不能通过 class 或者 className, 如何应用 tailwind 的样式呢,如指定字体

2664 次点击
所在节点    程序员
11 条回复
ericguo
2024-04-17 15:05:10 +08:00
二选一,要么不要用这样的控件(比如 AntD ),要么不要用 Tailwind 。
musi
2024-04-17 15:24:07 +08:00
youtubbbbb
2024-04-17 16:27:32 +08:00
可以用 useRef 通过操作 DOM 去加 class ,但是这种写法是不推荐的。
northquq
2024-04-17 17:17:57 +08:00
@youtubbbbb 这种动态加的方法,不一定能被 tailwind 识别出来,导致编译后丢失 class 对应的样式吧
mooooooooooe
2024-04-17 17:56:31 +08:00
二楼正解
epiloguess
2024-04-17 19:34:43 +08:00
外面套个娃?
huijiewei
2024-04-17 22:39:05 +08:00
1. @apply 到他原来的 classname 上,容易造成冲突
2. 套一层 div 用 * > 写,很麻烦。。

结论就是用不成就不强用了
Pencillll
2024-04-18 04:35:45 +08:00
用 arbitrary variants 就行了,在控件外面的父元素写个 class ,比如:
[&_.xxx]:font-sans
[&>div>span]:font-sans
[&_*]:!font-sans

参考: https://tailwindcss.com/docs/hover-focus-and-other-states#using-arbitrary-variants
devzhaoyou
2024-04-18 09:43:46 +08:00
感觉各位,验证一下各位的方案,感谢
lawted
2024-04-18 10:52:19 +08:00
使用 shadcn 或者 headless ui
ericguo
2024-04-20 13:51:11 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1033279

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX