2017-02-20 38 views
0

假设在一个情况下,我需要的孩子选择在CSS中,所以我会用SCSS做得一样:为什么儿童选择器>不适用于sass中的媒体查询?

#bslider { 
    > img { 
      display: block; 
     } 
    > #slide { 
     .carousel-inner { 
      perspective: 1000; 
     } 

    } 
} 

所以>孩子selecter工程SCSS不错。但现在考虑,如果我需要媒体查询过,所以我会做它:

#bslider { 
    > img { 
      display: block; 
     } 
    > @media only screen { 
     .carousel-inner { 
      perspective: 1000; 
     } 

    } 
} 

但它给因媒体查询错误。为什么我在@media规则之前不能使用>

建议我在使用id,class或tag之前使用>作为选择器。但是,我不得不将它添加到所有的选择是他们的任何方式来达致这:

#bslider { 

    > img { 
     display: block; 
    } 
     @media only screen > { 
     .carousel-inner { 
      perspective: 1000; 
     } 
     .img { 
      display: inline; 
     } 

     .img2 { 
      display: inline-block; 
     } 


    } 
} 
+4

媒体查询不是选择器 – VilleKoo

+0

因为它没有任何意义。 – Turnip

回答

4
#bslider { 
    > img { 
     display: block; 
    } 
    @media only screen { 
     > .carousel-inner { 
      perspective: 1000; 
     } 
    } 
} 

为什么你不能使用>media之前是>是选择的一部分原因,而media不是一个选择,但对于其样式取决于格式/分辨率显示的条件等

编辑:

你可以有其他选择包住媒体查询,只是不要忘了将它添加在你的HTML。

#bslider { 
    > img { 
     display: block; 
    } 
    > .myContainer{ 
     @media only screen { 
      .carousel-inner { 
       perspective: 1000; 
      } 
     } 
     } 
    } 
+3

这是不正确的。 '&'不应该在那里。 – Turnip

+1

@Turnip感谢您的纠正,我的不好! – mXX

+0

这个解决方案对我来说不太方便。让我来解释一下我想要的。 – user31782