je n'arrive pas a centré mes liens en hauteur

Mammouth du PHP | 558 Messages

01 mai 2008, 19:22

Une piste très intéressante que je recommande : les commentaires conditionnels.
est-ce que le else fonctionne?
merci
PS j'ai fait citation vue que l'on a changer de page.

Mammouth du PHP | 2937 Messages

01 mai 2008, 19:24

est-ce que le else fonctionne?
Va voir le lien que je viens de donner : tu verras que ça n'a aucun rapport avec les conditions en JavaScript ou en PHP.

Mammouth du PHP | 558 Messages

01 mai 2008, 20:08

c'est bon en fait il faut faire deux if
j'ai un autre soucis je n'arrive pas a centré horizontalement mes lien sur ma barre rien y fait.
visible ici http://larosedelorient.com
je vous donne la partie concerné.
coté html

Code : Tout sélectionner

<div class="c1"> <div id="navcontainerh"> <b class="bar1">&nbsp;</b> <b class="bar"><a href="./">ACCUEIL</a></b> <b class="bar"><a href="comment-acheter.php">Comment&nbsp;acheter?</a></b> <b class="bar"><a href="panier.php">Panier</a></b> <b class="bar"><a href="contact.php">Contact</a></b> </div></div>
coté css

Code : Tout sélectionner

div.c1 { text-align : center; } #navcontainerh { width : 99%; height : 50px; border : 6px ridge gold; background : url("images/fresq1.png"); } #navcontainerh b.bar1, b.bar { display : inline; float : left; } b.bar a { padding : 0 20px; text-decoration : none; float : left; height : 50px; display : block; line-height : 50px; color : #FFCCCC; font-size : 14px; } b.bar a:hover, b.bar a:active { padding : 0 20px; text-decoration : none; background : url("images/fresq.png"); text-align : left; height : 50px; color : #CC33FF; } b.bar a:active { line-height : 46px; display : block; text-decoration : none; text-align : left; height : 50px; padding : 0 19px; border-top : 3px solid #D76B00; border-left : 1px solid #D76B00; border-right : 1px solid #D76B00; border-bottom : 1px solid #D76B00; }

Mammouth du PHP | 2937 Messages

01 mai 2008, 20:52

Pour center horizontalement un élément en ligne, comme un lien, ce n'est pas sorcier.

Code : Tout sélectionner

a { text-align: center; }
Pour un élément de bloc, il faut lui déclarer une largeur et lui donner des marges latérales automatiques.

Code : Tout sélectionner

div { width: 50%; margin-right: auto; margin-left: auto; }

Mammouth du PHP | 558 Messages

02 mai 2008, 12:47

c'est le post des problemes que des soucis avec se nouveau design.
je voudrais également que dans "<div id="navcontainerh">" il n'y ai pas de retour a laligne en un mots empecher le retour a la ligne sur ce bloque.
inerdire strictement tout retour a la ligne dans ce bloc.
je ne veut pas non plus mettre les balises
"<table><tr><td></td></tr></table>"

Code : Tout sélectionner

<div id="navcontainerh"> <b class="bar"><a href="./">ACCUEIL</a></b> <b class="bar"><a href="comment-acheter.php">Comment&nbsp;acheter?</a></b> <b class="bar"><a href="panier.php">Panier</a></b> <b class="bar"><a href="contact.php">Contact</a></b> </div>
coté css j'en suis la

Code : Tout sélectionner

#navcontainerh { width : 99%; height : 50px; border : 6px ridge gold; background : url("images/fresq1.png"); white-space: nowrap; }
mais rien y fait.
merci.
P.S je ne me suis pas servi de ce que tu m'as dit totor car cela accentue le probleme présent.

Mammouth du PHP | 2937 Messages

02 mai 2008, 16:47

totor
C'est Victor mon prénom. :roll:

Si ça passe à la ligne, c'est qu'il n'y a plus d'espace de disponible à droite. Bref, c'est le comportement normal d'un contenu en ligne (vu qu'il n'y a pas de blocs dans ton div).

Et si tu réduisais l'épaisseur de la bordure (essaie avec 1px au lieu de 6) ?

Mammouth du PHP | 558 Messages

02 mai 2008, 17:25

en ajoutant un bloc dans mon div je vais essaye merci victor

Mammouth du PHP | 2937 Messages

02 mai 2008, 17:37

en ajoutant un bloc dans mon div
Tu te compliques la vie en rendant ton code complexe. Je me demande si une remise à plat de ton code (HTML et CSS) ne serait pas nécessaire.

Prenons le dernier exemple en date. Le code suivant :

Code : Tout sélectionner

<div id="navcontainerh"> <b class="bar"><a href="./">ACCUEIL</a></b> <b class="bar"><a href="comment-acheter.php">Comment&nbsp;acheter?</a></b> <b class="bar"><a href="panier.php">Panier</a></b> <b class="bar"><a href="contact.php">Contact</a></b> </div>
peut être avantageusement remplacé par celui-ci :

Code : Tout sélectionner

