2011-09-02 53 views
0

我用下面的CSS:如何避免AjaxMin取消對IE9和下面的CSS破解

.GridDraggedRow tr td.firstCol{ 
padding: 2px 10px 0 0; 
text-align: right; 
vertical-align: top; 
width: 1px; 
width: 1%\9; /* IE9 and below */ 
white-space: nowrap; 
} 

正如你所看到的,我使用了一個很醜的CSS破解。 我的問題是,這個黑客從我用AjaxMin生成的縮小的css文件中刪除。 這是我們傳遞系統中的後期製作步驟,所以我們要堅持使用AjaxMin。 的ajaxmin documentation解釋說,一些基於註釋的黑客都允許使用 '黑客​​' 標誌,除權:

ajaxmin -CSS -comments:黑客GridLayout.css

不幸的是,\ 9黑客是不允許的。 我能做什麼? 解析生成的文件在我看來不是一個好主意。

我想我的最佳選擇是將此hack插入另一個非縮小文件或直接插入標籤之間的html頁面中... 你們有更好的主意嗎?阿賈克斯提供排除部分會很好...

+0

是的,我同意不應該使用醜陋的黑客。但是,有時候這是最快最簡單的方法,如果你需要這樣做,你的開發工具不應該讓你失望。這個特殊的例子只是AjaxMin中的一個小錯誤 - 它將在下一個版本** 4.42 **中修復。順便說一句:** AjaxMin **是一個獨立的ASP.NET項目; ASP.NET恰好與我們的工具版本一起提供。我們對錯誤報告非常敏感。請務必從http://ajaxmin.codeplex.com中選取最新版本的AjaxMin,並報告您可能在該CodePlex項目中找到的任何問題 –

回答

0

你不應該使用任何這些醜陋的黑客!

改爲使用Paul Irish's conditional comments method

使用此在您的HTML標籤的開口道:

<!--[if lt IE 10 ]> <html class="lt-ie10"> <![endif]--> 
<!--[if (gt IE 9)|!(IE)]><!--> <html> <!--<![endif]--> 

然後,在你的CSS,使用此:

.GridDraggedRow tr td.firstCol{ 
    padding: 2px 10px 0 0; 
    text-align: right; 
    vertical-align: top; 
    width: 1px; 
    white-space: nowrap; 
} 
.lt-ie9 .GridDraggedRow tr td.firstCol{ 
    width: 1%; 
} 

這是更清潔和更可靠。