comment masquer les puces dans le menu de navigation et les liens de pied de page mais les montrer pour la liste des éléments

J'ai un menu de navigation, un pied de page et un diaporama qui utilisent le style listé pour lister les liens et les images. J'ai le css list-style:none; défini pour masquer les puces à côté des liens et des images dans le nav et le pied de page, mais je veux montrer les puces pour le texte normal de la liste.

Comment puis-je faire cela?

29
demandé sur user1373581 2012-05-07 23:28:34

6 réponses

L'exemple ci-dessous explique comment supprimer des puces en utilisant une classe de style css. Vous pouvez utiliser , similaire à la classe css, par identifiant (#id), par balise parent, etc. De la même manière que vous pouvez utiliser pour définir un css pour supprimer des puces du pied de page.

J'ai utilisé ce site comme un point de départ.

<html>
<head>
<style type="text/css">
div.ui-menu li {
    list-style:none;
    background-image:none;
    background-repeat:none;
    background-position:0; 
}
ul
{
    list-style-type:none;
    padding:0px;
    margin:0px;
}
li
{
    background-image:url(sqpurple.gif);
    background-repeat:no-repeat;
    background-position:0px 5px; 
    padding-left:14px;
}
</style>
</head>

<body>

<div class="ui-menu">
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ul>
</div>

<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ul>
</body>

</html>
26
répondu Flavio Cysne 2012-05-07 19:45:33

Vous devez définir une classe pour les balles que vous souhaitez masquer. Pour des exemples

.no-bullets {
    list-style-type: none;
}

Ensuite, appliquez-le à la liste que vous voulez puces cachées:

<ul class="no-bullets">

Toutes les autres listes (sans classe spécifique) afficheront les bulltets comme d'habitude.

18
répondu Israel Unterman 2012-05-07 19:33:07

Vous pouvez styliser les éléments li différemment en fonction de leurs class, de leurs id ou de leurs éléments ancêtres:

li { /* styles all li elements*/
    list-style-type: none;
}

#ParentListID li { /* styles the li elements that have an ancestor element
                      of id="ParentListID" */
    list-style-type: bullet;
}

li.className { /* styles li elements of class="className" */
    list-style-type: bullet;
}

Ou, pour utiliser les éléments ancêtres:

#navigationContainerID li { /* specifically styles the li elements with an ancestor of
                               id="navigationContainerID" */
    list-style-type: none;
}

li { /* then styles all other li elements that don't have that ancestor element */
    list-style-type: bullet;
}
4
répondu David Thomas 2012-05-07 19:32:37

Disons que vous utilisez cette disposition HTML5:

<html>
    <body>
        <header>
            <nav><ul>...</ul></nav>
        </header>
        <article>
            <ul>...</ul>
        </article>
        <footer>
            <ul>...</ul>
        </footer>
    </body>
</html>

Vous pourriez dire dans votre CSS:

header ul, footer ul, nav ul { list-style-type: none; }

Si vous utilisez HTML 4, attribuez des ID à vos DIVs (au lieu d'utiliser les nouveaux éléments fancy-pants) et remplacez ceci par:

#header ul, #footer ul, #nav ul { list-style-type: none; }

Si vous utilisez une feuille de style de réinitialisation CSS (comme celle D'Eric Meyer), vous devrez en fait restituer le style de liste, car la réinitialisation supprime le style de liste de toutes les listes.

#content ul { list-style-type: disc; margin-left: 1.5em; }
1
répondu Derreck Dean 2012-05-07 19:53:21

J'ai combiné une partie de la réponse de Flavio à cette petite solution .

.hidden-ul-bullets li {
    list-style: none;
}
.hidden-ul-bullets ul {
    margin-left: 0.25em; // for my purpose, a little indentation is wished
}

La décision concernant les puces est prise au niveau d'un élément englobant, typiquement un div. L'inconvénient (ou todo) de ma solution est que la suppression de liststyle s'applique également aux listes ordonnées.

0
répondu Wolf 2017-05-23 12:09:57

Vous pouvez également définir une classe pour les balles que vous voulez afficher, donc dans le CSS:

ul {list-style:none; list-style-type:none; list-style-image:none;}

Et dans le HTML, vous définissez simplement les listes à afficher:

<ul style="list-style:disc;">

Ou vous définissez alternativement une classe CSS:

.show-list {list-style:disc;}

, Puis l'appliquer à la liste que vous souhaitez afficher:

<ul class="show-list">

Toutes les autres listes ne montreront pas les puces...

0
répondu Marcus 2013-11-30 12:42:52