fonctionnement des blocs selon le navigateur

ViPHP
AB
ViPHP | 5818 Messages

26 sept. 2009, 05:32

Heu... juste une question au passage, ce sélecteur universel est reconnu depuis toujours, je veux dire même sur des vieilles versions de navigateurs ?
Depuis toujours, je n'en sais rien. En tout cas, de vieilles versions comme IE 4, IE 5, IE 5.5, IE 6, IE 7, Firefox 1, Firefox 1.5, Firefox 2 ou Safari 2 le reconnaissent.
Ah ok merci. L'énumération que tu as faite me suffit amplement :D
Pour moi , au niveau d'IE, "toujours" se situe à IE6. Déjà que c'est assez prise de tête de rendre son code compatible avec cet ancêtre (parfois je passe autant de temps à intégrer le code html pour qu'il soit compatible avec cette m...<censuré> qu'à développer l'ensemble d'une grosse page en php), je ne pousse pas plus loin dans le temps :wink:

Eléphant du PHP | 369 Messages

26 sept. 2009, 08:55

Salut,
J'ai testé ce que tu as mis (html et css) sans résultat, au contraire, ça met le tableau en dessous du menu sous firefox aussi. En plus, malgré le "visiblity: hidden", le trait est quand meme visible sous ie7.
Bizarre, pour ma part ca marche nickel sur IE6, Mozilla, Netscape, FF, Opéra, K-meleon,
Amaya, Safari... (seul IE est en version obsolete, les autres sont soient des versions stopées soient
en last release).
m'en fous d'ie6, y'a plus que les nazes qui l'utilisent :langue:
Non mais trop peu de personne l'utilise encore pour que je me prive du bel effet qu'apporte cette fonctionnalité
Grrrr... J'avoue que si j'avais pus rester en IE4 j'y serais encore lol
[...]
dommage que ça ne fonctionne pas, merci quand meme d'avoir essayé.
Désolé pour toi, je reposte dès que ta page d'accueil sera visible et si une idée me vient.
Dans ton css toujours tu indiques une valeur négatives pour margin-top et la c'est hors norme W3C [*]
PS1: [*] A moins que ca ait changé mais... Bref, ...j'y go @+ ;)
Les marges négatives sont autorisées en CSS (ce qui n'est pas le cas, en revanche, pour les paddings).
Bon, y a donc eu évolution depuis la derniere fois que j'ai voulu en mettre... Je prends note ;)

@+ all, bon code ;)

EDIT: Pour une compatibilité supèrieur. Tous le monde connait les liens mais j'aime bien enfoncer le clou lol

> http://www.ultra-fluide.com/ressources/ ... -hacks.htm
> http://www.pompage.net/pompe/deroulants/
Modifié en dernier par FuZZyLine le 26 sept. 2009, 15:47, modifié 2 fois.

Mammouth du PHP | 985 Messages

26 sept. 2009, 13:50

Heu... juste une question au passage, ce sélecteur universel est reconnu depuis toujours, je veux dire même sur des vieilles versions de navigateurs ?
Depuis toujours, je n'en sais rien. En tout cas, de vieilles versions comme IE 4, IE 5, IE 5.5, IE 6, IE 7, Firefox 1, Firefox 1.5, Firefox 2 ou Safari 2 le reconnaissent.
Ah ok merci. L'énumération que tu as faite me suffit amplement :D
Pour moi , au niveau d'IE, "toujours" se situe à IE6. Déjà que c'est assez prise de tête de rendre son code compatible avec cet ancêtre (parfois je passe autant de temps à intégrer le code html pour qu'il soit compatible avec cette m...<censuré> qu'à développer l'ensemble d'une grosse page en php), je ne pousse pas plus loin dans le temps :wink:
Entièrement d'accord, moi c'est pareil.
Si on veut que le site soit quasiment affiché de la même manière sur les différents navigateurs, et encore plus entre Firefox et IE(et encore plus IE6) -> t'es obligé de compliquer ton code html et ton css juste à cause de cela.
Le pire étant pour moi tout ce qui tourne autour du padding et du marging...
Au final on y arrive un peu près mais quelle perte de temps juste pour ce détail...

IE6 est encore pas mal utilisé malheureusement, donc pas trop le choix...
([EDIT]-> Vais pas m'étaler sur les raisons -> ce n'est pas le sujet en fait :wink: )
Pour le reste, bien pour ma part, je pars du principe qu'ils n'ont qu'a mettre à jour leur navigateur... (c'est plus simple :wink: )
Et de plus en général ils sont tous basés sur le même moteur -> Gecko ( ce qui simplifie les choses).

