Мы имеем следующие Themeable стили, чтобы иметь градиент для фона тела: веб-частиМогут ли стили -ms-filter быть тематическими в SharePoint?
.ms-wpContentDivSpace{
/* For Non-CSS3 Browsers */
background: /* [ReplaceColor(themeColor:"Light2-Lightest")] */ transparent;
/* For Firefox 3.6+ */
background: -moz-linear-gradient(top,
/* [ReplaceColor(themeColor:"Light2-Lightest")] */ #FEFEFB,
/* [ReplaceColor(themeColor:"Light2-Lighter")] */ #E9E9E9);
/* For WebKit (Safari, Chrome, etc.) */
background: -webkit-gradient(linear, left top, left bottom,
from(/* [ReplaceColor(themeColor:"Light2-Lightest")] */ #FEFEFB),
to(/* [ReplaceColor(themeColor:"Light2-Lighter")] */ #E9E9E9));
/* For Internet Explorer */
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,
startColorstr=/* [ReplaceColor(themeColor:"Light2-Lightest")] */ #FEFEFB,
endColorstr=/*[ReplaceColor(themeColor:"Light2-Lighter")]*/ #E9E9E9);
-ms-filter:'progid:DXImageTransform.Microsoft.gradient(GradientType=0,
startColorstr=/*[ReplaceColor(themeColor:"Light2-Lightest")]*/ #FEFEFB,
endColorstr=/*[ReplaceColor(themeColor:"Light2-Lighter")]*/ #E9E9E9)';
}
Все это прекрасно работает для стиля -ms-фильтра для IE8, кроме. Я пробовал все комбинации спасаясь цитатами и слэш и сингл против двойных кавычек, но единственным способом, которым я могу заставить его работать, чтобы удалить инструкции ReplaceColor:
.ms-wpContentDivSpace{
/* For Non-CSS3 Browsers */
background: /* [ReplaceColor(themeColor:"Light2-Lightest")] */ transparent;
/* For Firefox 3.6+ */
background: -moz-linear-gradient(top,
/* [ReplaceColor(themeColor:"Light2-Lightest")] */ #FEFEFB,
/* [ReplaceColor(themeColor:"Light2-Lighter")] */ #E9E9E9);
/* For WebKit (Safari, Chrome, etc.) */
background: -webkit-gradient(linear, left top, left bottom,
from(/* [ReplaceColor(themeColor:"Light2-Lightest")] */ #FEFEFB),
to(/* [ReplaceColor(themeColor:"Light2-Lighter")] */ #E9E9E9));
/* For Internet Explorer */
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,
startColorstr=/* [ReplaceColor(themeColor:"Light2-Lightest")] */ #FEFEFB,
endColorstr=/*[ReplaceColor(themeColor:"Light2-Lighter")]*/ #E9E9E9);
-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,
startColorstr=#FEFEFB,
endColorstr=#E9E9E9)";
}
Можно ли иметь -ms- поддержка фильтров тематических стилей?
UPDATE:
Это на самом деле работает, как ожидается, когда применяется тема. Проблема заключается в том, что когда тема не выбрана, градиент синий и сверху синий. Так что, похоже, работает до первого комментария слэш, потому что оказанная результат будет таким же, как если бы стиль не указать цвета:
-ms-filter:'progid:DXImageTransform.Microsoft.gradient(GradientType=0)';
Я не думаю, что bgximg.png будет работать. Это делает мою веб-часть похожей на радугу. Кроме того, я не думаю, что это даст мне гладкие градиенты над переменными высотами. Но позвольте мне понять, понимаю ли я эту идею: допустим, я создаю собственное изображение градиента, E9E9E9.png, которое является наполовину прозрачным и половиной моего темного цвета по умолчанию. Я мог бы сделать что-то вроде этого: background:/* [ReplaceColor (themeColor: «Light2-Lightest»)] */#FEFEFB/* [RecolorImage (themeColor: «Light2-Lighter», метод: «Tinting»)] */url ("/ _ layouts/images/myproject/E9E9E9.png") repeat-x 0 bottom; –
Lol - да, это был просто случайный пример прямо из CoreV4.CSS; Я понятия не имею, как это будет выглядеть. Но да, у вас есть идея; директива RecolorImage сообщает SharePoint «Когда вы применяете эту тему, откройте это изображение и создайте новый, основанный на этом цвете/методе». Обратите внимание, что изображения генерируются только при применении темы - поэтому, если вы пошли и обновили CSS, вам придется повторно применить тему. Не уверен, что я понимаю, что вы имеете в виду о градиентах над переменными высотами, - не могли бы вы привести пример ?. И да, я думаю, что в директивах Themes отсутствует опция «Gradient Fill» ... –