css - :global (colon global) do? 是什么

标签 css css-modules

在某些 SCSS 文件中,我看到以下内容:

:global {
  /* ... */
}

不知道是SCSS特性还是CSS特性。 我尝试搜索它,但第一眼找不到任何好的结果。

最佳答案

此运算符用于 CSS Modules .模块化 CSS 使用 CSS 模块编译器在各自的模块(例如 React 组件)内限定 CSS 样式的范围。

这是来自 React 模块的示例(在文件 ErrorMessaging.less 中用于 ErrorMessaging.jsx React 组件):

:global(.ocssContainer) {
  .ui_column {
    padding-left: 0;
  }
}

这被编译成:

  .ErrorMessaging__alertContainer--1I-Cz .ocssContainer .ErrorMessaging__ui_column--3uMUS {
    padding-left: 0;
  }

但现在我添加了一个 :global修饰符到 .ui_column :

:global(.ocssContainer) {
  :global(.ui_column) {
    padding-left: 0;
  }
}

这就是它编译的结果:

  .ErrorMessaging__alertContainer--1I-Cz .ocssContainer .ui_column {
    padding-left: 0;
  }

现在.ui_column可以应用于具有该样式的任何子元素,包括在子 React 组件中,而不仅仅是 .ui_column属于 ErrorMessaging 的元素 react 组件。

关于css - :global (colon global) do? 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43613619/

相关文章:

CSS - 图像两侧的线性渐变透明度

html - 背景图像像素化问题

javascript - 找不到模块 : Can't resolve 'style'

webpack - 使用 Gatsby 忽略 mini-css-extract-plugin 的顺序

css - CSS Grid 和 CSS Modules 的 vs code 和 intellisense

CSS 模块嵌套选择器

javascript - 在表单的文本区域内选择时自动将单词转换为主题标签

css背景图片定位

HTML/CSS 显示 :Inline Issue

reactjs - 使用 css-modules 更改基于 props 的 React 组件 CSS