classes multiples et Internet Explorer ?

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par ortolojf, 2 Octobre 2012.

  1. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 061
    J'aime reçus:
    12
    Bonjour

    J'ai un fichier de style css, qui peut très certainement être simplifié, particulièrement en utilisant des classes multiples.

    Par exemple :

    Code:
    
      div.generic_class { /* Eléments communs à cette classe "générique" */ }
    
      div.generic_class.specific_class_1 { /* Eléments particuliers à cette sous-classe */ }
    
      div.generic_class.specific_class_2 { /* Eléments particuliers à cette sous-classe */ }
    
    

    Evidemment, generic_class et les specific_class, ne sont pas des termes connus en css, ce sont simplement des noms de classe.

    En (X)HTML, on aurait :

    <div class="generic_class specific_class_1">

    et

    <div class="generic_class specific_class_2">

    Ceci, pour mettre les éléments communs à ces deux <div , dans generic_class , puis les éléments particuliers dans les classes spécifiques, pour économiser l'espace fichier.

    C'est ce que je compte faire, dans mon fichier style.css , c'est-à-dire rajouter des classes "génériques", et puis supprimer des classes actuelles, les éléments communs ( celà m'économiserait de la place ).

    Cependant, cette technique des classes multiples, n'est pas reconnue par Internet Explorer, qui à ce que je sais, n'interprète que la première ou la dernières de plusieurs classes pour la même balise html rencontrée.

    J'ai déjà mis dans toutes mes pages, des commentaires conditionnels en fonction du type du navigateur ( IE6 ou non ).

    Deux problèmes :

    - Quelles sont les versions de IE impactées par ce problème d'interprétation des classes multiples ?

    - La classe reconnue par IE, est-elle la première, ou la dernière classe de plusieurs classes d'une balise html ?

    Merci beaucoup de vos réponses.

    Bien amicalement.

    Jean François Ortolo


    .
     
  2. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 887
    J'aime reçus:
    74
    Tu as une source à ce sujet ? Première fois que j'entends dire ça.
     
  3. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 061
    J'aime reçus:
    12

    Bonjour usagiYojimbo ;)

    En fait, celà est confirmé par tous les sites traitant de ce problème des multiples classes css sous IE.

    Je viens d'obtenir les informations demandées :

    - Versions de IE impactées : < 7

    - Versions de IE non impactées : >=7 en mode "non quirk".

    - Dans ce cas, la seule classe prise en compte par IE 5 ou IE 6, est la dernière classe figurant dans les classes multiples d'une balise html.

    Donc, voici le code html de commentaires conditionnels pour le choix des deux feuilles de style, suivant le type et la version du navigateur :

    Code:
    
    <!--[if !IE]><!-->
      <link rel="stylesheet" type="text/css" href="/style.css" />
    <!--<![endif]-->
    <!--[if lt IE 7]>
      <link rel="stylesheet" type="text/css" href="/ie_5_6_style.css" />
    <![endif]-->
    <!--[if ge IE 7]>
      <link rel="stylesheet" type="text/css" href="/style.css" />
    <![endif]-->
    
    
    
    La première déclaration, n'est interprétée que si le navigateur est bien Internet Explorer, sinon elle sélectionne la feuille de style par défaut style.css

    Les deux autres déclarations, sélectionnent la feuille de style correcte ( par défaut ou spoécifique à IE < 7 ).

    Pour le reste,c'est de la programmation css classique.

    Celà dit, j'ai fait une erreur en modifiant cete déclaration des feuilles de style dans mon site, je vais corriger celà de suite. ;)

    Bien amicalement.

    Jean François Ortolo
     
  4. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 887
    J'aime reçus:
    74
    Je ne fais plus de dev à proprement parler, et dans ma précédente expérience pro, nous avions de toutes façons pris pour habitude de ne pas nous engager sur une compatibilité à IE6.
     
  5. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 061
    J'aime reçus:
    12
    Bonjour Monsieur

    De mon côté, je suis Allocataire Adulte Handicapé, pas forcé de travailler, ce qui serait très risqué, vu la propension de l'ANPE à radier les usagers.

    Et surtout, vu le problème du calcul des allocs suivant les revenus imposables.

    Sinon, mon site serait payant depuis longtemps. ;)

    Je vais monter le week end prochain, un nouvel ordinateur, un AMD FX 6200 et CM ASUS M597 EVO, fait pour durer.

    Mon ordi actuel, date de 5 ans à peu près... ;)

    Je suis en train, de modifier les scripts de mon site, pour faire des "classes css génériques", qui comporteront le maximum de propriétés associées à chaque balises.

    Les classes spécifiques, ne comporteront que les propriétés spécifiques à chaque pages et balises.

    Merci beaucoup de ta réponse.

    Bien amicalement.

    Jean François Ortolo
     
  6. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 887
    J'aime reçus:
    74
    Qu'en est-il du trafic sur ton site en provenance d'internautes dont les configurations utilisent encore IE6 ? Parce qu'il n'y a qu'à ce niveau que tu saura si ça vaut la peine ou non de tout faire pour maintenir la compatibilité descendante sur cette version.
     
  7. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 061
    J'aime reçus:
    12

    Bonjour Monsieur

    Effectivement.

    Plus exactement, je laisserai le fichier ie6_style.css tout frais copié de style.css ( en cours de modifications sur mon ordi ), et ce fichier ie6_style.css est un modèle du genre en matière d'usine à gaz... ;(

    Actuellement, j'ai un problème avec ce fichier style.css :

    Le fichier .htaccess, fait une redirection de tout ce qui est fichier *.css , vers le script PHP /ctyle.php?file=$1

    Voici ce que contient ce script ctyle.php :

    Code:
    
    <?php
    ob_start("ob_gzhandler");
    session_cache_limiter(false);
    $offset = 60 * 60 * 3;
    $ExpStr = "Expires: " . gmdate("D, d M H:i:s", time() + $offset) . " GMT";
    $file = isset($_GET['file']) ? $_GET['file'] : null;
    switch($file) {
    case 'style.css' :
    case 'imprimante.css' :
    header("Content-type: text/css; charset: ISO-8859-1");
    header("Cache-Control: must-revalidate");
    header($ExpStr);
    include($file);
    break;
    }
    ob_end_flush();
    ?>
    
    
    Théoriquement, les appels aux scripts *.css , devraient être mis en cache par le navigateur.

    Cependant, je m'aperçois en regardant les ficheirs les plus téléchargés sur mon site, que style.css est parmi les plus téléchargés.

    Est-ce que vous pourriez me dire, si cette technique, met effectivement en cache, les fichiers *.css ?

    Il va sans dire, que cette redirection des scripts *.css vers ce script PHP, est de type 302.

    Merci beaucoup de m'indiquer s'il y a un problème dans le script ctyle.php ?

    Bien amicalement.

    Jean François Ortolo
     
Chargement...
Similar Threads - classes multiples Internet Forum Date
Problème hiérarchie de classes php. Développement d'un site Web ou d'une appli mobile 9 Janvier 2018
dépendances entre plusieurs classes en chaîne. Développement d'un site Web ou d'une appli mobile 11 Août 2017
Quelles classes et gas pour mon ndd ? Droit du web (juridique, fiscalité...) 10 Février 2016
JAVASCRIPT, concaténation de classes? Développement d'un site Web ou d'une appli mobile 29 Novembre 2015
Qrank pour une liste d'anuaires bien classés Annuaires et moteurs 21 Juin 2015
Mails envoyés depuis mon domaine classés comme SPAMs Administration d'un site Web 18 Janvier 2015
pleins de sites déclassés sur la meme page Problèmes de référencement spécifiques à vos sites 8 Juillet 2013
inpi : où sont mes classes Droit du web (juridique, fiscalité...) 26 Avril 2013
Google promet plus de transparence pour le réexamen des sites déclassés Référencement Google 20 Septembre 2011
[HTML/CSS] Conflit de noms : ids et classes uniques Développement d'un site Web ou d'une appli mobile 17 Mars 2011
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice