2011-06-15 5 views
2

Je crée un menu déroulant simple en utilisant css.Menu déroulant Liste CSS

<ul> 
    <li id="base"><a href="projects.php" class="button">Projects</a> 
     <ul> 
      <li>Project 1</li> 
      <li>Project 2</li> 
     </ul> 
    </li> 
</ul> 

Ce que je ne peux pas comprendre, comment puis-je obtenir le texte d'ancre « Projets » pour le changer correctement est arrière-plan pour indiquer que vous naviguez dans cette liste.

Si je demande un effet de fond à base de li #,

li#base:hover { 
    background: #4b4b4b; 
    border-radius: 4px; 
    -webkit-border-radius: 4px; 
    -moz-border-radius: 4px; 
    -khtml-border-radius: 4px; 
} 

je reçois ce contexte indésirable si je suis planant au-dessus "Projet 1" ou "Projet 2":
undesired

Le image ci-dessous est ce que je veux regarder, mais c'est avec le pseudo-curseur hover appliqué à l'ancrage au lieu de li # base (qui ne restera en surbrillance quand je suis sur le lien et non toute la liste):
desired

J'ai essayé de présenter cela de la manière la plus simple que je pouvais penser ...

Répondre

1

vous définissez le rayon des 4 coins. Vous voulez un coin arrondi juste en haut à droite et en haut à gauche.

-webkit-border-top-left-radius: 4px; 
-webkit-border-top-right-radius: 4px; 
-moz-border-radius-topleft: 4px; 
-moz-border-radius-topright: 4px; 
border-top-left-radius: 4px; 
border-top-right-radius: 4px; 
+0

Merci! Un indice sur la façon de rendre l'arrière-plan plus étendu quand il est appliqué à li # base? Rembourrage et marge ne semblent pas faire quoi que ce soit pour cela. – holyfsck

+0

Je devrais voir le reste du HTML/CSS. Les listes peuvent être pénibles en raison de l'imbrication et des paramètres par défaut du navigateur. Il est généralement utile d'utiliser une réinitialisation CSS. –

+0

Pourriez-vous jeter un oeil sur le site dans mon profil si vous en avez l'occasion? Il n'y a pas encore grand chose à faire, donc il n'y a pas grand chose à fouiller. – holyfsck