css - 在 LESS 的两个非常不同的上下文中使用相同的类?

标签 css less

假设我有一个名为 city-toggler 的类。

我目前在这里上课:

#city {
    .city-header {
        .box {
            .city-toggler {
                //styles here
            }
        }
    }
}

现在我需要在网站中一个完全不相关的地方添加一个city-toggler元素,例如:

.footer-holder -> .footer -> .footer-section -> .city-toggler

如何在 LESS 中执行此操作而不复制上面的所有样式?

我想我可以把 city-toggler 从 LESS 结构中取出来单独使用,但是有更好的解决方案吗?

最佳答案

如果 city-toggler 不依赖于特定的上下文,则将其定义为上下文无关的并没有什么不好。您不必复制任何代码。

要么这样做:

.city-toggler {
  /* all styles of a default city-toggler */
}

#city {
  /* ... */
  .city-toggler {
    /* overrides that apply only to city-togglers in this context */
  }
}

#footer {
  /* same as for #city */
}

或者,为了不复制代码(甚至不在编译后的 CSS 中,例如通过 mixins)但要防止在任何上下文中使用 city-toggler,请执行以下操作:

#city, #footer {
  .city-toggler {
    /* all styles of a default city-toggler */
  }
}

#city {
  /* ... */
  .city-toggler {
    /* overrides that apply only to city-togglers in this context */
  }
}

关于css - 在 LESS 的两个非常不同的上下文中使用相同的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40888600/

相关文章:

javascript - 是否可以为颜色选择创建一个 jQuery 移动范围 slider ,带有标签、阶梯边框和阶梯背景?

css - 什么是 `styles.css.less` 和 `styles.css.scss` 文件

css - 使用 LESS Mixins 的枚举/文档

css - 如何在 Less 中嵌套规则以定义类行为

css - 如何在 CSS/LESS 中为这个序列设置动画?

html - FF 上的位置问题,但 Chrome/IE8+ 上没有

html - 有没有办法使用 CSS 将 Bootstrap 导航栏元素右对齐?

javascript - 防止元素淡入淡出时出现跳跃

php - 如何将这个 <ul> 居中?

css - 用 LESS 覆盖 AntD 组件样式