Ps:
Il y a un autre élément qui peut souvent poser problème.
A part si on en tient compte dès le départ.
C'est l'affichage suivant les différentes résolutions...
Un peu hors-sujet je l'accorde, mais mérite, à mon avis d'être souligné tout de même...
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphanteau du PHP | 24 Messages

27 sept. 2009, 02:31

Je peux vous assurer qu'il y a vraiment très peu de personnes qui utilisent encore IE6, de plus des sites très utilisés comme le site d'orange ne le gère pas correctement non plus.

Quand au problème de résolution, pour l'instant je le résous de cette manière :
body { width : 2050px; }

En attendant que le site soit finit et que j'essaye de le mettre avec une largeur changeante.


Mais revenons à nos moutons, voici le site en question qui pose problème :
http://citations.ovh.org/rol_rent/

Utilisez le pseudo : ricou
avec le mot de passe : ricou

Je sais, c'est pas très sécurisé, mais c'est provisoire.
Ensuite il faut cliquer sur le premier lien "l'accès aux infos c'est par ici"
et là vous verrez le menu apparaitre avec les pages en dessous et non à coté, sauf si vous utilisez firefox.
Les tableaux ne sont pas trop large pour tenir, j'ai meme essayé en réduisant la largeur des colonnes mais c'est pareil.

J'ai vérifié tout le css au cas où il reste des bouts de code inutile qui trainent, mais ce n'est pas le cas, je ne comprend vraiment pas pourquoi ça fonctionne en mettant la balise div et pas la p, mais la div apportent d'autres problèmes sous ie7.

Mammouth du PHP | 985 Messages

27 sept. 2009, 03:16

Il y en a encore beaucoup...

Pour ce qui est du site d'orange, c'est pas forcement la référence de ce qu'il faut faire.
Ce n'est d'ailleurs pas une référence du tout:
Résultat W3C:
Result: 39 Errors, 33 warning(s)
Avant de le rendre compatible IE, faut déjà qu'ils corrigent les erreurs tous navigateurs :mrgreen:

Il y a un terme barbare pour cela, c'est l'accessibilité.
Personnellement, un site web, c'est du travail, et cela me dérangerais que ce travail soit affiché de travers juste à cause d'un navigateur obsolète malheureusement encore beaucoup utilisé.
Donc j'en tiens compte, ensuite chacun fait comme il veut :wink:

Statistique W3C:
http://www.w3schools.com/browsers/browsers_stats.asp

Code : Tout sélectionner

2009 IE7 IE6 IE8 Firefox Chrome Safari Opera Aout 15.1% 13.6% 10.6% 47.4% 7.0% 3.3% 2.1%
Il est classé troisième encore :wink:
Donc faut oublier les versions antérieurs a IE6 pour le sujet de ton Post, mais prendre en compte sérieusement IE6.
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 369 Messages

27 sept. 2009, 11:56

Salut,
Je peux vous assurer qu'il y a vraiment très peu de personnes qui utilisent encore IE6,
Si ! Moi :evil: lol
de plus des sites très utilisés comme le site d'orange ne le gère pas correctement non plus.
Quand au problème de résolution, pour l'instant je le résous de cette manière :
J'évalue souvent le sèrieux d'une entreprise sur le rendu de leur site... Si le site foire je cut !
(ceci était un petit apparté lol)
body { width : 2050px; }
En attendant que le site soit finit et que j'essaye de le mettre avec une largeur changeante.
Mais revenons à nos moutons, voici le site en question qui pose problème :
http://citations.ovh.org/rol_rent/
Utilisez le pseudo : ricou
avec le mot de passe : ricou
Je sais, c'est pas très sécurisé, mais c'est provisoire.
Ensuite il faut cliquer sur le premier lien "l'accès aux infos c'est par ici"
et là vous verrez le menu apparaitre avec les pages en dessous et non à coté, sauf si vous
utilisez firefox. Les tableaux ne sont pas trop large pour tenir, j'ai meme essayé en réduisant la
largeur des colonnes mais c'est pareil.
J'ai vérifié tout le css au cas où il reste des bouts de code inutile qui trainent, mais ce n'est pas le cas,
je ne comprend vraiment pas pourquoi ça fonctionne en mettant la balise div et pas la p, mais la div
apportent d'autres problèmes sous ie7.
Bon, on y voit plus clair lol
J'avais dans l'idée que tu utilisais un bloc intitulé menu pour positionner "le menu" puis que le menu,
lui-même, était constitué en liste et les images intégrée en background... Effectivement c'est pas le cas ;)

J'ai la flème de matter le source plus que ca... Aie... Promis je le ferais plus lol

