Optimiser pour IE et Mozilla

Résolu/Fermé
Rabiere - 27 janv. 2009 à 07:22
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 3 févr. 2009 à 14:47
Bonjour,
J'aimerais optimiser mon site à la foi pour IE et Mozilla. Il me semble qu'un code existe pour avoir deux pages CSS différentes selon le naviguateur mais lorsque je le trouve sur le net, on me précise qu'il faut utiliser le php. Mon site étant seulement en HTML, n'y a t'il pas un autre code compatible ?
Merci de votre aide.
A voir également:

11 réponses

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
27 janv. 2009 à 09:56
salut,

J'aimerais optimiser mon site à la foi pour IE et Mozilla. Il me semble qu'un code existe pour avoir deux pages CSS différentes selon le naviguateur mais lorsque je le trouve sur le net, on me précise qu'il faut utiliser le php. Mon site étant seulement en HTML, n'y a t'il pas un autre code compatible ? 

tu peux être 100% compatible sur tous les navigateurs sans avoir à faire de bidouilles d'autant qu'il me semble me rappeler que la détection du navigateur par le serveur n'a pas toujours été exacte.

il suffit de créer des pages HTML valides, de les coder progressivement en CSS en testant à chaque étape.
il n'y plus tant de différences que ça entre les navigateurs,
maintenant c'est assez facile de passer partout sans être un gourou de l'intégration.
1
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
27 janv. 2009 à 07:47
En effet il te faut inclure du PHP.. Dans chacune de tes pages de ton site, à l'intérieur de ton <head> ... </head> mets ça:

<?php

include ("style.php")

?>


ensuite tu crées une nouvelle page qui s'appel "style.php"

et tu cole ça dedans :

<?php
			if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Firefox' ) !== FALSE ) // Si le navigateur choisi est Firefox
			{ 
			echo '<link rel="stylesheet" media="screen" type="text/css" title="css" href="CSS_POUR_FIREFOX.css" />'; //Il met la feuille de style adapté à firefox
			}
			else 
			{
			echo '<link rel="stylesheet" media="screen" type="text/css" title="css" href="CSS_POUR_IE.css" />'; //Sinon il met la feuille de style adapté à IE
			}
?>


Voila, et bien sur il te faudra 2 page de CSS.. Tu les adapte en fonction du navigateur..

Cordialement..

0
Y'a rien d'autre à ajouter ? Parce que je ne vois pas la différence.
Je t'envoie ma feuille de style :

<?php
if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Firefox' ) !== FALSE ) // Si le navigateur choisi est Firefox
{
echo '<link rel="stylesheet" media="screen" type="text/css" title="css" href="design.css" />'; //Il met la feuille de style adapté à firefox
}
else
{
echo '<link rel="stylesheet" media="screen" type="text/css" title="css" href="cssie.css" />'; //Sinon il met la feuille de style adapté à IE
}
?>

Sachant que j'ai nommé ma page css pour firefox, "design.css" et celle pour IE "cssie.css", y'a t'il quelque chose qui te choque dans ma feuille de style ?
0
Merci Dalida, c'est finalement l'option que j'ai choisit ! Au passage, faites un saut sur mon site, vous verrez que même sous IE, il ne rend pas si mal !
http://rabiere.free.fr/index.html

Merci à tous de votre aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
31 janv. 2009 à 00:20
salut,

si tu veux travailler de façon pérenne, commence par coller l'URL de ton site ici.
et corrige tant qu'il y a des erreurs !

une fois que tu auras un HTML valide, tes mises en page seront déjà plus stables d'un navigateur à l'autre.
0
Ok, c'est vrai que ça pourrait me permettre de corriger les erreurs mais le souci, c'est que le site est en anglais et que moi et l'anglais, ça fait deux ! n'y a t-il pas le même programme dispo en français ?
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
31 janv. 2009 à 15:23
salut,

suffisait de demander !
-;o)
0
Le problème c'est qu'il ne me sort qu'une phrase d'erreur alors que le site anglais en trouvait une cinquantaine :s Que faire ?
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
31 janv. 2009 à 18:26
re,

il faut lui imposer le jeu de caractères ISO 8859-1.

sinon reste en anglais et demande -nous quand tu butes sur une traduction mais tu te débrouilleras vite tout seul.

pour corriger ta page :

