2012-10-12 28 views
3

我已經啓動了一個Rails項目並在其中實現了bootstrap-sass。不久之後,我使用不同版本的twitter bootstrap發現了一個主題/模板。我已經將該模板添加到應用中,但視圖並未像預期的那樣完美對齊。然後我將主題/模板附帶的特定資源添加到我的項目中(例如jquery版本,另一個較舊的bootstrap版本),結果幾乎完美。但是,仍然存在一些對齊問題。當我檢查CSS時,由於兩個引導版本之間存在衝突,我可以看到它正在發生。Rails中使用頁面特定的CSS樣式表(使用兩種不同版本的twitter引導)

我在想我應該讓這個模板只使用隨它一起提供的twitter引導版本。如果是這樣,我該怎麼做?我如何做到這一點,以便軌道視圖將只使用某個CSS樣式表,而不是從其他人讀取?

(?如果這不是最好的解決辦法,都有些什麼替代我應該考慮)

感謝

回答

5

嘗試了這一點:

1)使用2個佈局(application.html.erb和new_application.html.erb) 2)有兩個主javascript/css文件(application.js和new_application.js,application.css和new_application.css) 3)在application.html.erb裏面包含第一個application.js和application.css,在第二個佈局上,導入新的應用程序js和css 4)對於頁面的特定部分,控制器從右側父控制器繼承,無論您想要哪種佈局。

class NewBootstrapController < ActionController::Base 
    layout 'new_application' 
end 

class OldBootstrapController < ActionController::Base 
    layout 'application' 
end 
+0

我這樣做,而是在控制器中指定佈局,我創建了兩個佈局,每個佈局都拉動自己的資產(在'stylesheet_link_tag'和'javascript_include_tag'中聲明) – AdamT

0

最佳做法是嘗試查看您的項目由「成分」,而不是網頁。因此,請注意保持組件的樣式最新且一致。

因此,不要爲單個頁面進行編碼,即使對於小型(ish)項目,也不能進行擴展並且難以維護,因此需要尋找將元素轉換爲可重用組件的方法。 Bootstrap默認是這種方式,所以如果某些組件比其他組件更多地使用,請將它們設置爲重構優先級,然後在整個頁面中查找重複模式,並嘗試考慮如何創建基於組件的語義類來形容他們。

取而代之的是:

.sidebar-home {} 

試試這個:

.sidebar-narrow {} // or whatever describes your element 

我們要說的一點是,如果你永遠不會比這個項目上工作多,進入思考的好習慣您的CSS/HTML由組件組成,您將能夠重用代碼並在識別UI中的模式方面變得更快。

相關問題