Plus sèrieux et ce sans vouloir t'obliger en aucune façon voici un template qui peut, peut-ête, te rendre
service. Facile à mettre en place, facile à rmettre aux normes et... D'aspect classique mais rigoureux dans
l'utilisation des tags.

Ne pense pas que je veux en retirer des "fleurs" c'est en gros la base d'ou je pars pour écrire un site.
Mets y un doctype, complête le avec ce que tu veux et il sera conforme à la norme w3.
Je tiens à dire que je l'ai testé sous IE6, Opéra, FF et même Lynx lol Juste pour dire qu'il n'est pas très
difficile d'obtenir une compatibilite maximum ;)

Voici la bête: (le résultat peut surprendre mais, bon, suffit de l'habiller avec tes images et couleurs)
<html>
   <head>
      <title>
         MyExemple - M. en P.
      </title>

      <style type="text/css">
         body                            { text-align:center; }

         h1                              { margin:0px; padding:0px; }
         h2                              { margin:0px; padding:0px; }
         h3                              { margin:0px; padding:0px; }

         #mainContainer                  { width:800px; margin:0px auto 0px auto; padding:0px 0px 0px 0px; text-align:left; }

         #bandeau                        { width:800px; height:30px; text-align:center; background-color:#d0d0d0; color:#000000; }

         #menuBloc                       { float:left; width:150px; }
         #menuBloc ul                    { list-style-type:none; margin:0px; padding:0px; }
         #menuBloc ul li                 { display:block; width:150px; height:165px; }
         #menuBloc ul li a               { display:block; width:150px; height:165px; text-decoration:none; color:#000000; }
         #menuBloc ul li a:hover         { color:#cc0000; background-color:#fafafa; text-align:right; }
         #menuBloc ul li#choix_01        { background-color:#00d0d0; background:url("./img/img_01.png") no-repeat; background-position:top; }
         #menuBloc ul li#choix_02        { background-color:#00d0d0; background:url("./img/img_02.png") no-repeat; background-position:top; }
         #menuBloc ul li#choix_03        { background-color:#00d0d0; background:url("./img/img_03.png") no-repeat; background-position:top; }
         #menuBloc ul li a span.linkText { display:block; height:10px; padding-top:150px; font-size:12px; font-weight:bold; }

         #page                           { float:left; width:500px; background-color:#ffffff; }

         #rightPart                      { float:right; width:150px; }

         #foot                           { width:800px; font-style:italic; text-align:center; background-color:#cccccc; }

         .cleared                        { visibility:hidden; clear:both; }
      </style>

      <script langage="javascript">
      <!--
         onload = function() { alert("Juste en passant..."); };
      -->
      </script>
   </head>
   <body>
      <div id="mainContainer">
         <div id="bandeau">
            <h2>Exemple de positions d'&eacute;l&eacute;ments hors cadres constitu&eacute; uniquement de...!</h2>
         </div>
         <div id="menuBloc">
            <ul>
               <li id="choix_01">
                  <a href="./choix_01/index.php" title="Premier choix !"><span class="linkText">1:Simule un tout</span></a>
               </li>
               <li id="choix_02">
                  <a href="./choix_02/index.php" title="Deuxieme choix !"><span class="linkText">2:Simule un tout</span></a>
               </li>
               <li id="choix_03">
                  <a href="./choix_03/index.php" title="Deuxieme choix !"><span class="linkText">3:Simule un tout</span></a>
               </li>
            </ul>
         </div>
         <div id="page">
            <h3>La page est ici...</h3>
            <br />
            Mise en page sur trois colonnes.<br />
            Template test&eacute;e sur les browsers suivants:<br>
            <ul>
               <li>
                  IE6, donc compatible +
               </li>
               <li>
                  Firefox 3.0.14
               <li>
                  Op&eacute;ra 8.51
               </li>
               <li>
                  Lynx (visible, biensur, de mani&egrave;re texte)
               </li>
            </ul>
            <p>
               La pseudo frame de gauche est constitu&eacute;e ainsi:<br />
               Block div positionn&eacute; en float int&eacute;grant un menu<br />
               en liste dont les liens sont de type block et de dimention 150 x 160.<br />
               L'image est un background et en dessous est impleent&eacute; une ligne de texte.
            </p>
            <p>
               La pseudo frame du milieu est constitu&eacute;e ainsi:<br />
               Block div positionn&eacute; en float plac&eacute; &agrave; gauche.
            </p>
            <p>
               La pseudo frame de droite est constitu&eacute;e ainsi:<br />
               Block div positionn&eacute; en float plac&eacute; &agrave; droite.
            </p>
            <p>
               Pour que la suite de l'affichage soit correcte il faut int&eacute;grer une balise<br />
               dont la nature css est clear:both en son sein.
            </p>
            <p>
               Le bas de page est plac&eacute; de mani&egrave;re classique.
            </p>
            <p>
               Vraiment pas compliqu&eacute; d'&ecirc;tre compatible avec la majorit&eacute; des browsers<br />
               Quelque infos tech, l'id&eacute;e du design en t&ecirc;te et le reste suit. 
            </p>
         </div>
         <div id="rightPart">
            Suppl&eacute;ment &agrave; droite...
         </div>
         <br class="cleared" />
         <div id="foot">
            Un simple &eacute;diteur texte suffit : Edit.com, vi, emacs... M&ecirc;me Edlin peut suffire, c'est pour dire ;)
         </div>
      </div>
   </body>
</html>

Je continue à suivre le topic, si je suis moins flémard je re-visite ton site et sa source,

@+ bon code ;)

