ホームページ  >  に質問  >  本文

「PrimeVue ライブラリを使用する場合、Vue3 の :deep() セレクターは無効です」

<p>vue3 と PrimeVue ライブラリを使用しています。 <code>:deep()</code> セレクターを使用して PrimeView コンポーネントの CSS フィールドをオーバーライドしようとしても、効果がありません。スコープ外のスタイルを使用する場合にのみ、変更が適用されます。なぜ機能しないのか混乱しています。 </p> <p><code>:deep()</code> を使用したサンプル コード: </p> <pre class="brush:js;toolbar:false;"><テンプレート> <トースト位置='右下'/> </テンプレート> <スタイルスコープ> :deep(.p-トーストメッセージアイコン) { マージン右: 10px !重要; } </スタイル> </pre> <p>これは機能しません。 </p> <p>ただし、スコープなしで <code>style</code> を使用する場合は、次のようになります。 </p> <pre class="brush:js;toolbar:false;"><style> .p-トーストメッセージ-アイコン { マージン右: 10px !重要; } </スタイル> </pre> <p>それはうまくいきます。 </p>
P粉785522400P粉785522400416日前547

全員に返信(1)返信します

  • P粉094351878

    P粉0943518782023-08-30 16:40:49

    :deep セレクターを通じて生成されたルールは、現在のコンポーネントの子要素に対して有効になりますが、p-toast は 要素にアタッチされているため、生成されたクラスは効果がありません。

    ただし、 パス オプション を設定して、アイコンにスタイル ルールを渡すことができます。

    リーリー ###または### リーリー

    サンドボックス

    の例を参照してください。

    返事
    0
  • キャンセル返事