5568 sujets

Sémantique web et HTML

Bonjour,

J'ai voulu séparer mes fichier css comme suis:
- commun.css
- commun-admin.css
- style-photo-flip.css
- onglet.css
- autre.css
- ie.css
Et ces feuilles de style sont inclue comme suis :

<link rel="stylesheet" media="screen" type="text/css" title="Sejourengroupe.com" href="./css/commun.css" />
        <link rel="stylesheet" media="screen" type="text/css" title="Sejourengroupe.com" href="./css/commun-admin.css" />
        <link rel="stylesheet" media="screen" type="text/css" title="Sejourengroupe.com" href="./css/style-photo-flip.css" />
        <link rel="stylesheet" media="screen" type="text/css" title="Sejourengroupe.com" href="./css/onglet.css" />
        <!--[if IE ]>
        <link rel="stylesheet" type="text/css" title="Sejourengroupe.com" href="./css/ie.css" />
        <![endif]-->

        
        <!--[if !IE ]>
        <link rel="stylesheet" type="text/css" title="Sejourengroupe.com" href="./css/autre.css" />
        <![endif]-->

Et mon problème c'est que sur les autres (chrome en l'occurrence) j'ai des petits souci d'affichage que je vais résoudre sans trop de problème mais sous IE j'ai juste ça qui s'affiche :
<!['endif']-->
Et quand je regarde le code source de la page il n'y à pas de "fuite de commentaire", tout le code est là, coloré correctement, seul les deux if dans le header sont coloré en commentaire.
t autre chose, d'ou est ce que ie sort les ' dans ma balise endif? Ils n sont pas dans mon code mais ils sont dans le code source de ie...

Help me if you can ! Smiley ohwell

Romain.
Hello Main Mich et bienvenue, Smiley smile

il n'y a pas de raison qu'IE te rajoute des quotes : quel éditeur utilises-tu ?

Quoi qu'il en soit tu n'utilises pas correctement les commentaires conditionnels. Smiley cligne

Le principe est d'avoir une feuille de style générale pour tous les navigateurs "modernes" (qui sont, à part quelques bugs mineurs, respectueux des standards) et ne rajouter dans ta feuille spécifique que les correctifs pour IE < 8 (puisque IE8 implémente "correctement" les CSS 2.1). Cela permet de ne s'occuper que des styles qui posent problème et évite d'avoir à recopier tous les autres styles ce qui est inutile et complique méchamment la maintenance.
D'autre part et comme sous-entendu ci-dessus il ne faut pas cibler toutes les versions d'IE puisque c'est OK pour IE8 et on peut même espérer que ce sera encore plus OK pour IE9 (avec l'implémentation des CSS 3).

Petit détail en passant il ne faut pas utiliser l'attribut title de l'élément LINK pusqu'il a une fonction bien particulière dans ce cas.

Donc au final tu devrais avoir quelque chose comme :
<link rel="stylesheet" media="screen" type="text/css" href="./css/autre.css" />
<!--[if lte IE 6]> 
<link rel="stylesheet" type="text/css" href="./css/ie.css" /> 
<![endif]-->
(avec beaucoup moins de styles dans ie.css qui vont écraser les déclarations précédentes).
Modifié par Heyoan (23 Aug 2010 - 10:56)
Administrateur
Bonjour et bienvenue, Smiley smile

il y a un(e) espace avant le crochet fermant du if : est-ce volontaire ?