VS2010 Изменение таблицы стилей на основе браузера - PullRequest
1 голос
/ 23 июля 2010

В Visual Studio 2010 есть ли способ изменить каскадную таблицу стилей на стороне сервера на основе клиентского браузера?Я хочу создать разные таблицы стилей для разных браузеров (Firefox, Chrome, IE, Opera, Safari и т. Д.) И указать, какую из них использовать на главной странице.

Ответы [ 3 ]

2 голосов
/ 27 июля 2011

Я согласен с КП;использовать одну таблицу стилей.Если вы используете modernizr [sic], то вы можете очень просто создавать стили для разных браузеров, например:

someContainer {
   /* standards based CSS */
}

someContainer.ie6 {
   /* special CSS for IE6 */ 
}

Я предлагаю использовать новую HTML5 Boilerplate, которая включает modernizr.Вы будете рады, что сделали!

Проверьте ссылки ниже и не оглядывайтесь назад.:)

Ссылка на Boilerplate для HTML5

Ссылка на Modernizr - ослабьте хаос!

Приветствия

1 голос
/ 23 июля 2010

Вот хорошая статья об определении типа браузера в asp.net:

http://msdn.microsoft.com/en-us/library/3yekbd5b.aspx

Как только вы определите тип браузера с помощью, например, оператора switch на HttpContext.Current.Request.Browser.Type, вы можете легко вставить ссылку css на страницу с кодом, таким как:

HtmlLink cssLink = new HtmlLink();
cssLink.Attributes["type"] = "text/css";
cssLink.Attributes["rel"] = "stylesheet";

switch(HttpContext.Current.Request.Browser.Type)
{
    Case "Firefox":
        //use a certain path depending on browser type
        cssLink.Attributes["href"] = "firefox.css"; 
        break;
    Case "Internet Explorer"
        cssLink.Attributes["href"] = "IE.css";
        break;

    //and so on

}

Page.Header.Controls.Add(cssLink);

Я не знаю, какие фактические строковые значения Browser.Type будут для каждого браузера. Вы должны проверить.

Даже с учетом вышесказанного, я все равно рекомендую использовать одну таблицу стилей для всех браузеров. Приложив немного усилий, вы можете сделать страницу почти одинаковой во всех основных браузерах.

Сначала я бы порекомендовал начать с CSS-файла сброса, такого как YUI 2 Reset или YUI 3 Reset . Оттуда большинство стилей будут хорошо и последовательно применяться во всех браузерах. После сброса всех стилей по умолчанию вы можете создавать свои стили с полным контролем.

0 голосов
/ 23 июля 2010

Не уверен, что я полностью следую, но вы можете указать это в папке App_browsers вашего проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...