Eléphanteau du PHP | 24 Messages

27 sept. 2009, 20:15

Merci de me filer ton code type fuzzyline, je m'apprêtais à le copier pour y adapter mon site, mais j'ai eu la flemme (moi aussi), de tout refaire, et puis je préférais trouver mon erreur, ce qui est fait.
Je viens donc d'apprendre que les balises de type block ne prennent pas les propriétés du "block parent" mais les propriété par défaut qu'il faut modifier à chaque nouvelle utilisation, sauf Firefox.

En clair, rappelez-vous, voici le schéma de mon menu :
<div id="bordure">
   <p id="menu">
     <?php
        echo '<a href="index.php?nompage=info_joueur"><div class="'.$bouton1.'"></div></a><br />';
	echo '<a href="index.php?nompage=arme"><div class="'.$bouton2.'"></div></a><br />';
	echo '<a href="index.php?nompage=troupe"><div class="'.$bouton3.'"></div></a><br />';
	echo '<a href="index.php?nompage=siege"><div class="'.$bouton4.'"></div></a><br />';
	echo '<a href="index.php?nompage=autre"><div class="'.$bouton5.'"></div></a><br />';
    ?>
   </p>
</div>
Et j'avais donc mis #menu en float left, ce qui était bien pris en compte, mais à la première balise div, celle-ci repassait en dessous.
Il y aurait alors fallu remettre chaque div en float:left, mais je pense qu'il est plus simple de remplacer le div par un span.
La balise span n'étant pas de type block, elle ne change bien évidemment pas la disposition des autres block, par contre, ayant besoin de définir une hauteur et une largeur pour mettre l'image de fond, j'ai du rajouter la propriété display: block, comme indiqué au début du topic.
Néanmoins, pour simplifier, j'ai enlevé le span pour mettre directement le class dans le lien, comme ceci (j'ai mis le php à l'intérieur pour plus de lisibilité seulement) :
<div id="bordure">
   <p id="menu">
	<a href="index.php?nompage=info_joueur" class="<?php echo $bouton1; ?>"></a><br />
	<a href="index.php?nompage=arme" class="<?php echo $bouton2; ?>"></a><br />
	<a href="index.php?nompage=troupe" class="<?php echo $bouton3; ?>"></a><br />
	<a href="index.php?nompage=siege" class="<?php echo $bouton4; ?>"></a><br />
	<a href="index.php?nompage=autre" class="<?php echo $bouton5; ?>"></a><br />
   </p>
</div>
Et le css qui va avec, répété pour chaque bouton ($bouton1 prend les valeurs info_joueur_fonce ou info_joeur_clair) :
.info_joueur_fonce
{
	display: block;
	background: url("images/info_joueur_fonce.png");
	background-repeat : no-repeat;
	height : 130px;
	width : 130px;
	margin-top : -20px;
}
.info_joueur_fonce:hover
{
	display: block;
	background: url("images/info_joueur_clair.gif");
	margin-left : 29px;
}
.info_joueur_clair
{
	display: block;
	background: url("images/info_joueur_clair.png");
	margin-left : 29px;
	background-repeat : no-repeat;
	height : 130px;
	width : 130px;
	margin-top : -20px;
}
J'en ai profité pour rajouter google chrome et netscape à mon contingent de navigateur qui fonctionnent bien.

Il me reste un problème, utilisant ovh démo en hébergement, il n'est pas rapide du tout, et le fait qu'il faille charger une image différente en passant sur les boutons du menu, parfois l'image n'a pas le temps de se charger avant que l'on enlève la souris, ce qui la fait planter et elle n'apparait plus du tout. Chaque image est en gif et ne fait que 10ko, je ne vois pas comment la réduire plus.
J'ai déja mis également la meme image en png une fois cliqué pour qu'elle apparaisse après avoir cliqué.

