首頁 > web前端 > css教學 > 如何在 Sass 媒體查詢中擴展選擇器?

如何在 Sass 媒體查詢中擴展選擇器?

Barbara Streisand
發布: 2024-11-02 03:42:30
原創
942 人瀏覽過

How Can You Extend Selectors Within Media Queries in Sass?

在 Sass 中使用媒體查詢擴充選擇器

使用 Sass 時,您經常需要從媒體查詢中擴充選擇器。這對於根據元素的大小或方向應用不同的樣式非常有用。但是,Sass 有一個限制,您無法從媒體查詢中擴展外部選擇器。

在提供的程式碼範例中:

<code class="scss">.item { ... }
.item.compact { /* styles to make .item smaller */ }

@media (max-width: 600px) {
  .item { @extend .item.compact; }
}</code>
登入後複製

此方法會導致錯誤,因為 Sass 無法組合適合您的選擇器。具體來說,您不能在媒體查詢內部擴展其外部的內容。

替代方法

由於此限制,您有多種選擇:

使用Mixins

使用Mixins
<code class="scss">@mixin foo {
    // do stuff
}

%foo {
    @include foo;
}

// usage
.foo {
    @extend %foo;
}

@media (min-width: 30em) {
    .bar {
        @include foo;
    }
}</code>
登入後複製

使用Mixins

<code class="scss">%foo {
  @media (min-width: 20em) {
    color: red;
  }
}

@media (min-width: 30em) {
  %bar {
    background: yellow;
  }
}

// usage
.foo {
  @extend %foo;
}

.bar {
  @extend %bar;
}</code>
登入後複製
使用Mixins

建立一個mixin 和一個擴充類別以在媒體查詢內部和外部重用程式碼:

擴充選擇器從外部雖然不能直接適用於給定的用例,但此方法允許您從外部擴展媒體查詢中的選擇器:正在進行的討論Sass 社區中有關於此限制的活躍討論。使用者已經表達了對此功能的渴望,維護人員正在考慮有效實現它的方法。但目前尚未達成明確的解決方案。

以上是如何在 Sass 媒體查詢中擴展選擇器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板