css - 萨斯.scss : Nesting extra class on div

标签 css sass

我正在尝试使用简单的 display:none/block 显示 div。单击按钮时,我将 .active 类附加到我的 div

我不想使用 SASS 定位这个 .active 类,但如果我试图嵌套它,我就做不到。

HTML:

<div class="MyDiv">
   I'm a hidden div. But when some button is clicked I get the class Active
</div>

Javascript

$(".MyDiv").on("click", function() {
  $(this).toggleClass("active");
});

CSS:(SASS 编译后我所期望的)

.MyDiv {
   display:none;
 }

.MyDiv.active {
   display:block; 
 }

SASS

.MyDiv {
  display:none;

  .active {
    display:block; /* this one doesn't work */
  }
}

最佳答案

当你按照你的方式编写时,它会编译成 .MyDiv .active 这不是你想要的,你需要使用 &.active 所以你的选择器将是 .MyDiv.active

.MyDiv {
  display: none;

  &.active {
    display: block;
  }
}

关于css - 萨斯.scss : Nesting extra class on div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38280066/

相关文章:

css - 如何防止结构为水平列表的图像换行?

css - 如何在初始服务器端渲染后立即使用 React + NextJS 重新渲染客户端?

javascript - 如何摆脱@zeit/next-sass 的弃用?

css h1 - 仅与文本一样宽

html - 删除 div 容器之间的空格和间隙

css - 使用 angular-ui 从/到视口(viewport)的右边缘展开/折叠 div

css - 范围输入拒绝更改背景颜色和高度

sass - 在 Sass 中,如何引用父选择器并排除任何祖 parent ?

javascript - 从 DOM 中移除时向元素添加动画/过渡

angular - 如何在 angular-cli 项目中使用全局 scss 文件