javascript - 在 NextJs 中,如何删除特定组件中 _app 中声明的全局样式?
问题描述
我正在使用 NextJs 并且正在使用 TailwindCSS,并且我的 globals.css 中有一堆额外的样式,这些样式按照您应该做的那样导入到顶层的 _app 中。我尝试将它向下移动到我的“布局”组件中,但它给出了将其放回顶部的错误,所以我将它保留在那里。
这是问题所在。我有一个不需要任何 globals.css 样式的组件,只有一小组备用样式。有没有办法做到这一点?我想删除我被迫在顶层导入的所有废话,然后将特定的样式表应用于该组件。
解决方案
实现此目的的一种方法是在 globals.css 样式中使用 not 选择器。
例如添加 className="no-global-styles" (到你不需要全局样式的组件)
然后用 :not(.no-global-styles)选择器附加全局样式选择器
:not(.no-global-styles) > a {
color: black;
text-decoration: none;
cursor: pointer;
}
这将适用于所有 <a?> 元素,除了类 '.no-global-styles' 中的元素和 '.no-global-styles' 中的 <a?> 将具有默认样式或应用下一个样式。我能想到的另一种方法是使用 !important 标志并覆盖 globals.css 样式。
(选择器链接)https://www.w3schools.com/cssref/css_selectors.asp
(链接:not()技巧)https://css-tricks.com/almanac/selectors/n/not/
我有一种感觉,这不是最好的方法,但如果你想忽略的样式很少,那么这种情况应该不是问题。
推荐阅读
- c - 如何检查 GTK3 (C) 中的按键?
- c# - (C#) LINQ — 使用方法 .Contains() 找不到任何结果
- angular - 根据用户偏好禁用表单字段
- python - 通过检查标题将字典转换为 CSV
- xamarin - 通过听筒播放时音量按钮无效
- r - 循环数据集,使用 ifelse 检查列的值以设置新列(因子)
- firebase - 如果我正在检查数组,我可以在 firebase 规则中使用包含吗?
- c# - 带有 stringfromat 的 DataGridTextcolumn 前景数据触发器
- ethereum - 私有以太坊:将迁移保存到私有以太坊网络上的链时出现错误(交易未在 750 秒内挖掘)
- windows - 如何从 Windows 批处理脚本中的文件路径获取父目录名称?