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


2507

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

可以有没有项目符号的清单吗?

Answers:


3688

你可以通过设置除去子弹list-style-typenone在CSS的父元素(典型的是<ul>),例如:

ul {
  list-style-type: none;
}

您可能还需要增加padding: 0margin: 0对,如果你想删除的缩进以及。

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


@tovmeod似乎可以在我的IE9(在Win7上)上正常工作。(这是一个复杂的页面,而不是一个简单的POC,也许其他行为改变了行为)
DavidBalažic16年

1
如果您像我一样,并且也在寻找如何删除缩进,请参阅此 -stackoverflow.com/a/13939142/846727
Kunal

6
哦,我有多少次回到这里进行复制/粘贴了:)
Jonathan.Brink

填充和页边距
很好

586

如果您使用的是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-lists

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


2
如果我们为每个CSS框架列出类,那么StackOverflow就会一团糟。Google的快速搜索显示,Bootstrap在高峰时期仅被2%的网站使用,并且随着诸如Flexbox和CSS网格等更明智的解决方案的推出,这种情况肯定会下降。
PJ Brunet '18

4
实际上,这个答案正是我所要的。Bootstrap被整个Internet的3.6%使用,因此它并没有下降。 Trends.builtwith.com/docinfo/Twitter-Bootstrap 通过Google的快速搜索显示,Bootstrap始终位于“最受欢迎的CSS框架”类别中。
Bobort

209

您需要使用 list-style: none;

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

4
请注意,内联css会覆盖文件中的css。取决于应用程序/开发实践,这可能会很烦人。
Mark Ba​​ijens

39

对先前的答案进行细微的改进:如果较长的行溢出到其他屏幕行中,则使它们更易读:

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

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

有效,但仅适用于IE8
Underverse

这是不必要的投入list-style-type: none;上都ulli。您可以只做一个。
mfluehr

14

如果您无法使其在<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>

14

我在ul和li上都使用了列表样式来删除项目符号。我想用自定义字符替换子弹,在这种情况下为“破折号”。这样可以产生很好的缩进效果,当文本自动换行时就可以使用。

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>


5

要完全删除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;

2

如果您想仅使用 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>

它将产生类似于以下内容的列表:

List Item 1
     Sub-Item 1.1
List Item 2
     Sub-Item 2.1
     Sub-Item 2.2
     Sub-Item 2.3
List Item 3
     Sub-Item 3.1

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

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


1
如果要使用此方法,请使用语义上正确的方式输入要在<dt>中定义的术语,并在中定义该术语<dd>
Bobort

2

这将垂直排列列表,没有项目符号点。只需一行!

li {
    display: block;
}

技术说明:之所以有效,是因为它会覆盖默认display<li>,即display: list-item;
mfluehr

0

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

因此,如果您无法使用list-style: none;ul或li标签更改列表样式,请先进行检查,!important因为其他样式可能会覆盖您的样式。

如果不是这种情况,则检查li:before其是否包含内容。然后做:

li:before { dispaly: none; }

-1
 <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>


-8

如果您想使事情简单而不求助于CSS,我只需&nbsp;在代码行中放入a 。即,<table></table>

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


11
-1很简单?没有CSS?这就是为什么许多网站都处于令人震惊的状态。CSS增加了简单性。表格不是前进的道路。
webnoob
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.