以下内容用于切换样式表:

body.light {
  background: var(--bg);
  color: var(--text);
  & a {
  color: var(--link_color);
  }
}
body.dark {
  color: var(--bg);
  background: var(--text);
  & a {
  color: white;
  }
}

此代码片段位于最后加载的文件中,其中包括几个css文件.

问题:虽然属性被正确执行,但 Select 器的嵌套没有被提取(应该使用与号).

有一个框架css文件(在放置此代码的文件之前加载),它是执行的那些属性.

正确运行嵌套 Select 器的语法要求是什么(它们是本机标记 Select 器(如`a)还是用户定义的 Select 器?

update

主题是通过cookies[:theme]生成的 Body标签是这样采用它的:

<body class="<%= cookies[:theme] %>">

推荐答案

要使其在常规的css中工作,请重写而不使用&.

例如:

body.light {
  background: var(--bg);
  color: var(--text);
}

body.light a {
  color: var(--link_color);
}

body.dark {
  color: var(--bg);
  background: var(--text);
}

body.dark a {
  color: white;
}

根据Sass document的说法,关于两个字母:

父 Select 符&是Sass发明的一种特殊 Select 符,用于在嵌套 Select 符中引用外部 Select 符.它使以更复杂的方式重用外部 Select 器成为可能,比如添加伪类或在父类之前添加 Select 器.

目前,&的使用将需要像Sass这样的CSS预处理器,而且&也被许多语法广泛采用,如Sass、SCSS、LESS.

Css相关问答推荐

如何在Elm中更改视图时添加过渡?

Safari CSS扫描动画效果不起作用

在AND设计令牌上使用不同的主题

导航栏没有使用nextui获取页面的全部宽度

如何将React应用程序主页的内容居中?

测试响应式设计:手动拖动浏览器窗口与使用设备工具栏

使用 flexbox 使图像与内容高度相同

应用填充时边框无法正常工作

和号 (&) 作为 SASS @mixin 中的变量

网格在行方向上的大小不正确

如何禁用 Angular Material Pagination 按钮的波纹效果?

如何在 Angular 中使用 CSS 设置 FontAwesome 图标的大小?

在 CSS 中如何使用 100% 和最大内容之间的最大值

边框半径 + 背景 colored颜色 == 裁剪边框

属性nowrap被认为是过时的.建议使用较新的构造.它是什么?

如何让 Firefox 在文件更改时自动刷新?

如何动态生成用逗号分隔的类列表?

在 Vuejs 中拥有全局 CSS 的最佳方式

让 div 扩展全高

堆叠半透明盒子的 colored颜色 取决于订单?