2012-12-19 149 views
0

我的意思是:例如我有一個網頁和一個包含應用程序的div。頁面有它自己的樣式,但我希望應用程序有它自己的樣式(例如twitter引導樣式)。那麼是否有一種方法可以僅爲具體包裝器定義CSS,以便應用程序的這些樣式不會影響頁面本身的樣式。有沒有辦法只爲特定的包裝器定義CSS?

當然,我們總是可以編寫一種#wrapper .btn { // style },但同樣的twitter bootstrap有100KB的樣式,所以管理所有樣式會有點複雜。

#wrapper { 
    .btn { //style } 
    .btn-group { // style } 
} 

這相當於

#wrapper .btn { // style } 
#wrapper .btn-group { // style } 

我希望有在CSS的解決方案:如果有類似建築這將是完美的。提前致謝!

回答

0

Twitter的Botstrap使用較少的CSS http://lesscss.org/,它可以讓你做你提到的正是:

#wrapper { 
    .btn { //style } 
    .btn-group { // style } 
} 

它寫成這樣的,然後編譯成傳統的CSS。取決於你使用的是哪種框架/語言(.net,php),它們都有特定的插件。我們使用dot.less,以及bootstrap,它的效果很好。

0

不適用於純CSS。您需要使用CSS預處理器。有一些它們都支持這種嵌套方式。

下面是一些最流行的:


還有scoped風格,但瀏覽支持目前非常貧窮。

+0

謝謝你剛剛發現一些信息少。它實際上是跨瀏覽器? – nakajuice

+1

理想情況下,使用CSS預處理器,您可以在將CSS提供給訪問者之前編譯您的CSS。編譯將您的LESS/SASS/Stylus轉換爲常規CSS,因此在瀏覽器支持方面沒有區別。 – Jack

+0

@Jack是對的。跨瀏覽器支持與任何這些都無關緊要。您編寫的標記不是瀏覽器所看到的。 –

相關問題