我创建了一个无序列表。我觉得无序列表中的项目符号很烦人,所以我想删除它们。

有可能有一个没有项目符号的列表吗?


您可以通过在父元素(通常是<ul>)的CSS上将列表样式类型设置为none来删除项目符号,例如:

ul {
  list-style-type: none;
}

如果还想删除缩进,您可能还需要在其中添加填充:0和边距:0。

有关列表格式技术的详细演练,请参见Listutorial。


您需要使用列表样式:none;

<ul style="list-style: none;">
    <li>...</li>
</ul>

对前面的答案进行了小的改进:如果较长的行溢出到其他屏幕行,则使其更可读:

ul, li {list-style-type: none;}

li {padding-left: 2em; text-indent: -2em;}

如果您想在不使用CSS的情况下保持简单,我只需要;在我的代码行中。即<table></table>。

是的,它会留下一些空间,但这不是坏事。


如果您使用Bootstrap,它有一个“未样式”类:

删除列表项的默认列表样式和左填充(仅限直接子项)。

引导2:

<ul class="unstyled">
   <li>...</li>
</ul>

http://twitter.github.io/bootstrap/base-css.html#typography

引导3和4:

<ul class="list-unstyled">
   <li>...</li>
</ul>

引导3:http://getbootstrap.com/css/#type-列表

引导4:https://getbootstrap.com/docs/4.3/content/typography/#unstyled

引导5:https://getbootstrap.com/docs/5.0/content/typography/#unstyled


我在ul和li上都使用了列表样式来删除子弹。我想用自定义字符替换项目符号,在本例中为“破折号”。这提供了一个很好的缩进效果,当文本换行时效果很好。

ul.dashed列表{列表样式:无外无;}ul.dashed-list li:之前{内容:“\2014”;浮动:左侧;边距:0 0-27px;填充:0;}ul.dashed列表li{列表样式类型:无;}<ul class=“虚线列表”><li>文本</li><li>文本</li></ul>


如果您无法使其在<ul>级别工作,则可能需要将列表样式类型:none;在<li>级别:

<ul>
    <li style="list-style-type: none;">Item 1</li>
    <li style="list-style-type: none;">Item 2</li>
</ul>

您可以创建一个CSS类来避免这种重复:

<style>
ul.no-bullets li
{
    list-style-type: none;
}
</style>

<ul class="no-bullets">
    <li>Item 1</li>
    <li>Item 2</li>
</ul>

必要时,使用!重要:

<style>
ul.no-bullets li
{
    list-style-type: none !important;
}
</style>

这将垂直排列一个没有项目符号的列表。只有一行!

li {
    display: block;
}

如果您想仅使用纯HTML实现这一点,此解决方案将适用于所有主要浏览器:

描述列表

只需使用以下HTML:

<dl><dt>列出项目1</dt><dd>子项1.1</dd><dt>列出项目2</dt>子项2.1</dd>子项2.2</dd>子项2.3</dd><dt>列出项目3</dt><dd>子项3.1</dd></dl>

此处示例:https://jsfiddle.net/zumcmvma/2/

此处参考:https://www.w3schools.com/tags/tag_dl.asp


 <div class="custom-control custom-checkbox left">
    <ul class="list-unstyled">
        <li>
         <label class="btn btn-secondary text-left" style="width:100%;text-align:left;padding:2px;">
           <input type="checkbox" style="zoom:1.7;vertical-align:bottom;" asp-for="@Model[i].IsChecked" class="custom-control-input" /> @Model[i].Title
         </label>
        </li>
     </ul>
</div>

我试着观察到:

header ul {
   margin: 0;
   padding: 0;
}

要完全删除ul默认样式:

    list-style-type: none;

    margin: 0;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;

如果您正在开发现有主题,则该主题可能具有自定义列表样式。

因此,如果无法使用列表样式更改列表样式:none;在ul或li标签中,首先检查!重要的是,因为可能有其他风格行正在覆盖您的风格。如果重要的是修复了它,您应该找到一个更具体的选择器并清除!重要的

li {
    list-style: none !important;
}

如果不是这样的话,请检查li:before。如果包含内容,请执行以下操作:

li:before {
    display: none;
}

ul{list-style-type:none;}

只需将无序列表的样式设置为无。


可以使用::marker伪元素隐藏它们。

透明::标记


ul li::marker {
  color: transparent;
}

ul li::标记{颜色:透明;}上一页{填充内联开始:10px;/*只需重置浏览器初始填充*/}<ul><li>子弹很烦人</li><li>我想删除它们</li><li>嘿!::救援标志</li></ul>

::标记空内容


ul li::marker {
  content: "";
}

ul li::标记{内容:“”;}<ul><li>子弹很烦人</li><li>我想删除它们</li><li>嘿!::救援标志</li></ul>

当您需要从特定列表项中删除项目符号时,效果更好。

ul li:nth-child(n)::marker { /* Replace n with the list item's position*/
   content: "";
}

ul li:not(:第n个孩子(2))::标记{内容:“”;}<ul><li>子弹很烦人</li><li>但我可以使用::标记</li><li>但不会再这样了</li></ul>


在BOOTSTRAP中,可以通过在li标记的父类上设置列表未设置样式的类来删除项目符号。

<ul className="list-unstyled">
    <li>One</li>
    <li>Two</li>
    <li>Three</li>
</ul>