如何在SCSS中定位firefox或任何其他浏览器?

如何在SCSS中定位firefox或任何其他浏览器?,css,firefox,sass,Css,Firefox,Sass,glyphicon未对齐,在Firefox中表现不正常,而在Chrome和Safari中则看起来非常完美。为了解决这个问题,我正在尝试编写一个规则,如果它是Mozilla的浏览器,它将只适用 是否有任何方法可以通过使用诸如@if之类的指令来检测SCSS中的浏览器。大致如下: @if $browser === mozilla { //apply this CSS .pull-right.glyphicon.glyphicon-chevron-right { top: -13p

glyphicon未对齐,在Firefox中表现不正常,而在Chrome和Safari中则看起来非常完美。为了解决这个问题,我正在尝试编写一个规则,如果它是Mozilla的浏览器,它将只适用

是否有任何方法可以通过使用诸如@if之类的指令来检测SCSS中的浏览器。大致如下:

@if $browser === mozilla {
    //apply this CSS
   .pull-right.glyphicon.glyphicon-chevron-right {
    top: -13px;
    line-height: 0.5 !important;
}
我们有什么简单的检测方法吗?我尝试使用
@moz document url-prefix()
,它在SCSS中不起作用

提出了一个类似的问题,但没有正确的解决方案


非常感谢您的帮助或指导。谢谢。

当前缀规则用于mixin时,设法让SCS编译,但在其他情况下:

@mixin firefox-only {
  @at-root {
    @-moz-document url-prefix() {
      & {
        @content;
      }
    }
  }
}
然后


我用下面的方法解决了Firefox上文本缩进宽度增加一倍的问题

select {
 text-indent: calc(50% - 16px);

 @supports (-moz-appearance:none) {
  text-indent: calc(25% - 8px);
 }
}

尝试JS console.log(navigator.userAgent);我只是想说些俏皮话。我不想在这里合并JavaScript。对于JS,这是非常直接的,我正在尝试找到一种方法,或者找出是否可以使用Sass可能的重复,首先找到您需要的浏览器的目标方式(如@moz document),然后创建一个mixin,因此您可以将其称为
@include browser(firefox){ruleset}
select {
 text-indent: calc(50% - 16px);

 @supports (-moz-appearance:none) {
  text-indent: calc(25% - 8px);
 }
}