【问题标题】:media queries in SASS compiling but not displayingSASS 中的媒体查询编译但不显示
【发布时间】:2019-02-25 01:46:53
【问题描述】:

我正在构建一个具有响应式媒体查询的网站。如果屏幕为 900 像素或更小(最大宽度),我有一个查询。我创建了一个 mixin 来帮助管理我的查询。

@mixin responsive ($breakpoint){
@if $breakpoint == phone {
    @media(max-width: 37.5em){ @content };  // 600px
}
@if $breakpoint == tab-port {
    @media(max-width: 56.25em){ @content };   // 900px
}
@if $breakpoint == tab-land {
    @media(max-width: 75em){ @content };  // 1200px
}
@if $breakpoint == big-desktop {
    @media(min-width: 112.5em){ @content };  // 1800px
 }
}

那么,我将在 SASS 中使用它

.div{

&__container {
    display: flex;
    padding: 5rem;
    margin: 0 auto;
    width: 80%;

    @include responsive(tab-port) {
        width: 90%;
    }

}

编译正确

.div__container {
  display: flex;
  padding: 5rem;
  margin: 0 auto;
  width: 80%; 
}
  @media (max-width: 56.25em) {

.div__container {

 width: 90%; 
 } 
}

但它实际上并没有在网站上以 900 像素或更小的分辨率显示。我做错了什么?

【问题讨论】:

  • 编译后的 CSS 看起来不错,你确定什么都没有发生吗?检查 te 元素以确保,放置更多可见代码,例如 font-weight: bold 以更加确定并手动调整视口大小(如果您明确想要 px,为什么要使用 em 值?)

标签: css sass width


【解决方案1】:

媒体查询工作正常,但由于填充宽度超过 80%。

.div {

  &__container {
      display: flex;
      // padding: 5rem;
      margin: 0 auto;
      width: 80%;
      border: 5px solid red;

      @include responsive(tab-port) {
          width: 90%;
          border: 5px solid blue;
      }

  }
}

示例:https://codepen.io/anon/pen/MxgaVR

【讨论】:

  • 我看到你的 codepen 可以工作,但是当我尝试在我的代码中放入相同的东西并编译它时,浏览器中实际上没有任何变化。查询不会出现在 Chrome 调试器中,我尝试添加边框并将文本转换为大写以使任何更改更加明显。当我在调试器中手动更改页面大小时,似乎没有任何变化。编辑:当我手动将浏览器窗口本身移到调试器之外时,我看到了更改。为什么会发生这种变化?
  • 有时 chrome 调试器有错误。我看到太多了。尝试重新安装chrome
  • 多么讽刺哈哈……好吧,我会试试看会发生什么。目前,我的查询应该可以正常工作,这不是我的代码有问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-25
  • 2014-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多