加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Rails 3.1中,真的不可能避免包含样式表的重

发布时间:2020-12-16 19:37:01 所属栏目:百科 来源:网络整理
导读:尝试在Sass样式表中共享变量和混合时,我遇到了一个令人不安的问题. 如果我使用@import来包含一个全局样式表,其中包括全局颜色,mixins等 – 当Rails组合清单文件中引用的所有样式表时,它将被再次包含. 或者,如果我的清单文件不包括全局样式表,但清单中的多个
尝试在Sass样式表中共享变量和混合时,我遇到了一个令人不安的问题.

如果我使用@import来包含一个全局样式表,其中包括全局颜色,mixins等 – 当Rails组合清单文件中引用的所有样式表时,它将被再次包含.

或者,如果我的清单文件不包括全局样式表,但清单中的多个文件导入它,则全局样式表仍将被包含多次. GAH.

你怎么能解决这个问题?萨斯有秘密的包围守卫吗?我做错了吗?

解决方法

我不明白为什么这是您的具体问题的一个问题.变量和混合声明不应导致生成的css文件中的任何选择器或声明块.但是,当您为多个选择器使用mixin时,每个这样的选择器都包含相应的声明.这就是SASS如何处理它.

所以只要它只是变量和混合,如果它们在清单文件中被多次包含起来,这并不重要,因为这对编译文件没有影响.在一个站点节点上,我相信它是一个好的风格,SASS强制你明确声明每个文件的依赖关系.

但是,如果您在基本文件中还有要在单独文件中继承的选择器和声明,那么即使在编译过的文件中也可以包含多个选择器和声明.知道如何通过配置来防止这一点仍然是有趣的.但是,如果您将每个sass文件视为一个封装的规则,而不会跨文件继承,那么您应该能够按照惯例阻止您的问题.

例如,使用bootstrap-sass时,只能将混合和变量定义带入范围;

@import "bootstrap/variables";
@import "bootstrap/mixins";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读