【问题标题】:How to override properties of a CSS class altering the original value (less + mixin)如何覆盖改变原始值的 CSS 类的属性(less + mixin)
【发布时间】:2018-04-08 19:27:11
【问题描述】:

假设我使用 bootstrap 并使用 less 和 mixin 覆盖 jumbotron 类的 padding-top 百分比

有可能做这样的事情吗?

// 这是我在 bootstrap.css 之后加载的 style.less 文件 .jumbotron { 填充顶部:_original_padding-top_ * 0.5 }

【问题讨论】:

  • 如果能够+=-=(或其他)以财产的原始价值为基础,那就太好了,但这是不可能的。但是,当您使用 LESS 时,原始值不太可能存储在变量中,在这种情况下您可以使用它; padding-top: $padding-top-variable * .5
  • 如果是这样,这是正确的答案。谢谢

标签: css twitter-bootstrap less mixins


【解决方案1】:

https://github.com/twbs/bootstrap/blob/v3.3.7/less/jumbotron.less

所以您只需执行以下操作:

@import "bootstrap/variables.less";

.jumbotron {
    padding-top: @jumbotron-padding * .5;
}

}

【讨论】:

  • 所以我必须导入整个引导开发包,才能做这样的事情,不是吗?这是真的吗?我的意思是:如果我想更改不是由变量设置的值怎么办?获取类属性的原始值并对其进行修改是否有一般规则?
  • @GianpieroCaretti 上面的代码说:@import "bootstrap/variables.less";。您在哪里看到“整个引导程序包”?
  • 如果我想更改不是由变量设置的值怎么办 - 那么它根本不应该被修改(由作者设计)并且你自己使用纯 CSS 覆盖。没有“一般规则”——它就是这样——一个古老的开源项目,多年来通过将杂物堆叠在一起而设计的——有些东西背后有一些概念,有些东西没有。
  • 在我的项目中,我只有 bootstrap.css 和 bootstrap.js。我没有更少的文件。从上面的答案中,我了解到我必须导入使用引导程序分发的所有文件,才能导入bootstrap/variables.less。我说的对吗?
  • 嗯,不,您需要唯一可以下载的文件right there
【解决方案2】:

percentage mixin 只接受一个参数,所以你的建议是不可能的。

here。检查参考文档总是好的。

您必须创建自己的 mixin 才能做到这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    • 2012-08-13
    • 1970-01-01
    • 2014-01-24
    • 2013-01-29
    • 1970-01-01
    相关资源
    最近更新 更多