28220 sujets

CSS et mise en forme, CSS3

Une question d'un client :

Ils utilisent le CMS Infoglue pour gérer leur site. Ils voudraient pouvoir gèrer leur css via ce systeme. Donc l'url du fichier est assez... complexe :


<link rel="stylesheet" type="text/css" href="http://bebrw182:80/infoglueDeliverWorkingcik/ViewPage.action?siteNodeId=123&languageId=5&contentId=-1" />


Ca marche dans IE, mais pas dans Firefox, apparement il ne trouve pas le fichier. Si on enlève le doctype (XHTML 1.0 Strict), il le trouve, mais évidemment ce n'est pas une solution.

Si on ouvre l'url de la feuille de style dans le navigateur, il l'affiche sans problème.

J'ai essayé avec un fichier css sans extention, par exemple :

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

...et là ça marche dans Firefox, donc je ne comprend pas d'où pourrait venir leur problème
Modifié par cedb3 (25 Mar 2005 - 12:41)
"ViewPage.action?siteNodeId=123&languageId=5&contentId=-1"

c'est quoi ce lien chelou ???

as tu fais validé par le x3c validator ?
Modifié par nemohp (25 Mar 2005 - 10:47)
nemohp a écrit :
"ViewPage.action?siteNodeId=123&languageId=5&contentId=-1"

c'est quoi ce lien chelou ???



C'est un CMS, donc chaque fichier a une url de ce type.
Question à 1000$ : le fichier css, quelque-soit son url bizarroïde, est-il bien servi avec le type mime requis, c'est à dire text/css (et pas text/plain ou text/html ou brocolis/zorglub) ?

<edit> Pour préciser :
Firefox est très strict en mode strict ( Smiley cligne ) sur les types de contenu CSS. Et le propre de ces CMS à bidouille est justement de générer des CSS typées au petit bonheur la chance. C'est un classique, à vrai dire.
Modifié par Laurent Denis (25 Mar 2005 - 11:19)
as tu fais validé par le w3c validator la css ?

et a tu essayé en faisant @import du css ?

  <style type="text/css">
      @import url(./css/style.css);
  </style>

Modifié par nemohp (25 Mar 2005 - 11:03)
Laurent Denis a écrit :

Firefox est très strict en mode strict ( Smiley cligne ) sur les types de contenu CSS. Et le propre de ces CMS à bidouille est justement de générer des CSS typées au petit bonheur la chance. C'est un classique, à vrai dire.


Non non, ici j'ai fait le site en html, et le client intègre ça dans son CMS, mais sans modifier l'html, juste en ajoutant des tags spécifiques à ce CMS.

Voilà le site html, là pas de problème. (à part que c'est moche, mais bon, les goûts des clients, hum...)
Modifié par cedb3 (25 Mar 2005 - 11:31)
Je recommence, car le message n'est pas passé, étant un peu trop concis :

Le fait que tu aies fourni une CSS en bonne et due forme qui marche sur ton site temporaire et sur ton propre serveur n'a aucune importance ici. C'est le serveur de ton client qui détermine quel en-tête HTTP content-type il joint au fichier CSS. C'est lui qu'il faut regarder faire, car c'est là que se situe probablement le blême.
Modifié par Laurent Denis (25 Mar 2005 - 11:38)
Bonjour,

Il me semble que j'ai le même genre de problème sur cette page.

J'utilse un DTD XTML 1.0 Strict et une règle import CSS2 pour cacher la feuille de style aux anciens navigateurs 4.x :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
<head>
<style type="text/css">
@import url(css/melouvert.css);
</style>
</head>


Le problème viendrait du serveur si je comprends bien la réponse de Laurent Denis.
Quelles sont les modifs à apporter pour résoudre ce problème.

Merci pour vos réponses.
En effet, ton serveur adresse la feuille de style en lui donnant un type de contenu incorrect (application/x-pointplus).

Il faut modifier la configuration du CMS pour rétablir le type "text/css" . Sans connaître le CMS, il est difficile de t'en dire plus.

<edit>Solution brutale, si le fichier CSS est géré via PHP par le CMS : forcer l'en-tête HTTP qui va bien :
 header("Content-type: text/css; charset=ISO-8859-1");


(charset à adapter selon celui de la CSS, c'est à dire a priori celui des pages HTML)
Modifié par Laurent Denis (06 Jul 2005 - 19:32)
Merci pour ta réponse Laurent, je n'avais pas précisé que je n'utilise aucun CMS particulier pour la page en question. J'en profite pour compléter ta réponse avec ceux qui auraient un serveur web apache mal configuré :

a écrit :
Il arrive parfois que, malgré les droits correctement définis, Apache envoie les feuilles de style CSS avec le type MIME text/plain au lieu de text/css. Ce comportement ne pose généralement pas de problèmes, sauf quand le DOCTYPE de la page est XHTML 1.0 Strict... Pour corriger ceci, éditez de types mime dans le dossier des fichiers de configuration d'Apache, et ajoutez à la fin de ce fichier la ligne suivante :

text/css css

Redémarrez Apache, puis forcez votre navigateur à rafraîchir complètement la page HTML (CTRL+SHIFT+R avec Mozilla).


source
Modifié par DirtyF (07 Jul 2005 - 15:04)