工作我只是注意到目前的Compass beta(0.11.beta.6)支持在compass/css3/images模塊中生成IE漸變(它取代了之前的漸變模塊),因此您可以使用總共兩條短命令生成漸變:
@import "compass/css3/images";
@import "compass/utilities/general/hacks"; /* filter-gradient needs this */
.whatever {
/* IE; docs say this should go first (or better, placed in separate IE-only stylesheet): */
@include filter-gradient(#aaaaaa, #eeeeee);
/* Fallback: */
background: #cccccc;
/* CSS 3 plus vendor prefixes: */
@include background(linear-gradient(top, #aaaaaa, #eeeeee));
}
這產生CSS以下襬:
.whatever {
*zoom: 1;
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr='#FFAAAAAA', endColorstr='#FFEEEEEE')";
filter: progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr='#FFAAAAAA', endColorstr='#FFEEEEEE');
background: #cccccc;
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #aaaaaa), color-stop(100%, #eeeeee));
background: -moz-linear-gradient(top, #aaaaaa, #eeeeee);
background: -o-linear-gradient(top, #aaaaaa, #eeeeee);
background: linear-gradient(top, #aaaaaa, #eeeeee);
}
我想我寧願有IE和非IE梯度代碼在一個呼叫,但是由於IE的DXImageTransform梯度函數是相當有限的,這是可能不可能。
- 關於IE9? – 2012-01-19 15:39:49
更新:[聰明的人說](http://www.stubbornella.org/content/2012/05/02/cross-browser-debugging-css/)你不應該在IE6-IE8上製作漸變,因爲它們會導致性能和佈局問題。所以現在我可能會忽略'filter-gradient'這一行。 – 2012-05-03 18:25:39
- 那麼你對IE漸變,圖像做什麼? – 2012-05-04 06:08:59