28172 sujets

CSS et mise en forme, CSS3

Bonjour,

J'ai fait plusieurs recherches sur ce sujet, mais rien de vraiment convainquant. Je travail actuellement sur un squelette pour SPIP et j'édite le code sous Bluefish. Lorsque je teste mon site (sous Firefox 2), tout s'affiche correctement, et lorsque je teste sous Opera ou Safari sur mon Mac, même chose à quelques bugs prêts (placement de bloc, mais rien d'alarmant)...

Par contre sous IE 6 ou 7, il ignore tout simplement la feuille de style... Est-ce que quelqu'un sait pourquoi ?

Voici l'adresse : http://fengshui.portes-imaginaire.org

Pour information, j'édite aussi les feuilles de style sous Bluefish et je les encode en UTF-8, et en en-tête il y a un
@charset "UTF-8";


Je pense que le problème vient de là, j'ai essayer de les ouvrir avec Notepad++ sous Windows (ah beurk, ça me brûle les doigt) mais il m'indique que l'encodage est en ANSI/DOS ???
Modifié par garthh (16 Feb 2008 - 20:47)
Ouvre ton fichier sous Notepad++, sélectionne Format > Encoder en UTF-8 (sans BOM), enregistre et essaie.

Soit dit en passant, as-tu vraiment besoin de coder ton fichier CSS en UTF-8 ? Si tu n'utilises pas la propriété content avec des chaînes contenant des caractères spéciaux, comme
ul:before { content: "Vous êtes dans la liste non ordonnée suivante"; }
ou si tes pages HTML ne sont pas codées en UTF-8, ce n'est pas la peine de déclarer la règle @charset.
Modifié par Victor BRITO (16 Feb 2008 - 19:02)
Je ne crois pas que l'encodage joue un rôle ici. Je regarderais plutôt du côté de la syntaxe utilisé pour l'attribut media des éléments link, et pour les règles @import.
Il y a certaines syntaxes valides qui «filtrent» certaines versions d'IE (ou d'autre navigateurs d'ailleurs).

Plus globalement:
1. virer le prologue XML (fait passer IE en mode Quirks);
2. vérifier la validité du code HTML;
3. vérifier la validité du code CSS.
Victor BRITO a écrit :
Ouvre ton fichier sous Notepad++, sélectionne Format > Encoder en UTF-8 (sans BOM), enregistre et essaie.

Soit dit en passant, as-tu vraiment besoin de coder ton fichier CSS en UTF-8 ? Si tu n'utilises pas la propriété content avec des chaînes contenant des caractères spéciaux, comme
ul:before { content: "Vous êtes dans la liste non ordonnée suivante"; }
ou si tes pages HTML ne sont pas codées en UTF-8, ce n'est pas la peine de déclarer la règle @charset.


J'encode en UTF-8 parce que c'est le jeu d'encodage par défaut sous Linux et sous Bluefish.

Ce qui m'intrigue, c'est qu'entre la version ici : http://isi.sci-ing.fr et la version là : http://fengshui.portes-imaginaire.org je n'ai quasiment rien changé excepté le logiciel d'édition de page Web (Smultron - MacOS à Bluefish - Linux).

J'appelle la feuille de cette manière :

<link rel="stylesheet" href="oroboros/habillage.css" type="text/css" media="projection, screen, tv" />


Puis dans cette feuille, je fais le lien vers le dossier "habillage" >

@import url("/habillage/habillage.css");


Qui m'ouvre ensuite les feuilles (à l'aide de @import) d'habillage des pages et des raccourcis spip.

Pourquoi Opera, Safari, Firefox, Konqueror, Epiphany m'affichent la page correctement et que IE6 (ça c'est normal) et IE7 (mais là moins) m'envoient pété ?
Bonsoir,

Que de bruit pour un doctype mal écrit immédiatement signalé par le validateur HTML... (un guillement simple ouvrant mais des guillemets doubles fermant)
Modifié par Laurent Denis (16 Feb 2008 - 20:28)