2013-06-25 34 views
6

我想使用引導程序上,它包括400多個網站,並使用以前的CSS類名(這是我無法控制的)項目的CSS類名。我一直在遇到一些CSS名稱衝突,我的解決方案是爲Bootstrap添加一個前綴(例如.row爲.tb-row)。添加前綴使用較少或SASS

我熟悉使用更小,其中一個附加的類被類纏繞添加命名空間的方法。不幸的是,這看起來不像解決我的問題。

是否有通過LESS,SASS,或任何其他編譯器的方法,可以很容易對我來說,一個TB-前綴添加到引導現有的所有類?

+1

雖然我無法確定,但我相信答案是「不」。另外,如果你看看引導代碼,他們會使用很多屬性選擇器(不僅僅是類)來做事情,其中​​一些屬性和其他屬性本身也不依賴於類。這增加了你想要做的事情的複雜性。 – ScottS

回答

12

你也許可以做到這一點與上海社會科學院

  • $命名空間: 「TB」;
  • ⌘ + f(或類似)找到你的CSS文件中的所有類。你可能需要一個正則表達式(以及一些試驗+錯誤)才能找到它們。
  • .#{$namespace}-添加到所有類。

理想情況下,你會得到得到這樣的:

$namespace: "tb"; 

.#{$namespace}-myClass { 
    background:pink !important; 
} 

.#{$namespace}-carousel-module { 
    width: 25%; 
} 

編譯

.tb-myClass { 
    background:pink !important; 
} 

.tb-carousel-module { 
    width: 25%; 
} 

「易」 可能是一個延伸,而是 「更容易」 似乎配件。

我不確定這是否是最好的方法,誠實地說,我只是ripping off a gist that I saw與人的評論比我更聰明。雖然可以派上用場!

+0

修改TB庫不是理想的解決方案。 – cimmanon

+0

我同意,但它似乎是作者正在尋找 – imjared

6

您將需要直接修改引導代碼,這如何能在更短的優雅實現一個例子:

.prefixname { 
    &-row { 
     ... 
    } 
} 
+0

我一直在嘗試用這種方法,但由於某種原因不能正常工作:( –

+0

這工作在** ** SASS你 –

0

我添加前綴「TB-」所有引導類(少)在v3.1.0中。因此,編譯較少的文件後,您將得到類似於「.tb-btn」 您可以在我的項目中分支https://github.com/TimothyGuo/tb--prefix-for-Bootstrap-v3.1.0--LESS-

+0

是如何建立這些你所擁有的文件您的GitHub庫。那正是我想做的事情。我 – user566245

+0

使用git bash的那些文件推到我的倉庫,你可以直接從GitHub下載zip文件或資料庫下拉到當地的環境。我的工作在需要一些前綴到bootstrap v3.1.0的項目上,但不幸的是,我找不到任何已經爲這個新版本添加了前綴的人,因此我決定自己做,並與社區分享,希望這可以幫助其他開發者。 –

+0

感謝蒂姆,所以這將如何工作與Bootstrap JavaScript組件,如模式,彈出等建設與特定類的元素和尋找具有特定類的元素 – user566245