2013-07-08 71 views
4

我在main.css文件下面的CSS:CSS文件在不斷變化

background-image:-moz-linear-gradient(top, #eeeeee, #aaaaaa) !important; 
background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#aaaaaa)) !important; 
background-image:-webkit-linear-gradient(top, #eeeeee, #aaaaaa) !important; 
background-image:-o-linear-gradient(top, #eeeeee, #aaaaaa) !important; 
background-image:linear-gradient(to bottom, #eeeeee, #aaaaaa) !important; 
background-repeat:repeat-x; 
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffaaaaaa', GradientType=0) !important; 

這使本身更改爲:

background-image: linear-gradient(to bottom, #eeeeee, #aaaaaa) !important; 

爲什麼會這樣發生?選擇器是.navbar .nav,它也是在另一個CSS文件(Bootstrap CSS文件)中定義的。是否Visual Studio會自動清除重複的定義或其他內容?

編輯:它每隔幾個版本就會改變。我無法確定哪些操作會導致它自動更改。

+1

您的項目中是否有main.less文件? –

+0

不,我不... – user982119

+2

重複http://stackoverflow.com/questions/5456244/visual-studio-deletes-css-properties或http://stackoverflow.com/questions/10195951/vs2010-keeps-刪除非ie風格的css和降級verison從3-0到2 –

回答

0

看看在Visual Studio中是否有任何build events安裝程序。項目可能已經配置爲運行像csstidy或css minimizer這樣的嘗試清理重複屬性的東西。另外,如果你使用的是源代碼控制(我希望你是這樣),你的源代碼控件可能被配置爲運行一個提交鉤子,它執行相同的操作。如何配置將取決於您使用的源代碼管理。

我不希望這是現代版本的csstidy(或任何其他現代css優化工具)的問題。但是,如果這是一個您已經繼承的項目,那麼很可能它是在一段時間之前使用現在已過時的工具設置的。

+0

我正在使用源代碼管理(SVN),但文件每改變幾次提交。再次,仍然不能確定是什麼導致它改變。我從零開始創建了項目 - 我使用了initializr。然後我有一個main.css文件,這是一個改變。這不是一個大問題,只要它不會發生在開發環境之外:P,感謝您的建議,我將檢查構建事件。 – user982119

+1

剛剛閱讀Bass Jobsen在評論中發佈的鏈接時,我開始認爲它更可能是Visual Studio本身的問題 - 可能與CSS自動格式化有關。當您在文件的某個位置執行粘貼操作時,是否有可能觸發它? –

1

這些都是基於瀏覽器CSS標籤:

在Mozilla這僅適用於:

background-image:-moz-linear-gradient(top, #eeeeee, #aaaaaa) !important; 

作品在Chrome /基於Webkit的瀏覽器:

background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#aaaaaa)) !important; 
background-image:-webkit-linear-gradient(top, #eeeeee, #aaaaaa) !important; 

其實這個跨瀏覽器技術是有點在CSS3的發佈中已棄用。您需要找到適用於您正在使用的瀏覽器的相應CSS。

這不是「改變」,其他的CSS被瀏覽器忽略。