<ul id="navcontainerh"> <li><a href="./">ACCUEIL</a></li> <li><a href="comment-acheter.php">Comment&nbsp;acheter?</a></li> <li><a href="panier.php">Panier</a></li> <li><a href="contact.php">Contact</a></li> </ul>
Et en CSS, tu procèdes comme suit :

Code : Tout sélectionner

#navcontainerh { font-weight: bold; list-style: none; padding: 0; margin: 0; } #navcontainerh li { display: inline; padding: 0; margin: 0 0.25em; /* Pour espacer les liens entre eux */ }
Avec un code tel que celui-ci, tu gagnes en balisage sémantique et tu sépares strictement le contenu de sa présentation (en définissant la mise en gras du texte en CSS au lieu d'employer l'élément HTML B, même s'il est encore autorisé, y compris en mode Strict).

Mammouth du PHP | 558 Messages

03 mai 2008, 12:20

oui mais il faut impérativement que cela reste sur la meme ligne étant donner que c'est une barre de menu
j'ai vue sur certain site qu'en reduisant la largeur de fenetre leur barre de menu reste intact et qu'apparait la barre de défilement.
j'ai regarder les codes source mais je n'ai rien vue de special y compris leur css.
merci

Mammouth du PHP | 558 Messages

05 mai 2008, 10:49

finalement j'ai été au plus simple j'ai mis une table dans une autre c'est parfaitement centré et ma barre ne se déforme plus.
ce que je voudrais c'est pouvoir virer les deux table pour du css.
je met le code ci-dessous.
cela alourdi un peu les pages mais cela vous donnera une idée de ce que je veux faire.

Code : Tout sélectionner

<table id="navcontainerh" border="0" cellpadding="0" cellspacing="0" width="100%"> <tr><td align="center"> <table id="navcontain" border="0" cellpadding="0" cellspacing="0"> <tr> <td><a href="./">ACCUEIL</a></td> <td><a target="_blank" href="condition-vente.php">condition&nbsp;de&nbsp;vente</a></td> <td><a href="comment-acheter.php">Comment&nbsp;acheter&nbsp;?</a></td> <td><a href="panier.php">Panier</a></td> <td><a href="contact.php">Contact</a></td> </tr> </table> </td> </tr> </table>
et coté css

Code : Tout sélectionner

#navcontainerh { width : 100%; height : 50px; border : 6px ridge #FF5C0F; background : url("images/fresq1.png"); } #navcontain tr td a { padding : 0 20px; text-decoration : none; font-weight: bold; float : left; height : 50px; display : block; line-height : 50px; color : #FFCCCC; font-size : 14px; } #navcontain tr td a:hover, #navcontainerh tr td a:active { padding : 0 20px; text-decoration : none; background : url("images/fresq.png"); text-align : left; height : 50px; color : #CC33FF; } #navcontain tr td a:active { line-height : 46px; display : block; text-decoration : none; text-align : left; height : 46px; padding : 0 19px; border-top : 3px solid red; border-left : 1px solid red; border-right : 1px solid red; }

Mammouth du PHP | 2937 Messages

06 mai 2008, 14:42

Une table dans une table ? :shock: Bonjour les problèmes d'accessibilité, en plus du manque de balisage sémantique... :roll:

Mammouth du PHP | 558 Messages

06 mai 2008, 15:29

l'essentiel c'est que cela fonctionne bien sous firefox et ie les deux plus gros navigateur mais ce n'est que du provisoire.
en attendant de trouver quelque chose ayant le meme effet visuel en css.
je suis plombier chauffagiste et bien souvent on est obliger de bricoler quelque chose de provisoire en attendant d'avoir le definitif et la sur mon site j'ai appliquer cette regle.

Mammouth du PHP | 558 Messages

08 mai 2008, 14:01

le balisage semantique apporte quoi concretement.
2eme question j'ai une erreur au w3c que je ne comprend pas.
comme on me l'a conseiller j'ai ajouter un "alt" a mes liens partenaire mais cela me provoque une erreur au lieu de quatre car les liens sont generez dynamiquement et je devrais avoir 4 erreur et non pas une.
voici le code qui genère les quatres liens.
$nb_page1=mysql_query("SELECT COUNT(*) FROM `partenaire`") or die(mysql_error());
$nb_page2=mysql_fetch_array($nb_page1);
$nb_page=$nb_page2['COUNT(*)']/20;
PARTENAIRE:
<?php
$i=0; $page2=0;
for($i=0; $i<$nb_page; $i++)
{
$page2=$page2+1;
echo' <a target="_blank" href="partenaire-'.$page2.'.php" alt="liste des sites ayant un lien avec la rose de l'orient">
partenaire '.$page2.'</a> ';
}
?>
http://validator.w3.org/check?uri=http% ... oup=0&st=1

PS j'ai reussi a retirer la double table.

Mammouth du PHP | 19672 Messages

08 mai 2008, 15:38

l'attribut alt n'est pas valide avec la balise <a>, utilise l'attribut title (avec la même valeur) à la place pour les liens. alt est utilisé pour les images.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 558 Messages

08 mai 2008, 16:43

ok merci cyrano plus d'erreur.