Est-ce que quelqu'un pourrait me rappeler comment mettre un texte en dessous du pointeur quand la souris est sur un lien.
Et est-ce qu'il est possible de mettre un texte alternatif si l'image ne s'affiche pas, dans du css ?

Eléphant du PHP | 369 Messages

27 sept. 2009, 21:15

Re,
Merci de me filer ton code type fuzzyline, je m'apprêtais à le copier pour y adapter
mon site, mais j'ai eu la flemme (moi aussi), de tout refaire, et puis je préférais trouver mon
erreur, ce qui est fait.
Clair que c'est plus enrichissant eh eh eh ;)
Je viens donc d'apprendre que les balises de type block ne prennent pas les propriétés du "block parent"
mais les propriété par défaut qu'il faut modifier à chaque nouvelle utilisation, sauf Firefox.
En clair, rappelez-vous, voici le schéma de mon menu :
<div id="bordure">
   <p id="menu">
     <?php
        echo '<a href="index.php?nompage=info_joueur"><div class="'.$bouton1.'"></div></a><br />';
	echo '<a href="index.php?nompage=arme"><div class="'.$bouton2.'"></div></a><br />';
	echo '<a href="index.php?nompage=troupe"><div class="'.$bouton3.'"></div></a><br />';
	echo '<a href="index.php?nompage=siege"><div class="'.$bouton4.'"></div></a><br />';
	echo '<a href="index.php?nompage=autre"><div class="'.$bouton5.'"></div></a><br />';
    ?>
   </p>
</div>
Et j'avais donc mis #menu en float left, ce qui était bien pris en compte, mais à la première balise div, celle-ci
repassait en dessous. Il y aurait alors fallu remettre chaque div en float:left, mais je pense qu'il est plus simple de remplacer le div par un span. La balise span n'étant pas de type block, elle ne change bien évidemment pas la
disposition des autres block, par contre, ayant besoin de définir une hauteur et une largeur pour mettre l'image de
fond, j'ai du rajouter la propriété display: block, comme indiqué au début du topic. Néanmoins, pour simplifier, j'ai
enlevé le span pour mettre directement le class dans le lien, comme ceci (j'ai mis le php à l'intérieur pour plus de
lisibilité seulement) :
<div id="bordure">
   <p id="menu">
	<a href="index.php?nompage=info_joueur" class="<?php echo $bouton1; ?>"></a><br />
	<a href="index.php?nompage=arme" class="<?php echo $bouton2; ?>"></a><br />
	<a href="index.php?nompage=troupe" class="<?php echo $bouton3; ?>"></a><br />
	<a href="index.php?nompage=siege" class="<?php echo $bouton4; ?>"></a><br />
	<a href="index.php?nompage=autre" class="<?php echo $bouton5; ?>"></a><br />
   </p>
