我需要一个没有任何项目符号的无序列表

I need an unordered list without any bullets

提问人:praveenjayapal 提问时间:6/22/2009 最后编辑:Peter Mortensenpraveenjayapal 更新时间:7/15/2023 访问量:2409969

问:

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

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

HTML CSS格式

评论


答:

4147赞 Paul Dixon 6/22/2009 #1

您可以通过在父元素(通常为 )的 CSS 上设置 list-style-type 来删除项目符号,例如:none<ul>

ul {
  list-style-type: none;
}

如果您还想删除缩进,您可能还想添加 and。padding: 0margin: 0

请参阅 Listutorial 了解列表格式化技术的精彩演练。

评论

0赞 David Balažic 9/16/2016
@tovmeod 似乎在我的 IE9(在 Win7 上)中工作正常。(这是一个复杂的页面,而不是一个简单的 POC,也许其他东西改变了行为)
3赞 Kunal 1/17/2018
如果您像我一样,也在寻找如何删除缩进,请参阅此 - stackoverflow.com/a/13939142/846727
0赞 Evgenii Klepilin 1/27/2020
填充和边距的触感很好
0赞 Cagy79 11/3/2020
下面有一个更优雅的解决方案,可以在答案中显示没有项目符号的列表@shaneb。它利用了 HTML5 对象“描述列表”。
0赞 Charming Robot 8/19/2021
奖励:如果您想摆脱左边距,您可能需要添加。padding-inline-start: 0
228赞 karim79 6/22/2009 #2

您需要使用list-style: none;

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

评论

7赞 Mark Baijens 2/16/2018
请注意,内联 css 会覆盖文件中的 css。根据应用程序/开发实践,它可能真的很烦人。
51赞 charliehoward 12/10/2012 #3

对前面的答案进行了小幅改进:要使较长的行在溢出到其他屏幕行时更具可读性:

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

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

评论

0赞 Underverse 5/21/2014
有效,但仅适用于 IE8
0赞 mfluehr 9/19/2019
没有必要同时穿上 和 .你可以只做一个。list-style-type: none;ulli
-8赞 Phil 3/15/2013 #4

如果你想在不求助于CSS的情况下保持简单,我只是在我的代码行中放了一个。即,.&nbsp;<table></table>

是的,它留下了一些空格,但这并不是一件坏事。

评论

12赞 webnoob 3/15/2013
-1 简单?没有CSS?这就是为什么许多网站处于令人震惊的状态。CSS 增加了简单性。表格不是前进的方向。
720赞 Scott Stafford 7/11/2013 #5

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

删除默认列表样式,并在列表项上留下填充(仅限直接子项)。

引导程序 2:

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

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

Bootstrap 3、4 和 5:

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

引导程序 3:http://getbootstrap.com/css/#type-lists

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

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

评论

5赞 PJ Brunet 4/5/2018
如果我们列出每个 CSS 框架的类,那么 StackOverflow 就会一团糟。快速的谷歌搜索显示,Bootstrap 在其巅峰时期只有 2% 的网站使用,而且随着 flexbox 和 css grid 等更明智的解决方案的引入,这一数字肯定会下降。
14赞 Bobort 5/10/2018
实际上,这个答案正是我想要的。整个互联网有 3.6% 的人使用 Bootstrap,所以它并没有下降。trends.builtwith.com/docinfo/Twitter-Bootstrap快速的谷歌搜索显示,Bootstrap 一直被放在“最流行的 CSS 框架”类别中。
3赞 inmydelorean 10/31/2020
@PJBrunet如果我们列出每个CSS框架的类,我们会有更多的人得到他们问题的答案。此外,OP 没有提到他只对纯 CSS 解决方案感兴趣。
0赞 Timo 1/16/2021
如果 ul 是唯一的,我会在这里使用 id 而不是 class。如果没有,请继续上课。
15赞 Chris Halcrow 9/17/2013 #6

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

ul.dashed-list {
    list-style: none outside none;
}

ul.dashed-list li:before {
    content: "\2014";
    float: left;
    margin: 0 0 0 -27px;
    padding: 0;
}

