Drupal 7 Браузер специфический CSS

Как я могу иметь CSS для браузера в Drupal 7 . Я хотел бы загрузить chrome.css, если браузер Chrome. Пожалуйста помоги

3 ответа

Решение

Вы можете сделать это в своем файле template.php с помощью заголовка темы preprocess_html и функции drupal_add_css.

Вы найдете пример в теме drupal 7, например в bartik:

// Add conditional stylesheets for IE
drupal_add_css(path_to_theme() . '/css/ie.css', array('group' => CSS_THEME, 'browsers' => array('IE' => 'lte IE 7', '!IE' => FALSE), 'preprocess' => FALSE));
drupal_add_css(path_to_theme() . '/css/ie6.css', array('group' => CSS_THEME, 'browsers' => array('IE' => 'IE 6', '!IE' => FALSE), 'preprocess' => FALSE));

Изменить: так как нет никаких условных комментариев для Chrome, вы можете проверить $_SERVER['HTTP_USER_AGENT']:

if (isset($_SERVER['HTTP_USER_AGENT'])
    && stripos($_SERVER['HTTP_USER_AGENT'], 'chrome')!==false) {
    drupal_add_css( ... );
}

Но прежде чем делать это, попробуйте исправить ваши правила CSS!

Я рекомендую использовать модуль условных стилей

Internet Explorer реализует запатентованную технологию условных комментариев. Хотя веб-разработчики недовольны технологиями, которые не поддерживаются в разных браузерах, многие разработчики CSS считают условные комментарии очень полезными. Они могут иметь более чистый CSS в своих обычных таблицах стилей и могут исправить некорректный рендеринг в IE, поместив CSS только для IE в условные комментарии; эта техника даже рекомендована Microsoft. Без этого модуля единственный способ иметь условные таблицы стилей IE- это добавить 37 строк кода (больше, если вы хотите добавить более одной таблицы стилей) в четырех ужасно трудных для запоминания вызовах функций в template.php вашей темы. Blech. Кто этого хочет?

Я согласен с предыдущими ораторами: вам следует постараться изменить свой css, чтобы он не нуждался в коде, специфичном для браузера, но если вам действительно нужно ориентироваться на браузеры Webkit (Chrome и Safari), вы можете взглянуть на это решение:

http://www.evotech.net/blog/2010/04/hack-for-webkit-filter-for-chrome-and-safari/

Это не является специфическим для Drupal, но так общепринятым способом нацеливания webkit, в случае чрезвычайной ситуации.

Другие вопросы по тегам