18041 sujets
Questions générales et questions de débutants
Mince, je ne comprends pas, j'ai mis dans les CSS
.open_at_load, a:active { color: #333231; }
faut-il faire quelque chose au niveau du PHP ? voici le code :
<?php echo affiche_discipline(); ?>
</ul>
<li class="toggleSubMenu"><span>Portfolio [par secteur]</span>
<?php if ($_GET['spec']=='secteur') {
echo '<ul class="subMenu open_at_load">'; } else
{ echo '<ul class="subMenu">';}
?>
merci encore
.open_at_load, a:active { color: #333231; }
faut-il faire quelque chose au niveau du PHP ? voici le code :
<?php echo affiche_discipline(); ?>
</ul>
<li class="toggleSubMenu"><span>Portfolio [par secteur]</span>
<?php if ($_GET['spec']=='secteur') {
echo '<ul class="subMenu open_at_load">'; } else
{ echo '<ul class="subMenu">';}
?>
merci encore
Non mais je pense qu'il y a une erreur dans ton css
:hover et :active sont 2 états différents.
:hover c'est le survol et :active le click
Du coup ton sélecteur est faux. Je ne comprend pas bien ce que tu veux sélectionner quand tu écris.
Si tu veux changer la couleur au survol tu écris.
Et au clic.
C'est toujours bien d'avoir un effet sur le clic typiquement j'ai ça dans mon code perso.
C'est bien aussi de prévoir 2 méthodes d'identification des liens (couleur + décoration par exemple).
Modifié par joska (13 Jan 2011 - 14:54)
:hover et :active sont 2 états différents.
:hover c'est le survol et :active le click
Du coup ton sélecteur est faux. Je ne comprend pas bien ce que tu veux sélectionner quand tu écris.
.navigation .subMenu a:hover a:active{ color: #333231; list-style: none; }
Si tu veux changer la couleur au survol tu écris.
.open_at_load a:hover{ color: #333231; }
Et au clic.
.open_at_load a:active{ color: #222; }
C'est toujours bien d'avoir un effet sur le clic typiquement j'ai ça dans mon code perso.
a:active{ position: relative; top: 1px; }
C'est bien aussi de prévoir 2 méthodes d'identification des liens (couleur + décoration par exemple).
Modifié par joska (13 Jan 2011 - 14:54)
Je n'arrive pas à dissocier le sous-menu 2 du sous-menu 3
et la classe sur l'open_at_load ne fonctionne pas. J'ai voulu mettre un souligné ou autre pour montrer sur quelle page on est, mais non, cela ne me fait rien. Y a t'il quelque chose à changer dans le PHP ?
Le menu est à 3 niveaux : 1 Portfolio, 2 secteur et 3 client
extrait code source :
<li class="toggleSubMenu"><span>Portfolio [par discipline]</span>
<?php if ($_GET['spec']=='specialite') {
echo '<ul class="subMenu open_at_load">'; } else
{ echo '<ul class="subMenu">';}
?>
<?php echo affiche_discipline(); ?>
</ul>
<li class="toggleSubMenu"><span>Portfolio [par secteur]</span>
<?php if ($_GET['spec']=='secteur') {
echo '<ul class="subMenu open_at_load">'; } else
{ echo '<ul class="subMenu">';}
?>
<?php echo affiche_secteur(); ?></ul>
</li>
les CSS :
.navigation { margin: 1; padding: 0; list-style: none; width: 200px; normal; font-size: 1.4em; float: left; text-decoration: none; }
.navigation a, .navigation span { display: block; padding: 4px 10px; color: #FFF; text-decoration: none; background: #a4a2a0 no-repeat left bottom; }
.navigation a:hover, .navigation a:focus, .navigation a:active { color: #FFF; list-style: none; background: #bdbbba; }
.navigation .subMenu { background: no-repeat 0 0; margin: 0; padding: 0; list-style: none; text-decoration: none; font: 0.9em Arial, Helvetica, sans-serif; color: #333231; }
.navigation ul.subMenu a { background: url(none); padding: 3px 20px 3px 20px; color: #777675; }
.navigation ul.subMenu a:hover { color: #333231; list-style: none; }
.navigation .subMenu2 { padding-left: 10px; list-style: none; font: 0.9em Arial, Helvetica, sans-serif; color: #000; }
.navigation .toggleSubMenu a, .navigation .toggleSubMenu span {list-style: none; text-decoration: none; }
.navigation .toggleSubMenu a:active { list-style: none; text-decoration: underline; }
.navigation .toggleSubMenu2 { color: #83807d; list-style: none; }
.navigation .toggleSubMenu a:active { list-style: none; text-decoration: underline; }
.open_at_load2, a:active { color: #33323; }
le php attaché au menu :
function affiche_secteur() {
connexion_DB('username modéré');
$strSQL = 'SELECT `nom` FROM `secteur` ORDER BY `nom`';
$resultat = requete_SQL($strSQL);
$menu_retour = '';
$rubrique=$_GET['rubrique'];
while ($tabl_result = mysql_fetch_array($resultat)) {
$res=Affiche_menu($tabl_result['nom'],"secteur");
if ($res!='') {
if ($tabl_result['nom']==$rubrique) {
$menu_retour .= '<li class="toggleSubMenu2"><span>'.$tabl_result['nom'].'</span>
<ul class="subMenu2 open_at_load">';
} else {
$menu_retour .= '<li class="toggleSubMenu2"><span>'.$tabl_result['nom'].'</span>
<ul class="subMenu2">';
}
$menu_retour .= $res;
$menu_retour .= '</ul> </li>';
}
}
return $menu_retour;
}
merciiiiii pour votre patience
et la classe sur l'open_at_load ne fonctionne pas. J'ai voulu mettre un souligné ou autre pour montrer sur quelle page on est, mais non, cela ne me fait rien. Y a t'il quelque chose à changer dans le PHP ?
Le menu est à 3 niveaux : 1 Portfolio, 2 secteur et 3 client
extrait code source :
<li class="toggleSubMenu"><span>Portfolio [par discipline]</span>
<?php if ($_GET['spec']=='specialite') {
echo '<ul class="subMenu open_at_load">'; } else
{ echo '<ul class="subMenu">';}
?>
<?php echo affiche_discipline(); ?>
</ul>
<li class="toggleSubMenu"><span>Portfolio [par secteur]</span>
<?php if ($_GET['spec']=='secteur') {
echo '<ul class="subMenu open_at_load">'; } else
{ echo '<ul class="subMenu">';}
?>
<?php echo affiche_secteur(); ?></ul>
</li>
les CSS :
.navigation { margin: 1; padding: 0; list-style: none; width: 200px; normal; font-size: 1.4em; float: left; text-decoration: none; }
.navigation a, .navigation span { display: block; padding: 4px 10px; color: #FFF; text-decoration: none; background: #a4a2a0 no-repeat left bottom; }
.navigation a:hover, .navigation a:focus, .navigation a:active { color: #FFF; list-style: none; background: #bdbbba; }
.navigation .subMenu { background: no-repeat 0 0; margin: 0; padding: 0; list-style: none; text-decoration: none; font: 0.9em Arial, Helvetica, sans-serif; color: #333231; }
.navigation ul.subMenu a { background: url(none); padding: 3px 20px 3px 20px; color: #777675; }
.navigation ul.subMenu a:hover { color: #333231; list-style: none; }
.navigation .subMenu2 { padding-left: 10px; list-style: none; font: 0.9em Arial, Helvetica, sans-serif; color: #000; }
.navigation .toggleSubMenu a, .navigation .toggleSubMenu span {list-style: none; text-decoration: none; }
.navigation .toggleSubMenu a:active { list-style: none; text-decoration: underline; }
.navigation .toggleSubMenu2 { color: #83807d; list-style: none; }
.navigation .toggleSubMenu a:active { list-style: none; text-decoration: underline; }
.open_at_load2, a:active { color: #33323; }
le php attaché au menu :
function affiche_secteur() {
connexion_DB('username modéré');
$strSQL = 'SELECT `nom` FROM `secteur` ORDER BY `nom`';
$resultat = requete_SQL($strSQL);
$menu_retour = '';
$rubrique=$_GET['rubrique'];
while ($tabl_result = mysql_fetch_array($resultat)) {
$res=Affiche_menu($tabl_result['nom'],"secteur");
if ($res!='') {
if ($tabl_result['nom']==$rubrique) {
$menu_retour .= '<li class="toggleSubMenu2"><span>'.$tabl_result['nom'].'</span>
<ul class="subMenu2 open_at_load">';
} else {
$menu_retour .= '<li class="toggleSubMenu2"><span>'.$tabl_result['nom'].'</span>
<ul class="subMenu2">';
}
$menu_retour .= $res;
$menu_retour .= '</ul> </li>';
}
}
return $menu_retour;
}
merciiiiii pour votre patience
Bonsoir
1 - Il y a peut etre une erreur dans le css
Si tu cherches à cibler les liens de la liste il faut que tu retires la virgule.
De plus en utilisant la pseudo-classe :active tu ne cibles que le lien quand il est cliqué.
Je ne pense pas que ça soit l'effet désiré.
2 - il faut que tu caches les sous menu de la classe 'open_at_load" dans le script
Quelque chose comme.
1 - Il y a peut etre une erreur dans le css
.open_at_load2, a:active { color: #33323; }
Si tu cherches à cibler les liens de la liste il faut que tu retires la virgule.
.open_at_load2 a:active { color: #33323; }
De plus en utilisant la pseudo-classe :active tu ne cibles que le lien quand il est cliqué.
Je ne pense pas que ça soit l'effet désiré.
2 - il faut que tu caches les sous menu de la classe 'open_at_load" dans le script
Quelque chose comme.
$(".navigation ul.subMenu:not('.open_at_load'), .navigation ul.open_at_load ul").hide();
// On selectionne tous les items de liste portant la classe "toggleSubMenu"
Bonjour khyriana,
Tout ça m'a l'air bien laborieux. Engager les services d'un intégrateur web (HTML, CSS, JavaScript) ou d'un développeur web polyvalent (mêmes technos + PHP) n'était pas possible?
J'ai un peu l'impression que joska est en train de te tenir par la main à chaque pas ou presque. C'est très sympa de sa part mais je ne suis pas sûr que ça soit le plus productif pour toi et pour ton projet.
Tout ça m'a l'air bien laborieux. Engager les services d'un intégrateur web (HTML, CSS, JavaScript) ou d'un développeur web polyvalent (mêmes technos + PHP) n'était pas possible?
J'ai un peu l'impression que joska est en train de te tenir par la main à chaque pas ou presque. C'est très sympa de sa part mais je ne suis pas sûr que ça soit le plus productif pour toi et pour ton projet.
Bonjour,
oui, c'est laborieux en effet. Et je précise au passage que j'ai déja loué les sces d'une développeuse PHP, et comme le menu ne réagit toujours pas comme je le voudrais, je suis allée aux renseignements sur cet espace. La développeuse n'est pas capable apparemment de le faire. Je l'ai déja payée, car étant moi-même indépendante, je ne fais pas comme les clients, mais je reste en rade et bien ennuyée.
En tout cas merci à Joska dont je me suis déja gardé ces coordonnées.
Bonne journée
oui, c'est laborieux en effet. Et je précise au passage que j'ai déja loué les sces d'une développeuse PHP, et comme le menu ne réagit toujours pas comme je le voudrais, je suis allée aux renseignements sur cet espace. La développeuse n'est pas capable apparemment de le faire. Je l'ai déja payée, car étant moi-même indépendante, je ne fais pas comme les clients, mais je reste en rade et bien ennuyée.
En tout cas merci à Joska dont je me suis déja gardé ces coordonnées.
Bonne journée