2017-04-21 25 views
2

試圖幫助一個項目的朋友。由於客戶需求,他們被迫使用兩個互相沖突的第三方CSS庫。例如,庫A定義了一個名爲.active的類,庫B也定義了一個名爲.active的類。你可以看到這可能出錯。如何解決來自多個第三方庫的CSS類名衝突?

一種解決方法是進入並手動重命名一個庫或另一個庫中的類,但這對我來說似乎很笨拙,以防將來維護中的任何人嘗試使用原始第三方庫的乾淨版本的問題。此外,衝突的數量還不知道,但被認爲很大。由於這些原因,命名空間並不是很可行。

我個人的解決方案是爲我的項目推出我自己的CSS,並正確命名它。但聽起來客戶端拒絕這樣做,並且要求使用這兩個CSS庫並非因爲他們關心共享的特殊原因。

因爲我們不控制任何一個庫,有沒有其他的技巧從一個庫或其他庫中分離HTML元素?例如,有沒有辦法告訴元素接受給定類的CSS樣式,但只能從特定的.css文件中接受?我在這裏僞造語法,但是像這樣:

<div class="myStyles.css[active]">styled content</div> 

回答

0

您的關注看起來不錯。

請在下面找到我關於您關心的問題的發現。

有沒有辦法告訴元素接受與給定 類CSS樣式,但只能從特定的.css文件

<div class="myStyles.css[active]">styled content</div>

這是不可能的HTML5/CSS。你可以解決這個矛盾是

的一種方式,

包括您custom.css文件與第三方(後他們按順序)必要樣式#我的方式包裝。主動{沿.. 。}

你會明顯地,其中包裝膜選擇到你的這個DIV像下面

<div id="my-wrapper"> 
    <div class=".active">styled content</div> 
</div> 

現在,。主動custom.css的樣式將被放在應有的優先地位鏈接CSS的順序