• remplace tous les "&" par des "&amp;", ça enlèvera la majorité des 50 erreurs (en fait il n'y en a pas tant ce sont des erreurs en chaîne) ;

• fais disparaitre les balises <center> et <u> et remplace les par des styles en CSS ;

• remplace les <br> par des <br/>.

après ça il ne devrait plus rester grand chose.
0
Merci beaucoup Dalida, j'ai supprimé les erreurs et retravaillé mon html ainsi que mon css. Il me reste un ultime soucis : J'aimerais créer un block ou mes images se placent les une à coté des autres deux par deux.

J'ai donc fait ceci en html :

<div id="imgplace">

<div class="fdtaille"><img src="images/fdr&c.jpg"> </div>
<div id="descriptionfd1">R&C <em>(By Rabiere)</em> <br/>1024x768 <strong><a href="http://sd-1.archive-host.com/membres/up/60520811122961930/fdrc.jpg" class="afficher">Afficher en grand</a></strong>
</div><br/><br/>

<div class="fdtaille"><img src="images/fds3p.jpg"> </div>
<div id="descriptionfd1">The Sims 3 B.A <em>(By Rabiere)</em> 1024x768 <strong><a href="http://sd-1.archive-host.com/membres/up/60520811122961930/fds3p.jpg" class="afficher">Afficher en grand</a></div></strong>


<div class="fdtaille"><img src="images/fds3cm.jpg"> </div>
<div id="descriptionfd1">Rythme & Style <em>(By Catmini)</em> 1024x768 <strong><a href="http://sd-1.archive-host.com/membres/up/60520811122961930/fds3cm.jpg" class="afficher">Afficher en grand</a></strong>
</div><br/><br/>

<div class="fdtaille"><img src="images/fdrcj.jpg"> </div>
<div id="descriptionfd1">R&C n°2 <em>(By Joemy)</em> <br/>1024x768 <strong><a href="http://sd-1.archive-host.com/membres/up/60520811122961930/fdrcj.jpg" class="afficher">Afficher en grand</a></div></strong>


<div class="fdtaille"><img src="images/fdl1.jpg"> </div>
<div id="descriptionfd1">3 fois plus de Bonheur <em>(By Lindag)</em> 1280x1024 <strong><a href="http://sd-1.archive-host.com/membres/images/60520811122961930/fdl1.jpg" class="afficher">Afficher en grand</a></strong>
</div><br/><br/>

<div class="fdtaille"><img src="images/fdl2.jpg"> </div>
<div id="descriptionfd1">Grafik-Sims <em>(By Lindag)</em> <br/>1280x1024 <strong><a href="http://sd-1.archive-host.com/membres/images/60520811122961930/fdl2.jpg" class="afficher">Afficher en grand</a></div></strong>

</div>

Et ceci en Css :

#imgplace{
overflow: visible;
width: 1090px;
height: 20px;
margin-left: 0px;
margin-top: 0px;
}

Seulement, sur mon rendu, les images de placent toutes les une en dessous des autres. j'ai beau modifier le Width et le Height, rien ne change. je pense que mon block n'est pas valide, mais je ne sais pas pourquoi !

Pouvez vous m'aider ? (désolé de la complexité de mon html, il n'est que répétition enfaite)
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
3 févr. 2009 à 14:47
salut,

pour le HTML je te propose quelque chose d'autre. ça ne change rien pour la mise en page mais ça me parrait un peu plus sémantiquement correct.

donc, une liste de définitions avec comme termes les images et comme définitions les légendes/dimensions/liens.
<dl>
	<dt><img src="images/fdr&c.jpg"></dt>
	<dd>R&amp;C <em>(By Rabiere)</em> <br/>1024x768 <strong><a href="http://sd-1.archive-host.com/membres/up/60520811122961930/fdrc.jpg" class="afficher">Afficher en grand</a></dd>
	<dt><img src="images/fds3p.jpg"></dt>
	<dd>The Sims 3 B.A <em>(By Rabiere)</em> 1024x768 <strong><a href="http://sd-1.archive-host.com/membres/up/60520811122961930/fds3p.jpg" class="afficher">Afficher en grand</a></dd>
</dl>

pour le mettre en page faut connaitre la largeur du bloc container, dans notre cas c'est <dl>. pour l'exemple je prendrai 800 pixels, en imaginant que tes images font chacune 360 de large (d'ailleurs il faut ajouter les dimensions et la balise "alt" à chaque <img/>).
donc tu fais flotter les <dt> et <dd> à gauche en leur donnant une largeur de moitié du container.
dt, dd{
float:left;
width:50%;
}

selon la hauteur des <dd> ça risque de pas coller, fais un essai et dis-moi, dans le pire des cas on utilisera une autre méthode.
0