2013-04-08 38 views
2

我有一個CSS樣式表在ASP.NET項目中的一個Web窗體中使用。CSS本身的變化

我在Visual Studio 2008中

很多次工作,當我做出一些改變,它改變了我的CSS類之一,導致一些醜陋的邊界。

例如:我做了一個修改,保存了樣式表,繼續在其他頁面上工作,然後我發現樣式表需要再次保存。我必須回到樣式表,按撤消然後再保存它。

我很好奇什麼樣的變化,所以我複製和前比較,其文字和撤消後,這是什麼樣的變化:

enter image description here

編輯:眼下,那一刻我打開.css文件通過在解決方案資源管理器中雙擊它,它會立即改變我的CSS並需要保存。非常討厭。

+1

我以前從未使用Visual Studio,但是,如果我不得不猜測我會說,也許是因爲您使用邊框和邊框 - raidus它會以某種方式混淆並覆蓋邊框屬性。也許嘗試將CS​​S分解爲單獨的屬性,如邊框顏色,邊框寬度等。 – 2013-04-08 09:00:45

+0

您確定該文件未在另一個可能自動保存的程序中打開嗎?或者在像FileZilla那樣與服務器同步的地方? – JoRouss 2013-04-23 13:54:30

+0

很確定。這是因爲CSS,因爲我在其他項目中也使用了相同的css代碼,所以我也遇到了同樣的問題。 @Somebody – enb081 2013-04-23 13:56:01

回答

3

接下來的事情並不是我的答案,但它是我能找到的最好的事情,現在
我猜想是我發現的嗎?是的,這裏在StackOverflow的 這裏的鏈接:Visual Studio (2012 and lower) deletes CSS properties 我真的希望它有助於

「 的存在‘過濾器’的風格是什麼導致所有的‘背景圖像:’風格,除了消失列出的最後一個,並不是它刪除了它不知道的東西,它只是刪除除最後列出的「背景圖像」樣式以外的所有東西。必須是微軟(打算)製作過濾器的方式和MS特定的背景圖像樣式但是它們並沒有很好的編碼,絕對是MS VS的缺陷,重新編輯,只需點擊右鍵點擊代碼類似的CSS類:

background-color: #EBEBEB; /* Fallback background color for non supported browsers */ 
background-image: -webkit-gradient(linear, left top, right top, from(#FFFFFF), to(#DAD6E7)); 
background-image: -webkit-linear-gradient(left, #FFFFFF, #DAD6E7); 
background-image: -moz-linear-gradient(left, #FFFFFF, #DAD6E7); 
background-image: -ms-linear-gradient(left, #FFFFFF, #DAD6E7); 
background-image: -o-linear-gradient(left, #FFFFFF, #DAD6E7); 
background-image: linear-gradient(left, #FFFFFF, #DAD6E7); 
filter: progid:DXImageTransform.Microsoft.gradient(startCol 

orStr ='#FFFFFF',EndColorStr ='#DAD6E7',gradientType ='1');/* IE6 - IE9 */ 然後選擇「Build Style ...」。然後單擊「確定」而不更改任何內容,並觀看它除去剩下的最後一個背景圖像。嘗試更改「背景圖像樣式」的順序,然後離開webkit,然後看看自己。

您會注意到,如果刪除「filter:」樣式,問題就會消失,但是我們需要這個例子),所以解決方案似乎是將「filter:」樣式移動到所有「background-image:」行之上,一旦這樣做,就會讓它們獨立出來,問題就會消失。這似乎aleviate問題:

filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFFFFF', EndColorStr='#DAD6E7', gradientType='1'); /* IE6 - IE9 */ 
background-color: #EBEBEB; /* Fallback background color for non supported browsers */ 
background-image: -webkit-gradient(linear, left top, right top, from(#FFFFFF), to(#DAD6E7)); 
background-image: -webkit-linear-gradient(left, #FFFFFF, #DAD6E7); 
background-image: -moz-linear-gradient(left, #FFFFFF, #DAD6E7); 
background-image: -ms-linear-gradient(left, #FFFFFF, #DAD6E7); 
background-image: -o-linear-gradient(left, #FFFFFF, #DAD6E7); 
background-image: linear-gradient(left, #FFFFFF, #DAD6E7); 

UPDATE:上面唯一的工作解決方法當你使用「Build Style ...」 - >「Modify Style」對話框時,VS應用格式化,因爲我剛剛在上面的修復程序中看到了它,所以它必須是別的。 「

+0

沒有測試過這個答案但是帖子解答來自似乎很好的領導! :) – 2013-04-24 20:08:51

2

我不知道你的環境,所以我不能說別的東西是否改變你的CSS。如果我是你,我會嘗試用另一個編輯器打開文件,也許兩個,只是爲了找出如果責備在Virtual Studio 2008上。

如果事實證明它是虛擬 Studio的故障你沒有一個最終的需要堅持使用它,我會建議Sublime Text。它非常強大而且免費。

3

您是否嘗試過其他Visual Studio版本。像2010或2012.

這裏的問題是,重新排序幾行代碼,但它似乎在這裏是從Visual Studio的其他問題。嘗試重新安裝。如果你喜歡VS風格,你可以嘗試更高版本。優點:修復了很多bug並增加了許多功能。

我的推薦:嘗試SublimeText2一段時間,看看你是否喜歡它。我喜歡它,它比VS快很多。試一試。值得。

+0

我在ASP.NET中開發,我不得不使用Visual Studio。 – enb081 2013-04-26 06:45:28

+0

這個問題不僅是重新排序,它還會刪除邊框屬性。 – enb081 2013-04-26 07:07:49

+0

現在我看到它甚至可以刪除文字陰影。也許VS 2008不識別文字陰影,但我沒有得到邊界問題。我會盡力找到問題,但沒有任何承諾。同時,您可以嘗試重新安裝VS 2008或嘗試2010或2012. – 2013-04-26 10:22:58

2

試試這個:

toolbar
選項 - > HTML Designer-> CSS樣式,改變「自動風格的應用程序」「手動風格的應用程序」