28172 sujets

CSS et mise en forme, CSS3

Bonjour, voilà j'ai un problème.

Un site html 4.01 avec un doctype faux est interprété avec les normes Quirks par les navigateurs.
Nous sommes en train de passer nos pages en xhtml lorsque c'est possible. seulement voilà la CSS est identique pour les pages html et xhtml (interprété Quirks et standard) le nombre de pages sur le site web est impossible à modifier en un coup (compter plus de 2ans pour la période de transition Smiley biggol ) comment faire.

idée1:
n'est il pas possible de forcer le mode quirks ou forcer le mode normal indépendamment du doctype (js, html..)

idée2:
existe t'il une solution css pour que notre css prenne en compte automatiquement les bonnes données en fonction des balises si les 2 sont présentes sur la page css.

sinon avez vous une autre idée? (nous ne voudrions avoir qu'un seul lien à la page css)

encore merci Smiley sweatdrop
Modifié par fidji_florian (02 Apr 2009 - 17:41)
La seule solution : ne pas mettre de doctype du tout.

C'est un peu bourrin mais si tu n'as qu'une css...

Sinon pour forcer le quirks mode dans IE (impossible dans les autres navigateurs)
dans IE6 : tu mets un saut à la ligne avant le doctype
dans ie7 : tu fais un commentaire + passage à la ligne entre le doctype et <html ...>

(en savoir + : http://hsivonen.iki.fi/doctype/ )
Merci pour vos réponses... J'ai vu l'une.. je me suis peut-être mal exprimé.. mais j'en ai trouvé une autre... je me répond à moi même du coup... ça aidera peut-être quelqu'un d'autre.

puisqu'on ne peu pas modifier le header (vu le nombre de pages) sur toutes les pages il suffit de modifier le css de base pour le mettre en standard.

dans un bandeau plus bas.. (qui je l'espère est sur toutes les pages) on y intègre un script JavaScript qui va nous charger l'ancienne CSS pour les anciennes pages (qui sont encore majoritaires pour le moment)

<script type="text/javascript" language="JavaScript">
function chargerCSS(fichier){
var headID = document.getElementsByTagName("head")[0];
var cssNode = document.createElement("link");
//var temp = "[href=\""+fichier+"\"]";
//if(headID.getElementsBySelector(temp).size()==0){
cssNode.type="text/css";
cssNode.rel="stylesheet";
cssNode.href=fichier;
cssNode.media="screen";
headID.appendChild(cssNode);
//}
}

//javascript:alert(document.compatMode);

if (document.compatMode == "BackCompat") {
chargerCSS("test.css")
}

</script>

ps: j'ai trouvé quelques scripts que je ai adaptés et modifiés... (pour qu'ils fonctionnent dans ce cas. Mais j'ai laissé les modifications en commentaire)

Smiley ravi Fallait y penser !!!
Modifié par fidji_florian (02 Apr 2009 - 18:00)