</div>
Et le css qui va avec, répété pour chaque bouton ($bouton1 prend les valeurs info_joueur_fonce ou info_joeur_clair) :
.info_joueur_fonce
{
	display: block;
	background: url("images/info_joueur_fonce.png");
	background-repeat : no-repeat;
	height : 130px;
	width : 130px;
	margin-top : -20px;
}
.info_joueur_fonce:hover
{
	display: block;
	background: url("images/info_joueur_clair.gif");
	margin-left : 29px;
}
.info_joueur_clair
{
	display: block;
	background: url("images/info_joueur_clair.png");
	margin-left : 29px;
	background-repeat : no-repeat;
	height : 130px;
	width : 130px;
	margin-top : -20px;
}
J'en ai profité pour rajouter google chrome et netscape à mon contingent de navigateur qui fonctionnent bien.
Il me reste un problème, utilisant ovh démo en hébergement, il n'est pas rapide du tout, et le fait qu'il faille charger
une image différente en passant sur les boutons du menu, parfois l'image n'a pas le temps de se charger avant que l'on enlève la souris, ce qui la fait planter et elle n'apparait plus du tout. Chaque image est en gif et ne fait que 10ko,
je ne vois pas comment la réduire plus. J'ai déja mis également la meme image en png une fois cliqué pour qu'elle apparaisse après avoir cliqué. Est-ce que quelqu'un pourrait me rappeler comment mettre un texte en dessous du
pointeur quand la souris est sur un lien. Et est-ce qu'il est possible de mettre un texte alternatif si l'image ne
s'affiche pas, dans du css ?
Déja, sympa pour le retour. Ensuite pour ton problème de charchement d'images il faudrait que tu utilises le préload
d'images: (http://wiki.mediabox.fr/tutoriaux/javascript/images). Perso le rollover d'images je préfère jouer avec le
background (changer la position du top est plus rapide que charger une panoplie d'images secondaires) mais, bon,
c'est une affaire de gout ;)

Pour le pointeur il suffit juste de faire ca:

En javascript:
   // Les capitales c'est juste pour la démos, tout écrire en minuscule c'est mieux
   //
   function attachAction(ID_ELEMENT, ID_SECOND_ELEMENT)
   {
      // Valable pour tous TAGS dont l'id correspond et pas seulement les "A"
      //
      document.getElementById("ID_ELEMENT").onmouseover = function()
      {
         // La, tu mets ton code ou ce que tu veux...
         //
        document.getElementById("ID_SECOND_ELEMENT").innerHTML = "Du texte";   
      }
   }
A vue de nez ca doit marcher je crois... 'fin il me semble pour un exemple assez grossier ;)
Se souvenir aussi que InnerHTML remplace tout... Donc faire en sorte de pas le faire sur un ID
contenant des propriétés... ou alors d'abord les sauvegarder puis les reporter dessus.

J'y go @+ ;)

ViPHP
AB
ViPHP | 5818 Messages

27 sept. 2009, 21:51

En clair, rappelez-vous, voici le schéma de mon menu :
<div id="bordure">
   <p id="menu">
     <?php
        echo '<a href="index.php?nompage=info_joueur"><div class="'.$bouton1.'"></div></a><br />';
	echo '<a href="index.php?nompage=arme"><div class="'.$bouton2.'"></div></a><br />';
	echo '<a href="index.php?nompage=troupe"><div class="'.$bouton3.'"></div></a><br />';
	echo '<a href="index.php?nompage=siege"><div class="'.$bouton4.'"></div></a><br />';
	echo '<a href="index.php?nompage=autre"><div class="'.$bouton5.'"></div></a><br />';
    ?>
   </p>
</div>
Et j'avais donc mis #menu en float left, ce qui était bien pris en compte, mais à la première balise div, celle-ci repassait en dessous.
Il y aurait alors fallu remettre chaque div en float:left, mais je pense qu'il est plus simple de remplacer le div par un span.
La balise span n'étant pas de type block, elle ne change bien évidemment pas la disposition des autres block, par contre, ayant besoin de définir une hauteur et une largeur pour mettre l'image de fond, j'ai du rajouter la propriété display: block, comme indiqué au début du topic.
Néanmoins, pour simplifier, j'ai enlevé le span pour mettre directement le class dans le lien, comme ceci (j'ai mis le php à l'intérieur pour plus de lisibilité seulement).
Oui tu as bien fait. D'autant que je n'avais pas vu ton précédent code : on ne doit pas inclure de balises de type bloc (div etc.) à l'intérieur de balise de type en ligne (a etc.).
C'était clairement indiqué dans le premier lien que je t'avais donné et dont tu as répondu : "Article interressant AB, merci, mais ça ne répond pas à ma question pour autant" :-k
Il me reste un problème, utilisant ovh démo en hébergement, il n'est pas rapide du tout, et le fait qu'il faille charger une image différente en passant sur les boutons du menu, parfois l'image n'a pas le temps de se charger avant que l'on enlève la souris, ce qui la fait planter et elle n'apparait plus du tout. Chaque image est en gif et ne fait que 10ko, je ne vois pas comment la réduire plus.
J'ai déja mis également la meme image en png une fois cliqué pour qu'elle apparaisse après avoir cliqué.


Est-ce que quelqu'un pourrait me rappeler comment mettre un texte en dessous du pointeur quand la souris est sur un lien.

Et est-ce qu'il est possible de mettre un texte alternatif si l'image ne s'affiche pas, dans du css ?
C'est la balise "alt" qui indiquera un commentaire à la place d'une image si elle ne s'affiche pas. Sauf erreur de ma part cela n'est pas possible dans le css, mais tu peux le faire dynamiquement en php pour chaque image.

Sinon, pour ce qui est de l'affichage d'images de menu, soit tu te sert de la méthode de FuZZyLine en décalant des images par exemple, soit tu préload ces images en javascript sur le onload de ta page. Cette méthode fonctionne correctement si tes images ne sont pas trop lourdes, dans ton cas pour des images de 10 ko il n'y aura pas de pb.
Un petit script fonctionnel ici

Pour info un autre topic si tu voulais précharger des images plus lourdes.


Note :
Je peux vous assurer qu'il y a vraiment très peu de personnes qui utilisent encore IE6, de plus des sites très utilisés comme le site d'orange ne le gère pas correctement non plus.
C'est ton problème puisque c'est on site, mais comme l'a fait remarquer Dr@ke IE6 est encore utilisé aux alentours de 10% et sauf cas personnels, difficile de dire à un client qu'il peut se permettre de perdre 10% de part de marché...

Eléphanteau du PHP | 24 Messages

27 sept. 2009, 22:54

Re,
Pour le pointeur il suffit juste de faire ca:

En javascript:
   // Les capitales c'est juste pour la démos, tout écrire en minuscule c'est mieux
   //
   function attachAction(ID_ELEMENT, ID_SECOND_ELEMENT)
   {
      // Valable pour tous TAGS dont l'id correspond et pas seulement les "A"
      //
      document.getElementById("ID_ELEMENT").onmouseover = function()
      {
         // La, tu mets ton code ou ce que tu veux...
         //
        document.getElementById("ID_SECOND_ELEMENT").innerHTML = "Du texte";   
      }
   }
A vue de nez ca doit marcher je crois... 'fin il me semble pour un exemple assez grossier ;)
Se souvenir aussi que InnerHTML remplace tout... Donc faire en sorte de pas le faire sur un ID
contenant des propriétés... ou alors d'abord les sauvegarder puis les reporter dessus.

J'y go @+ ;)
Il me semblait qu'il existe une commande html que l'on rajoute dans la balise a pour avoir ça. Je ne suis pas gourmand, le p'tit texte système me suffira (pour l'instant). ;)
Oui tu as bien fait. D'autant que je n'avais pas vu ton précédent code : on ne doit pas inclure de balises de type bloc (div etc.) à l'intérieur de balise de type en ligne (a etc.).
C'était clairement indiqué dans le premier lien que je t'avais donné et dont tu as répondu : "Article interressant AB, merci, mais ça ne répond pas à ma question pour autant" :-k
Oups, je l'ai bien lu cet article, j'ai bien fait attention à cette partie qui me semblait très logique d'ailleurs, mais je n'ai pas fait attention que j'avais mis les div dans les balises a, désolé. |*()
Ce qui veut dire que si j'avais mis ce code-ci, ça aurait foncionné ?
echo '<div class="'.bouton1.'"><a href="index.php?nompage=info_joueur"></a></di>
Je peux vous assurer qu'il y a vraiment très peu de personnes qui utilisent encore IE6, de plus des sites très utilisés comme le site d'orange ne le gère pas correctement non plus.
C'est ton problème puisque c'est on site, mais comme l'a fait remarquer Dr@ke IE6 est encore utilisé aux alentours de 10% et sauf cas personnels, difficile de dire à un client qu'il peut se permettre de perdre 10% de part de marché...
Je n'ai jamais regardé les statistiques, mais je vois en moyenne 10 PC différents par semaine, et le dernier que j'ai vu avec IE6 date du mois de juin, c'est d'ailleurs là que j'ai vu le problème du site d'Orange. ;)
A savoir aussi que je fais des sites pour le plaisir d'apprendre uniquement, et heureusement, car un professionnel aussi peu doué que moi ne devrait avoir aucun client.
Néanmoins, ça donne quoi le site sous IE6 ? j'en ai pas pour testé, c'est correct ?

