J'ai une barre de navigation horizontale faite à partir d'une liste non ordonnée, et chaque élément de la liste a beaucoup de remplissage pour le rendre agréable, mais la seule zone qui fonctionne comme un lien est le texte lui-même. Comment puis-je permettre à l'utilisateur de cliquer n'importe où dans l'élément de la liste pour activer le lien?Comment faire pour que toute la zone d'un élément de liste dans ma barre de navigation soit cliquable en tant que lien?
#nav {
background-color: #181818;
margin: 0px;
overflow: hidden;
}
#nav img {
float: left;
padding: 5px 10px;
margin-top: auto;
margin-bottom: auto;
vertical-align: bottom;
}
#nav ul {
list-style-type: none;
margin: 0px;
background-color: #181818;
float: left;
}
#nav li {
display: block;
float: left;
padding: 25px 10px;
}
#nav li:hover {
background-color: #785442;
}
#nav a {
color: white;
font-family: Helvetica, Arial, sans-serif;
text-decoration: none;
}
<div id="nav">
<img src="/images/renderedicon.png" alt="Icon" height="57" width="57" />
<ul>
<li><a href="#">One1</a></li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
<li><a href="#">Four</a></li>
</ul>
</div>
<div>
<h2>Heading</h2>
</div>
Toutes les versions de IE prennent en charge entièrement 'inline-block' (voir http://www.quirksmode.org/css /display.html). Comme 'li' est déjà flottant,' a {display: block} 'est probablement le meilleur choix. – dhabersack
'affichage: en ligne; zoom: 1; 'dans un commentaire conditionnel pour IE6 et IE7 remplacera' display: inline-block; 'mais oui, si les éléments de la liste sont déjà flottants,' display: block; 'sera OK aussi – FelipeAls
Cela a bien fonctionné une seule plainte , il ne semble pas fonctionner avec le sélecteur: après. Je voulais un symbole '>' apparaissant après le texte de mon lien, mais pas le mettre dans le contenu ... J'ai fini par le mettre dans le contenu. Serait curieux s'il y a une meilleure façon d'accomplir cela. – counterbeing