less文件中有没有办法使某个类名不添加hash后缀?

代码如下:
less:

.a {
  color: #acacac;
  
  .ant-input-picker {
    background: transparent;
  }
}

less编译结果如下:

.a_9de7d {
  color: #acacac;
} 

.a_9de7d .ant-input-picker_ke56v {
  background: transparent;
}

请问有没有办法让编译后的结果变为:

.a_9de7d {
  color: #acacac;
} 

.a_9de7d .ant-input-picker {
  background: transparent;
}
阅读 3.2k
2 个回答
.a {
  :global {
     .ant-input-picker {}
  }
}

看起来像是你启用了 CSS Modules 的缘故,如果整体都不想加 hash 后缀你就移除 CSS Modules 就行。
如果是某一些类名想不增加后缀就可以用 :global(.className) 或者 :global {} 来包裹,内部的类名就不会追加 hash 值了。

.a {
  color: #acacac;
  // 方案1
  :global(.ant-input-picker){
      background: transparent;
  }
  // 方案2
  :global {
    .ant-input-picker {
      background: transparent;
    }
  }
}

其实 CSS Modules 的文档里面有提到的 👉 Usage with preprocessors | CSS Modules

阮一峰老师的 CSS Modules 用法教程 里面也提到了如何去处理。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题