Pour les images, je ne connais absolument rien au javascript, et ça ne m'interresse pas pour le moment, alors en feuilletant vos liens pour essayer de comprendre vos codes, je suis tombé la-dessus : display:none; qui fonctionne bien, j'affiche chaque image clair sous le menu avec cette propriété pour qu'on ne la voit pas et ça fonctionne bien, comme il n'y a que 5 images.
Merci

ViPHP
AB
ViPHP | 5818 Messages

28 sept. 2009, 00:10

Néanmoins, ça donne quoi le site sous IE6 ? j'en ai pas pour testé, c'est correct ?
La page d'autenfication s'affiche identiquement sous FF et sous IE6 excepté le mot "Bienvenue" qui en s'affiche pas en gras avec IE6, et le logo "Rise of Lords" est entouré par un bord bleu (pas beau) contre blanc dans FF. Le mieux serait de supprimer ce bord avec dans ton css :
img {
border:0;
}
Une fois identifié, petits problèmes dans la première page (menu plume) : le parchemin d'information est en bas de page sous l'icône de la femme à cheveux rouges et pas à côté comme dans FF.
Pour les autres pages à première vue cela semble identique.

Pour tester plus en avant tu peux le faire toi-même en téléchargeant par exemple multiple IE

Eléphanteau du PHP | 24 Messages

28 sept. 2009, 00:28

OK, merci AB.
L'en tete et le pied de page ne sont pas fait, j'ai juste poser 2 images comme ça, mais je compte les remplir plus tard, et virer ce cadre hideux.

