Ajouter une feuille de style pour un navigateur donné

Référence en anglais sur drupal.org : http://drupal.org/node/744328
16 Mars 2010 - 21h25


Vous pouvez ajouter une feuille de style pour un navigateur donné.

Drupal 6

Dans le fichier page.tpl.php de Garland :

<?php
...
<?
php print $styles ? >
<!--[if 
lt IE 7]>
  <?
php print phptemplate_get_ie_styles(); ? >
<![endif]-->
...
?>

Dans le fichier template.php de Garland :

<?php
...
function 
phptemplate_get_ie_styles() {
  global 
$language;

  
$iecss '<link type="text/css" rel="stylesheet" media="all" href="'base_path() . path_to_theme() .'/fix-ie.css" />';
  if (
$language->direction == LANGUAGE_RTL) {
    
$iecss .= '<style type="text/css" media="all">@import "'base_path() . path_to_theme() .'/fix-ie-rtl.css";</style>';
  }

  return 
$iecss;
}
...
?>

Drupal 7

Drupal 7 apporte la possibilité de spécifier une clé « navigateur » quand vous appelez drupal_add_css() :

Dans le fichier template.php de Garland :

<?php
...
function 
garland_preprocess_html(&$vars) {
  ...
  
drupal_add_css(path_to_theme() . '/fix-ie.css', array('weight' => CSS_THEME'browsers' => array('IE' => 'lt IE 7''!IE' => FALSE), 'preprocess' => FALSE));
}
...
?>

Consultez la documentation de l'API pour drupal_pre_render_conditional_comments() au sujet des détails des clés IE et !IE.

Il est conseillé que le thèmes utilisent toujours drupal_add_css() pour ajouter des feuilles de style CSS, le code Drupal connaît ainsi le nombre exact de feuilles de style ajoutées. Une donnée qui peut être nécessaire lorsqu'on approche des limites d'Internet Explorer qui ne peut charger que les 31 premières balises LINK/STYLE.

Commentaires

Poster un nouveau commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <css>, <php>, <html>, <ccss>, <ccss>, <drupal5>, <drupal6>, <html>, <javascript>, <php>. Beside the tag style "<foo>" it is also possible to use "[foo]".
  • You may use [view:viewname] tags to display listings of nodes.

Plus d'informations sur les options de formatage

CAPTCHA
Cette question permet d'éviter le spam :
3 + 4 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.