ul.dashed-list li {
    list-style-type: none;
}
<ul class="dashed-list">
  <li>text</li>
  <li>text</li>
</ul>

21赞 Antonio Ooi 10/8/2013 #7

如果无法使其在该级别工作,则可能需要将 在以下级别:<ul>list-style-type: 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>

必要时,使用:!important

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

评论

0赞 Mahdyar 4/19/2022
使用 !important 是不好的做法,也是不必要的,如果代码不起作用,请确保新代码低于旧代码。在大型项目中,当他们想让事情变得动态时,重要可能会变得非常成问题。
7赞 matt 9/3/2016 #8

这将对列表进行垂直排序,而不带项目符号。只需一行!

li {
    display: block;
}

评论

3赞 mfluehr 9/19/2019
技术说明:这之所以有效,是因为它覆盖了 的默认值,即 。display<li>display: list-item;
8赞 ShaneB 3/23/2018 #9

如果你想只用HTML来完成这个任务,这个解决方案将适用于所有主流浏览器。

描述列表

只需使用以下 HTML:

    <dl>
      <dt>List Item 1</dt>
        <dd>Sub-Item 1.1</dd>
      <dt>List Item 2</dt>
        <dd>Sub-Item 2.1</dd>
        <dd>Sub-Item 2.2</dd>
        <dd>Sub-Item 2.3</dd>
      <dt>List Item 3</dt>
        <dd>Sub-Item 3.1</dd>
    </dl>

示例如下: https://jsfiddle.net/zumcmvma/2/

参考这里: https://www.w3schools.com/tags/tag_dl.asp

评论

2赞 Bobort 5/10/2018
如果要使用此方法,请使用语义上正确的方式输入要定义的术语,并在 中输入该术语的定义。<dt><dd>
0赞 Cagy79 11/3/2020
这是对这个问题的最佳答案,尽管提出这个问题的人不知道这个更优雅的解决方案,所以他们会不同意,但这个解决方案产生了最好的结果。
-2赞 Oracular Man 4/26/2018 #10
 <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>
-1赞 Dadhich Sourav 7/24/2018 #11

我尝试并观察到:

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

评论

1赞 mfluehr 9/19/2019
这实际上并不能移除项目符号。他们只是被推到屏幕外。
4赞 Masih Jahangiri 4/23/2019 #12

要完全删除默认样式,请执行以下操作: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;
4赞 Ali_Hr 1/27/2020 #13

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

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

li {
    list-style: none !important;
}

如果不是这种情况,请检查 .如果它包含内容,请执行以下操作:li:before

li:before {
    display: none;
}
0赞 Abuhanzala Rehanansari 7/30/2020 #14
ul{list-style-type:none;}

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

评论

1赞 Vega 6/23/2022
这个答案中有什么新的东西还没有说出来吗?
1赞 m4n0 2/13/2021 #15

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

  1. 透明::marker

ul li::marker {
  color: transparent;
}

ul li::marker {
  color: transparent;
}

ul {
  padding-inline-start: 10px; /* Just to reset the browser initial padding */
}
<ul>
  <li> Bullets are bothersome </li>
  <li> I want to remove them. </li>
  <li> Hey! ::marker to the rescue </li>
</ul>

  1. ::marker空内容

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

ul li::marker {
   content: "";
}
<ul>
  <li> Bullets are bothersome </li>
  <li> I want to remove them </li>
  <li> Hey! ::marker to the rescue </li>
</ul>

当您需要从特定列表项中删除项目符号时,最好这样做。

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

ul li:not(:nth-child(2))::marker {
   content: "";
}
<ul>
  <li> Bullets are bothersome </li>
  <li> But I can live with it using ::marker </li>
  <li> Not again though </li>
</ul>

1赞 Kevin Thomas 12/5/2022 #16

BOOTSTRAP 中,您可以通过在 li 标记的父类上设置 list-unstyled 类来删除项目符号。

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

评论

0赞 mfluehr 12/17/2022
Bootstrap 已经在另一个答案中介绍过。
0赞 ethry 12/17/2022
className 仅在 ReactJS 中有效。