Pour l'affichage de la page plume, j'ai :
- le menu en float left
- la femme en float left aussi
- l'homme en float right
- et le texte qui du coup se met au milieu
Serait-ce les 2 float l'un contre l'autre qu'il n'aime pas ?


Autre code, autre problème, seulement sous IE7 :
Pour faire le parchemin j'ai une image en haut, une image en bas, et entre les 2 il y a le texte avec le fond derrière qui se répète indéfiniment en vertical.
Hors il y a un léger espace entre le bas de l'image du haut et le milieu. Donc pour boucher le trou j'ai voulu mettre margin-top : -4px pour le milieu du parchemin, ce qui fait encore planter IE7, tous les liens ne fonctionnent plus.
Pour résoudre ce problème, j'ai mis un margin-bottom : -4px à l'image du haut, et là pas de problème.
Je ne sais pas si c'est clair, le problème est résolu, mais je ne comprends pas pourquoi l'un fonctionne et l'autre pose problème.

EDIT : je me rappelle pour avoir un "sous-titre" aux liens, c'est avec title.

Mammouth du PHP | 985 Messages

28 sept. 2009, 00:53

Hmmm :?:
Je viens de tester ton site avec Firefox dernière version.
Je ne sais pas si cela vient de ma résolution (1280/768) mais tout est décalé sur ta page d'accueil, et je n'ai pas testé plus loin.
Les images du haut sont décalées avec le div central (<div id="accueil_deco">)
Et l'image du bat est aussi décalée.

Seul le Div central est bien centré, par rapport à la largeur de la page, mais peut-être à cause de ma résolution, j'ai un ascenseur de gauche à droite, et donc je n'ai pas toute la largeur de la page...

Ps: oui je sais ma résolution n'est pas énorme mais je suis avec mon portable là...

Au final, tu es toujours au même point donc?
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphanteau du PHP | 24 Messages

28 sept. 2009, 01:11

Hmmm :?:
Je viens de tester ton site avec Firefox dernière version.
Je ne sais pas si cela vient de ma résolution (1280/768) mais tout est décalé sur ta page d'accueil, et je n'ai pas testé plus loin.
Les images du haut sont décalées avec le div central (<div id="accueil_deco">)
Et l'image du bat est aussi décalée.

Seul le Div central est bien centré, par rapport à la largeur de la page, mais peut-être à cause de ma résolution, j'ai un ascenseur de gauche à droite, et donc je n'ai pas toute la largeur de la page...

Ps: oui je sais ma résolution n'est pas énorme mais je suis avec mon portable là...

Au final, tu es toujours au même point donc?
La largeur minimal utile pour le site est 1280 de large, pour que les tableaux tiennent correctement, la hauteur peu importe. Mais si j'ai bien compris, tu as juste ouvert la page index sans te connecter.
Sur cette page j'ai juste mis l'image de fond car je ne sais pas encore quelle présentation faire.
Quand aux 2 images décalés dont tu parles, ce doit etre l'en-tete et le pied de page, ce dont je ne me suis pas encore occupé non plus, comme j'ai mis juste au-dessus.
Par contre mets le pseudo "ricou" et le mot de passe "ricou", et là tu verras que c'est quand meme plus avancé (hormis l'en tete et le pied de page).

Eléphant du PHP | 369 Messages

28 sept. 2009, 08:53

Salut,
[...]
Il me semblait qu'il existe une commande html que l'on rajoute dans la balise a pour avoir ça. Je ne suis pas gourmand, le p'tit texte système me suffira (pour l'instant). ;)
Yep, ...en fait: J'avais pas saisi ta demande (je suis loin d'être fut-fut lol) J'avais pas compris que
tu voulais l'affichage de tooltips ciblés dsl. La commande est Alt = "Ton_Texte" mais AB te l'a déja donné,
en gros je suis à la bourre comme d'hab' ;)

L'alternative texte à une image impossible à afficher est alt
Le tooltip associé à un tag est title
<img src="./PATH/TON_IMG.png" alt="L'image a foirée" title="Le titre de l'image" />
La fonction JS que je t'ai proposée se contente de lancer une action lors du suvol de la souris sur un TAG.
Aussi, c'est presque pareil mais n'a pas la même finalité.
A savoir aussi que je fais des sites pour le plaisir d'apprendre uniquement, et heureusement, car un
professionnel aussi peu doué que moi ne devrait avoir aucun client.
Pensée cool à contrario de beaucoup lol Quand je vois certain sites pros: ca me fait peur !

J'ai un peu l'impression de périphraser AB donc j'y go, @+ bon code eh eh eh ;)