Comment dois-je cibler un élément spécifique imbriquée dans l'HTML et le code CSS?
Je veux cibler un élément spécifique et quelles que soient les propriétés j'ai mis sur le logo remplace les autres éléments répertoriés. Par exemple, j'ai un style de bordure qui est solide et il fonctionne à travers tous les éléments énumérés de #nav. Je veux juste mettre le lien de l'image logo une exception à cette règle. Le logo est situé juste au milieu entre le portefeuille et de projets. Comment puis-je faire cela?
<!--NAVIGATION-->
<ul id="nav">
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="portfolio.html">Portfolio</a></li>
<li id="logo"><a href="index.html"><img src="assets/img/jp-logo.png" /></a></li>
<li><a href="projects.html">Projects</a></li>
<li><a href="contact.html">Contact</a></li>
<li><a href="classlist.html">Class List</a></li> <!--change URL later-->
</ul>
#nav{
list-style-type: none; /*gets rid of bullets*/
padding: 0;
border-color: #FFB405;
border-style: solid;
border-width: 1px 0;
text-align:center;
}
#nav li{
display: inline; /*display list horizontally*/
}
#nav a{
display: inline-block; /*don't break onto new lines and follow padding accordingly*/
padding:10px;
}
Comment sur l'utilisation de l' .lien ???
u veux dire #logo:lien
vous avez une frontière pour la liste complète et que vous souhaitez supprimer de la frontière avec le logo?
désolé si je n'ai pas compris votre question, mais ne pouvez-vous pas juste le style comme
Voulez-vous quelque chose de ce genre ? jsfiddle.net/exnxq/1
u veux dire #logo:lien
vous avez une frontière pour la liste complète et que vous souhaitez supprimer de la frontière avec le logo?
désolé si je n'ai pas compris votre question, mais ne pouvez-vous pas juste le style comme
#logo > a {border: none;}
?Voulez-vous quelque chose de ce genre ? jsfiddle.net/exnxq/1
OriginalL'auteur TheAmazingKnight | 2013-09-07
Vous devez vous connecter pour publier un commentaire.
Je suppose que le problème est plus sur la suppression de la frontière avec le logo de cibler l'élément car il a un id, ainsi que le ciblage est aussi facile que de
#logo
.La première chose que vous devez faire afin d'exclure le logo de la frontière, c'est d'appliquer la propriété à la liste des articles plutôt que sur le contenant
<ul>
alors que vous venez de remplacer le style de la règle suivante:Enfin, si vous allez appliquer ce style, vous remarquerez un écart entre vos éléments de liste, cela est causé par le
display:inline-block
propriété et les espaces dans les balises HTML, vous pouvez vérifier cette réponse pour de multiples façons de le gérer correctement.Voici une démo complète de la solution dans jsFidlle
OriginalL'auteur koala_dev
Vous pouvez faire
Cela correspond à un élément avec l'id logo, étiquette
<a>
et les enfants de l'élément avec l'id de navOu même
est assez.
OriginalL'auteur 0xc0de
Cochez cette Violon
Donner
border-top
etborder-bottom
vousli
et de cibler vos#logo
avecborder:none;
cela permettra de résoudre votre problème.Et pour l'écart vous pouvez le voir dans entre
li
éléments de ce problème peut être résolu par la mise en au parent élémentsfont-size:0;
et ensuite définir lefont-size:npx
à votreli
élément.HTML
CSS
font-size:0
n'est pas conseillé non plus, si l'on est capable de modifier le code HTML, puis retirer la whitespce à la source est préférableje pense qu'il serait bon d'avoir une taille de police:0 , plutôt que d'ajouter des commentaires html dans entre tous les éléments de la liste.
Ce n'est certainement pas une bonne pratique, Safari 5 et Android ont des problèmes avec elle, mais plus important encore, il rompt tout ultérieure de mise en page basée sur
ems
et%
, je vous conseille de lire le lien que j'ai posté dans ma réponsebro, merci pour l'info
OriginalL'auteur Vikas Ghodke