2011-05-04 79 views
2

我如何在Drupal 7中有瀏覽器特定的CSS。如果瀏覽器是Chrome,我想加載chrome.css。請幫助Drupal 7瀏覽器特定的css

+0

除IE <9外,您還需要什麼樣的瀏覽器樣式表? – Spudley 2011-05-04 12:26:18

+0

@Spudley:我真的需要瀏覽器專用的css只有鉻 – JAB 2011-05-04 12:29:09

+0

嗎?什麼特別的功能? – Spudley 2011-05-04 12:35:17

回答

8

您可以在您的template.php文件中使用preprocess_html主題鉤子和drupal_add_css函數執行此操作。

您將在bartik發現例如在Drupal 7主題,例如:

// 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)); 

編輯:由於沒有條件註釋鉻,你可以檢查$ _ SERVER [ 'HTTP_USER_AGENT']:

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

但在此之前,嘗試修復你的CSS規則

+1

但是就像Spudley說的那樣,在做這個之前你應該嘗試**修復你的css規則**。 – soju 2011-05-04 12:57:37

+0

它爲IE添加了條件CSS我如何做鉻? – JAB 2011-05-04 12:59:48

+1

那麼,因爲沒有條件評論鉻,你只需要檢查$ _SERVER ['HTTP_USER_AGENT'] – soju 2011-05-04 13:10:09

1

我建議使用Conditional Stylesheets module

Internet Explorer中實現了一個名爲 條件註釋專有技術。儘管網絡開發人員對技術 不支持跨瀏覽器支持,但許多CSS開發人員發現 條件註釋非常有用。他們可以在他們的 正常樣式表中使用更乾淨的CSS,並且可以通過將 IE-only CSS置於條件註釋中來修復IE中損壞的呈現;這種技術甚至是由Microsoft推薦的 。 如果沒有這個模塊,IE條件樣式表 的唯一方法是在四個難以記憶的函數調用 您的主題模板中添加37行代碼(如果您想添加多個 樣式表,請更多) .PHP。布萊什。誰想要那個?