Я предполагаю, что мастер-страницы 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 в элементе управления aspx SharePoint.
<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
в файлах таблиц стилей, т. Е.