28173 sujets

CSS et mise en forme, CSS3

Bonsoir .
Pour la mise à jour de mon site (ajout de pages) j'ai opté pour l'encodage direct en utf-8 dans mon éditeur html ..
En effet ainsi mes pages sont plus lisibles dans l'éditeur et le web et il n y a plus d 'ambiguité .
Bref j'édite mes nouvelles pages et le nouvel entéte ,je passe la validation w3c ,je teste sous linux : firefox et konqueror ...IMPECCABLE .
Upload FTP ,je dors sour mes deux oreilles .
Hier je teste pour voir sur Windows/IE et patatras , mes css sont complétement "zappé" , je vous laisse imaginer la mise en page ....Pas de probléme avec Windows/Firefox par contre.
J ai alors bien cherché une erreur dans le code de cces pages et il n y en a pas ...toutes les pages chaotiques ont un seul point commun :une entéte UTF8 'y compris certaines vieilles remaniées dans la méme session .
Autre précision : il n y a aucun accent dans mes css (uniquement dans mon texte) !!!
A tout hasard j ' ai réédité mes pages css avec la nouvelle configuration d ' éditeur ..sans résultat .

Si quelqu un a une idée pour me sortir de la ?
Ah au fait tout rentre dans l ordre lorsque je force l' affichage en Iencodage iSO dans IE.
Lien vers une de mes pages déjantées :
http://yvesperso.ouvaton.org/galeries/galerie09.htm
Modifié par yves (04 Nov 2006 - 18:00)
Bonsoir,

Je trouve étrange l'espace à la fin de certains de tes attributs class :
<div class="haut "   >
<div class="bas " >
mais c'est peu probable que le problème vienne de là...
Non ce n'est pas ça ....comme tu le supposais .
Les pages qui fonctionnent ont d ailleurs la même petite faute " " .
Merci quand même .
Bonjour.

Les encodages ascii et utf-8 sont sont souvent en concurrence à toutes les étapes de la chaîne de traitement du texte des pages.

Généralement, les feuilles css sont codées en ascii, rarement en utf-8. Le serveur, (apache ou autre) est normalement configuré pour servir les différents contenus en fonction de son paramétrage.

Des problèmes peuvent survenir quand la feuille css est codée utf-8 avec BOM, et servie comme ascii. Le navigateur recevant cette feuille de style précédée de caractères spéciaux, peut décider de ne pas la prendre en compte.

Le problème va se résoudre si le serveur jour "franc jeu" et indique dans l'en-tête html l'encodage réel du contenu. Avec apache, ceci est réalisé en renseignant un fichier ".htaccess" placé à la racine du site.
Les directives du fichier sont valable dans le répertoire et dans les sous-répertoires tant que le serveur ne trouve pas d'autres fichiers .htaccess.


# exemple de contenu de fichier .htaccess
AddType 'text/html; charset=UTF-8' html
AddType 'text/html; charset=UTF-8' htm
AddType 'text/html; charset=UTF-8' css


Comme vous utilisez des extensions htm il est judicieux de les déclarer dans ce fichier .htaccess avec l'encodage désiré.

Notez qu'avec cette méthode, vous pourriez tout à fait faire cohabiter de l'utf-8 avec de l'iso, en associant les extensions à deux encodages différents :


AddType 'text/html; charset=UTF-8' html
AddType 'text/html; charset=ISO-8859-1' htm


Avec une telle configuration, les fichiers à l'extension html seraient servi en utf-8, et les fichier htm en iso-8859-1...

Vous pouvez expérimenter ces notions en créant un répertoire sur votre serveu, en y plaçant un fichier .htaccess de configuration par extension.


# Configuration expérimentale
# Les fichiers texte avec l'extension iso, en ascii
AddType 'text/html; charset=ISO-8859-1' iso
# Les fichiers texte avec l'extension utf8 en utf-8
AddType 'text/html; charset=UTF-8' utf8


Avec un éditeur de texte contrôlant l'encodage, créez deux fichiers test.iso et test.utf8, et placez-y des caractères accentués. Ouvrez ces fichiers avec votre navigateur, et vous constaterez que vous avez pris le contrôle de l'affichage, par exemple en déclarant iso ce qui est effectivement codé en ascii, ou en déclenchant l'erreur en recodant de fichier en utf-8...

Pour conclure :
Comme les fichiers css sont des fichiers texte, si vous décidez de les coder en utf-8, alors déclarez-le à votre serveur apache.

Note : les synaxes .htaccess présentées içi sont valable pour apache. Pour les serveur windows, je ne sais pas.
Bien les .htaccess fonctionnent bien mais ne résolvent pas le probléme d IE .
En fait j'ai du copier-coller tous mes styles css avec la nouvelle configuration de mon éditeur (Quanta) qui génére de l utf-8 .
Puis éliminer/remplacer tous "petits rectangles' correspondants à des caractéres non identifiés .*En fait aucun mot clé CSS n'était concerné mais apparemment IE bloquait sur ces caractéres qui étaient dans des commentaires ...
IE Intransigeant ou stupide ?

PS:je me suis encore aperçu de probléme généré par les caches des navigateurs ....qui cachent ....les modifications apportées par le webmestre au webmestre .
ça aussi devrait figurer en gros quelque part sur le site :

CONFIGURER SES NAVIGATEURS AVEC UN CACHE MINIMUM OU NUL SI POSSIBLE AVANT TOUT TEST LOCAL .

pour les étourdis comme moi