2014-11-03 102 views
2

這是我們正在做的:更改mixins.scss不會更改CSS文件將其導入

  • 我們正在創造一個鉤修改\html\css\common\_mixins.scss文件。

文件部署時被更新。到現在爲止還挺好。

的問題是它們導入此混入沒有顯示任何改變,例如此文件中的CSS文件 - \webapps\ROOT\html\css\taglib\navbar.css

經過一番調試後,我發現\webapps\ROOT\html\css\taglib\.sass-cache中有一個.sass-cache文件夾,它也有門戶使用的最終生成文件navbar.css

現在,當我部署鉤子時,導入此mixin的所有CSS文件都不會在.sass-cache文件夾中重新編譯/重新生成,這會使鉤子無用。

有人可以告訴我是否有任何方法可以使用這個mixin,或者有任何其他的方法來做到這一點,或者我可以手動重新編譯所有的CSS文件,只要我知道如何使用這個mixins。

另外我看到刪除.sass-cache不是一個選項,因爲如果有熱修復,此文件夾也被liferay用來修補CSS文件。

環境

Liferay的EE 6.2 SP9和Tomcat

捆綁

原因comments

爲什麼我們需要改變這個文件的原因是有一個方法來禁用導航欄的響應元素。或者,最好還是禁用整個門戶的響應。由於響應性是由媒體查詢引起的。

感謝

回答

0

所以這些變化並沒有反映出來,我認爲CSS並不意味着鉤住。

所以嘗試了很多東西之後,我們仍然沒能禁用的響應,所以我們在我們的主題應用下面的CSS我們custom.css。這適用於導航欄,對於其他人,我們可以再次單獨包含這些樣式。

@media (max-width: 979px) { 
    .navbar .container { 
     position: initial; 
    } 
    .navbar .container .btn-navbar { 
     color: initial; 
     display: none; 
     margin-bottom: initial; 
     width: initial; 
    } 
    .navbar .container .btn-navbar > .icon-bar:first-child { 
     margin-top: initial; 
    } 
    .navbar .container .btn-navbar > .icon-bar:last-child { 
     margin-bottom: initial; 
    } 
    .navbar .container .nav-collapse { 
     display: initial; 
    } 
    .navbar .container .nav-collapse.open { 
     display: initial; 
     height: initial; 
     overflow: initial; 
    } 
    .navbar .container .nav-collapse .btn { 
     padding: initial; 
    } 
    .navbar .container .navbar-search { 
     margin: initial; 
     padding: initial; 
    } 
    .navbar .container .navbar-search .btn, 
    .navbar .container .navbar-search .btn-link { 
     clip: none; 
     position: initial; 
    } 
    .navbar .container .navbar-search .form-search { 
     margin: initial; 
    } 
    .navbar .container .navbar-search .form-search .input-append { 
     display: initial; 
     padding-right: initial; 
    } 
    .navbar .container .navbar-search .form-search .input-append .search-query { 
     width: initial; 
    } 
} 

這個CSS代碼是從this Liferay forum post拍攝。

1

這是不可能通過鉤子改變_mixins.scss,而且它不僅是由於邪薩斯緩存。

_mixins.scss被編寫爲SASS,需要編譯並存儲在sass-cache中。每個主題都包含每個sass文件的編譯版本。

的唯一途徑是建立你自己的主題和變化_mixins.scss或_diff文件夾中的任何其他文件。

爲什麼你需要改變那個特定的文件?

+0

那麼我確實改變了那個文件,如果我刪除了'.sass-cache'文件夾,我的變化就顯示出來了,也就是說'_mixins.scss'的變化被採用了。我需要這個文件來定製'響應'混合。你說***唯一的方法是建立你自己的主題,並在_diff文件夾中更改_mixins.scss或任何其他文件。*** - 那麼如何將你的更改應用於taglib和門戶文件夾的媒體查詢,因爲那些不是主題的一部分? – 2014-11-04 12:55:40

+0

我認爲在taglib路徑中存在navbar.css或類似的css是一個很大的錯誤。我的方法是通過鉤子直接更改navbar.css而不用重寫主題_mixins.scss。我認爲這更安全。 – 2014-11-04 15:25:10

+0

是的,我正在嘗試,讓我們看看它是否回報。 – 2014-11-05 03:24:46