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, в случае чрезвычайной ситуации.