2017-03-07 67 views
0

在framework.scss我:CSS/SCSS:有没有办法将属性“重置”为前一课中设置的属性?

.row { 
    margin: $margin-variable; 
} 

在page.scss我

.row { 
    margin: auto; 
} 

我有一个新的SCSS文件,移动page.scss,即覆盖page.scss与媒体查询。我希望移动页面'.row的边距可以继承$margin-variable

有没有一种方法可以告诉边界忽略page.scss上设置的值,并继承在framework.scss上的值?

+1

为什么你在每个文件中声明同样的事情? – pol

+0

@pol你是什么意思? framework.scss随框架一起提供,我不想直接修改文件。 page.scss是我设计我的页面上的.row,mobile-page.scss是该页面的移动版本。 – MeltingDog

+0

我想你只需要两个SCSS文件:一个用于“默认”本身,另一个用于“移动”本身。显然,'mobile-page.scss'是为你的手机设计的。现在,您必须选择使用哪一个作为“默认”:'framework.scss'或'page.scss'。让他们三人只会让事情变得复杂。 – ITWitch

回答

0

上mobile.scss使用

.row{ 
    margin: $margin-variable; 
} 

不要忘了框架样式表后添加这个样式表。

0

这样做的两种方式,都应该在你的page.scss不是framework.scss,因为我认为框架文件是你的默认框架类。 page.scss还必须framework.scss之后被加载,以便成功地覆盖框架的类:内本身

  1. 覆盖类重写它在一定的断点(可以是最大值,最小值,或最大值的组合,并且分):

.row { 
 
    margin: 0 auto; 
 
    @media screen and (max-width: $your-margin-variable) { 
 
    margin: $something-else; 
 
    } 
 
}

  • 使用特异性把你的媒体查询在该行类在所有你的CSS结束所以进一步覆盖一上来上面:
  • @media screen and (max-width: $your-margin-variable) { 
     
        .row { 
     
        margin: $something-else; 
     
        } 
     
    }

    相关问题