"使用PrimeVue庫時,Vue3中的:deep()選擇器無效"
P粉785522400
P粉785522400 2023-08-29 23:45:06
0
1
627
<p>我正在使用vue3和PrimeVue庫。當我嘗試使用<code>:deep()</code>選擇器覆蓋PrimeView組件的css字段時,它沒有任何效果。只有當我使用非作用域樣式時,它才會套用我的變更。我對為什麼它不起作用感到困惑。 </p> <p>帶有<code>:deep()</code>的範例程式碼:</p> <pre class="brush:js;toolbar:false;"><template> <Toast position='buttom-right'/> </template> <style scoped> :deep(.p-toast-message-icon) { margin-right: 10px !important; } </style> </pre> <p>這樣不起作用。 </p> <p>但當使用沒有作用域的<code>style</code>時,就像這樣:</p> <pre class="brush:js;toolbar:false;"><style> .p-toast-message-icon { margin-right: 10px !important; } </style> </pre> <p>這樣就起作用了。 </p>
P粉785522400
P粉785522400

全部回覆(1)
P粉094351878

透過:deep選擇器產生的規則會針對目前元件的子元素生效,但是p-toast是附加到

元素上的,所以產生的類將沒有效果。

然而,您可以設定傳遞選項將樣式規則傳遞給圖示:

<Toast
    :pt="{
        icon: { style: 'marginRight: 10px !important;' }
    }"
/>

<Toast
    :pt="{
        icon: { class: 'mr-2' }
    }"
/>

Sandbox中查看範例。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板