Я предполагаю, что главные страницы SharePoint аналогичны страницам в ASP.NET (MVC). Поэтому это вообще не должно быть проблемой.
<!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
<!--[if IE 7 ]> <html class="ie7"> <![endif]-->
<!--[if IE 8 ]> <html class="ie8"> <![endif]-->
<!--[if IE 9 ]> <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html> <!--<![endif]-->
Все, что делает предыдущий код, — это установка тега HTML с другим классом CSS в теге HTML в зависимости от того, какой браузер обращается к сайту. Так что вы можете переопределить некоторые таблицы стилей для любого браузера (IE).
site.css
.coloredBackground
{
background-color: #FF0000; //red
}
.ie6 .coloredBackground
{
background-color: #00FF00; //green
}
.ie8 .coloredBackground
{
background-color: #0000FF; //blue
}
В этом примере пользователи, использующие Firefox, Opera, Safari, IE7,9,10, увидят красный фон. В IE6 цвет фона заменяется зеленым, а в IE8 — синим.
Ваша регистрация CSS будет выглядеть следующим образом:
<SharePoint:CSSRegistration Name="site.css" runat="server" />
Как видите, больше нет необходимости задавать ConditionalExpression при регистрации CSS, потому что вы уже переключаете используемую таблицу стилей, устанавливая определенный класс для элемента HTML.
Обновление:
Другой возможностью может быть включение другого файла таблицы стилей в зависимости от версии браузера с помощью свойства ConditionalExpression в элементе управления SharePoint aspx.
<SharePoint:CSSRegistration Name="ie6.css" ConditionalExpression="lt IE 7" runat="server" />
<SharePoint:CSSRegistration Name="ie7.css" ConditionalExpression="IE 7" runat="server" />
<SharePoint:CSSRegistration Name="ie8.css" ConditionalExpression="IE 8" runat="server" />
<SharePoint:CSSRegistration Name="ie9.css" ConditionalExpression="IE 9" runat="server" />
Недостатком является то, что вы можете получить проблемы с приоритетом CSS, потому что класс .ie*
отсутствует в элементе html и, следовательно, не отменяет класс .class-to-override-if-specific-ie-version
. Вы можете решить эту проблему, используя правило !important
в т.е. конкретных файлах таблиц стилей.
person
Diemo
schedule
31.07.2011