Supprimer la bordure du dernier élément

Résolu/Fermé
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 - 2 mars 2015 à 18:42
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 - 2 mars 2015 à 21:52
Bonjour à toutes et à tous,

Je me casse la tête sur un petit problème de bordure au niveau de mon menu déroulant dont voici le code :

<ul id="menu">

	<li>
		<a href="index.php">Accueil</a>
	</li>
	<li>
		<a href="a-l-affiche.php">A l'Affiche</a>
	</li>
	<li>
		<a href="#">Catégories</a>
			<ul>
				<li>
					<a href="fantastiques.php">Fantastiques</a>
				</li>
				<li>
					<a href="sf.php">Science-fiction</a>
				</li>
				<li>
					<a href="action.php">Action</a>
				</li>
				<li>
					<a href="dramatiques.php">Drames</a>
				</li>
				<li>
					<a href="comedies.php">Comédies</a>
				</li>
				<li>
					<a href="thriller.php">Thriler - Policier</a>
				</li>
				<li>
					<a href="series.php">Séries</a>
				</li>
				<li>
					<a href="sagas.php!!!">Sagas</a>
				</li>
				<li>
					<a href="coupcoeur.php">Coups de coeur</a>
				</li>
			</ul>
		</li>
		<li>
			<a href="http://www.lecinephie.byethost7.com/forum">Forum</a>
		</li>
		<li>
			<a href="http://www.lecinephie.byethost7.com/contact.php">Contact</a>
		</li>
		<li>
			<a href="#">Connexion</a>
		</li>
		<li>
			<a href="#">Déconnexion</a>
		</li>
		<li id="search">
			<form action="search.php" method="Post">
			<input type="text" name="requete" size="10">
			<input type="submit" value="Ok">
			</form>
		</li>
	</ul>
	<div id="clear"></div>


Je souhaite enlever la bordure autour de mon dernier éléement li du menu, à savoir, la barre de recherche.

Voici le css du menu :

#menu, #menu ul /* Liste */     
{
	padding : 0;
	margin : 0; 
	list-style : none; 
	line-height : 35px; /* on définit une hauteur pour chaque élément */
	text-align : center; /* on centre le texte qui se trouve dans la liste */
	max-width: 100%;
	margin-bottom: 30px;
	font-family : Arial;
	font-size : 14px;
	z-index:50;
}

#menu a /* Contenu des listes */
{
	display : block; /* on change le type d'élément, les liens deviennent des balises de type block */
	padding : 0; /* aucune marge intérieure */
	background : #000; /* couleur de fond */
	color : #000; /* couleur du texte */
	text-decoration : none; /* on supprime le style par défaut des liens (la plupart du temps = souligné) */
	width : 120px; /* largeur */
	background-image: url(menu2.png);
	padding-left: 5px;
	padding-right:5px;
	
}

#menu li /* Elements des listes */      
{ 
        float : left; 
        /* pour IE qui ne reconnaît pas "transparent" */
        border: 1px solid black; /* on met une bordure blanche à droite de chaque élément */
}

/* IE ne reconnaissant pas le sélecteur ">" */
html>body #menu li
{
        border-right: 1px solid transparent ; /* on met une bordure transparente à droite de chaque élément */
}

#menu li ul /* Sous-listes */
{ 
        position: absolute; /* Position absolue */
        /*width: 144px; /* Largeur des sous-listes */
        left: -999em; /* Hop, on envoie loin du champ de vision */
}


#menu li ul li /* Éléments de sous-listes */
{
        /* pour IE qui ne reconnaît pas "transparent" (comme précédemment) */
        border : 1px solid black; /* on met une bordure blanche en haut de chaque élément d'une sous liste */
		clear: left;
}

/* IE ne reconnaissant pas le sélecteur ">" */
html>body #menu li ul li                
{
	border-top : 1px solid transparent; /* on met une bordure transparente en haut de chaque élément */
	display: block;
}

#menu li ul ul 
{
        margin    : -22px 0 0 144px ; /* On décale les sous-sous-listes pour qu'elles ne soient pas au dessus des sous-listes */ 
        /* pour IE qui ne reconnaît pas "transparent" (comme précédemment) */
        border  : 1px solid black ; /* Petite bordure à gauche pour ne pas coller ... */      
}
#search
{
	padding-left: 5px;
	 border-top: 1px solid transparent ;
	 border-bottom: 1px solid transparent ;
}
#menu a:hover /* Lorsque la souris passe sur un des liens */    
{
	color: #FFF; /* On passe le texte en blanc... */
	background: #fff; /* ... et au contraire, le fond en blanc */
	background-image: url(menu_hover2.png);
}

#menu li:hover ul ul, #menu li.sfhover ul ul /* Sous-sous-listes lorsque la souris passe sur un élément de liste */
{
        left: -999em; /* On expédie les sous-sous-listes hors du champ de vision*/
		display: block;
}

#menu li:hover ul, #menu li li:hover ul, #menu li.sfhover ul, #menu li li.sfhover ul  /* Sous-listes lorsque la souris passe sur un élément de liste ET sous-sous-lites lorsque la souris passe sur un élément de sous-liste */
{
	left: auto; /* Repositionnement normal */
	min-height: 0; /* Corrige un bug sous IE */
	display: block;
}
#clear
{
	clear: both;
}



Merci d'avance de vos réponses et de m'avoir lu,

Cordialement,

hharchi9.
A voir également:

1 réponse

Cocolabaloune Messages postés 53 Date d'inscription mercredi 27 mai 2009 Statut Membre Dernière intervention 16 septembre 2015 5
2 mars 2015 à 19:45
Bonjour,

Une solution consiste à utiliser le pseudo sélecteur css "last-child".


#menu li:last-child {
border:none;
}
3
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
Modifié par hharchi9 le 2/03/2015 à 19:55
Bonjour,

Tout d'abord, merci de votre réponse, cependant j'ai déjà utiliser cette méthode, sans succès...

Ce bout de code a pour effet de décaler le dernier élément li de mon sous-menu (ce qui n'est pas l'effet escompté)
0
Cocolabaloune Messages postés 53 Date d'inscription mercredi 27 mai 2009 Statut Membre Dernière intervention 16 septembre 2015 5 > hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015
2 mars 2015 à 19:56
Bonjour,

Voici un exemple d'implémentation sur jsFiddle. La bordure autour du champ de recherche a été retirée.
http://jsfiddle.net/4qgk5b08/
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
2 mars 2015 à 20:04
J'ai utilisé exactement le même code que celui proposé mais je n'obtient pas ce résultat : http://www.lecinephie.byethost7.com/index.php
0
Cocolabaloune Messages postés 53 Date d'inscription mercredi 27 mai 2009 Statut Membre Dernière intervention 16 septembre 2015 5
2 mars 2015 à 20:19
Merci pour le lien, ça facilite le compréhension.

Il faut sortir le div "clear" du ul, sinon le dernier enfant du menu est ce div et non le champ de recherche.

Idéalement, il faudrait mettre le div clear après le tag nav
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
2 mars 2015 à 20:31
C'est beaucoup mieux en effet seulement le fait de modifier le li provoque un déplacement vers le haut du bouton coup de coeur dans caégories...
0