如何在Drupal7中使用特定于浏览器的css?我想加载chrome.css,如果浏览器是铬。请帮帮忙
发布于 2011-05-04 20:51:22
您可以使用preprocess_html主题挂钩和drupal_add_css函数在template.php文件中完成此操作。
您可以在Drupal7主题中找到示例,例如在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规则!
发布于 2012-11-30 11:29:44
我推荐使用Conditional Stylesheets module
Internet Explorer实现了一种称为条件注释的专有技术。虽然web开发人员对不支持跨浏览器的技术不屑一顾,但许多CSS开发人员发现条件注释非常有用。他们可以在正常的样式表中使用更干净的CSS,并可以通过在条件注释中放置仅限IE的CSS来修复IE中损坏的呈现;Microsoft甚至推荐使用这种技术。如果没有这个模块,拥有IE条件样式表的唯一方法是在主题的template.php中添加37行代码(如果您想添加多个样式表,则更多),这四个函数调用非常难以记住。布莱奇。谁想要这样?
发布于 2011-05-05 12:46:11
我同意前面的演讲者的观点,你绝对应该尝试改变你的css,这样就不需要特定于浏览器的代码了,但是如果你真的需要针对Webkit浏览器(Chrome和Safari),你可以看看这个解决方案:
http://www.evotech.net/blog/2010/04/hack-for-webkit-filter-for-chrome-and-safari/
它不是特定于Drupal的,而是一种在紧急情况下针对webkit的一般接受方式。
https://stackoverflow.com/questions/5883140
复制相似问题