Sass変数はコードで読み取られていません

こんにちは。

テーマに設定を追加していくと、Discourse がそれらを無視していることが明らかになりました。

コード:


#main-outlet-wrapper .sidebar-wrapper {
  @if $Full_Width == true {
    left: 10px;
  }
}

@if $Full_Width == true {
  :root {
    --d-max-width: 95%;
  }
  #main-outlet {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 5px;
    margin-bottom: 50px;
  }
}

このコードは、設定の値に関係なく何も機能しません。

しかし、== true を削除すると、常に有効になります。

これは、他の bool 値でも同様の問題のようです。Sass のドキュメントを読みましたが、コードは一致しており、それでも機能しません。


div#main-outlet.wrap.not-found-container,
#main-outlet-wrapper {

  #main-outlet,
  .sidebar-wrapper {
    @if $Is_Background_Blurred {
      backdrop-filter: blur(3rem) !important;
      background-color: #0a0a0aa6 !important;

      input[type],
      .select-kit.combo-box .select-kit-header,
      .d-editor-textarea-wrapper,
      div.ac-wrap {
        background: transparent;
      }
    }

    @else {
      backdrop-filter: none !important;
      background-color: var(--secondary) !important;

      input[type],
      .select-kit.combo-box .select-kit-header,
      .d-editor-textarea-wrapper,
      div.ac-wrap {
        background: transparent;
      }
    }
  }
}

何かお手伝いいただければ幸いです。

「いいね!」 2

数週間前に私も同じ問題に遭遇し、if SASS の条件が思ったように機能していないと結論付けました。しかし、それが可能であれば非常に嬉しいです。

SASS ファイルに「もしこの site_setting が value と等しい場合」という条件を設定すること。

もし役に立つかもしれないと思い、ここに置いておきます。

「いいね!」 2

投稿する前にここを確認しましたが、私のコードは全く同じです。

@if $var {} は値に関係なく常に実行され、@if $var == true {} は決して実行されません。

試しましたか:

@if $var == "true"

ブール値が実際には文字列である可能性があります。以前、テーマコンポーネントでこれに遭遇しました。

「いいね!」 3

はい、直ったようです。不思議ですね。

「いいね!」 2

素晴らしい、二人とも、私が諦めていたテーマコンポーネントの件を解決するのを手伝ってくれました。:v:

「いいね!」 2

これにより、最近話し合ったダークテーマの切り替えが修正される可能性があります。ありがとうございます。

現状では機能していませんでした。

「いいね!」 3

そして、クリスはあっという間に、ある集団全体を助けた。

「いいね!」 3

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.