Bonjour,

Je rattache une feuille CSS à mon code html de la façon suivante :


<!doctype html>
<html lang="fr">
<head>
<title>Test de Fond</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="css/site2.css" />
</head>


Mes instructions CSS sont bien prises en compte par firefox et par IE jusqu'à la version 8, mais n'est pas prise en compte par IE 9 ou +

En faisant F12 sur IE, j'ai le message suivant : SEC7113: CSS a été ignoré à cause d’une incompatibilité de type mime

Pourtant j'ai bien codé :

<link rel="stylesheet" type="text/css" href="css/site2.css" />


Merci pour votre aide
Modifié par cyru (09 Jul 2016 - 09:12)
D'après une petite recherche, apparemment vos fichiers '.css' ne sont plus considérés comme des fichiers 'text/css'...

Si vous êtes en local, ça me parait facile à changer... si vos fichiers sont sur un serveur... moi ça me dépasse.

Bon courage !

Smiley smile
Bonsoir,

Il n'y a aucune chance pour que la déclaration `type="text/css"` soit à l'origine du problème, je pencherais plutôt pour un mauvais encodage de la feuille de style. Si ce n'est déjà fait optez pour `UTF-8 sans BOM`, ensuite on verra...
cyru a écrit :
Bonjour,
Je rattache une feuille CSS à mon code html de la façon suivante :

&lt;!doctype html&gt;
&lt;html lang="fr"&gt;
&lt;head&gt;
&lt;title&gt;Test de Fond&lt;/title&gt;
&lt;meta charset="utf-8"&gt;
&lt;link rel="stylesheet" type="text/css" href="css/site2.css" /&gt;
&lt;/head&gt;

Mes instructions CSS sont bien prises en compte par firefox et par IE jusqu'à la version 8, mais n'est pas prise en compte par IE 9 ou +
En faisant F12 sur IE, j'ai le message suivant : SEC7113: CSS a été ignoré à cause d’une incompatibilité de type mime
Pourtant j'ai bien codé :

&lt;link rel="stylesheet" type="text/css" href="css/site2.css" /&gt;

Merci pour votre aide

Deux pistes :
a) ajouter la déclaration ci-dessous au tout début de fichier CSS et s'assurer que celui-ci a bien été encodé dans le type déclaré (ex. UTF-8)
@charset <charset>;

Remplacer bien évidemment <charset> par le type d'encodage et ne pas oublier le ";" en fin de déclaration...
Plus d'info sur ce lien.
b) vérifier les entête HTTP (via les outils du navigateur / F12 onglet "réseau") pour s'assurer que les attributs "content-type" et "content-encoding" ont la bonne valeur.
Plus d'info sur ce lien.
A noter que le jeu de caractère peut être passé comme paramètre du type mime par le serveur :
Content-Type: text/css; charset=utf-8

Dans tous les cas, il est impératif de s'assurer que le contenu de la page HTML ainsi que celui de la feuille de style CSS sont bien encodés dans le type qui est spécifié...
Il ne suffit pas, en effet, de déclarer ce type. Le jeu de caractères effectivement utilisé pour stocker le flux de données doit le respecter en tout point.
En Java, la méthode est la suivante :
final Charset charset = StandardCharsets.UTF_8;
try (final ByteArrayOutputStream outputStream = new ByteArrayOutputStream())
{
   try (final OutputStreamWriter writer = new OutputStreamWriter(outputStream,charset))
   {
       writer.write(...);
   }
}

Le jeu de caractères (Charset) est explicitement passé au processus d'écriture du flux afin que toute chaîne de caractères qui y sera transmise le sera dans un encodage correct.
Bien évidemment, si on choisit UTF-8 pour le Charset, il faudra veiller à ce que la déclaration dans la page HTML et/ ou CSS soit cohérente avec ce choix.
C'est sur ce point qu'un générateur est imbattable...
En dernier recours, faire une recherche sur le web avec le code d'erreur en question... Il semble qu'il y ait plusieurs réponses pour ce type de dysfonctionnement.
Modifié par sepecat (10 Jul 2016 - 09:24)