【发布时间】:2020-04-25 05:45:14
【问题描述】:
我创建了一个无序列表。我觉得无序列表中的项目符号很烦人,所以我想删除它们。
是否可以有一个没有项目符号的列表?
【问题讨论】:
我创建了一个无序列表。我觉得无序列表中的项目符号很烦人,所以我想删除它们。
是否可以有一个没有项目符号的列表?
【问题讨论】:
您可以通过在父元素(通常是<ul>)的 CSS 上将 list-style-type 设置为 none 来移除项目符号,例如:
ul {
list-style-type: none;
}
如果您还想删除缩进,您可能还想添加padding: 0 和margin: 0。
请参阅Listutorial,了解列表格式化技术的精彩演练。
【讨论】:
你需要使用list-style: none;
<ul style="list-style: none;">
<li>...</li>
</ul>
【讨论】:
对先前答案的小改进:如果较长的行溢出到额外的屏幕行,则使它们更具可读性:
ul, li {list-style-type: none;}
li {padding-left: 2em; text-indent: -2em;}
【讨论】:
ul 和li 上都加上list-style-type: none;。你可以只做一个。
如果您想在不借助 CSS 的情况下保持简单,我只需在代码行中添加 &nbsp;。即<table></table>。
是的,它会留下一些空格,但这不是一件坏事。
【讨论】:
如果您使用的是 Bootstrap,它有一个“无样式”类:
删除列表项的默认列表样式和左侧填充(仅限直接子项)。
<ul class="unstyled">
<li>...</li>
</ul>
http://twitter.github.io/bootstrap/base-css.html#typography
<ul class="list-unstyled">
<li>...</li>
</ul>
引导程序 3:http://getbootstrap.com/css/#type-lists
引导程序 4:https://getbootstrap.com/docs/4.3/content/typography/#unstyled
引导程序 5:https://getbootstrap.com/docs/5.0/content/typography/#unstyled
【讨论】:
我在 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>
【讨论】:
如果您无法使其在<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>
【讨论】:
这对列表进行垂直排序,没有项目符号。只需一行!
li {
display: block;
}
【讨论】:
display 值<li>,即display: list-item;。
如果您想单独使用 纯 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>
【讨论】:
<dt> 中定义的术语,并在<dd> 中输入该术语的定义。
<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;
【讨论】:
如果您正在开发现有主题,则该主题可能具有自定义列表样式。
因此,如果您无法在 ul 或 li 标签中使用 list-style: none; 更改列表样式,请先使用 !important 进行检查,因为可能其他一些样式行会覆盖您的样式。如果!important 修复了它,您应该找到更具体的选择器并清除!important。
li {
list-style: none !important;
}
如果不是这样,请检查li:before。如果它包含内容,则执行:
li:before {
display: none;
}
【讨论】:
ul{list-style-type:none;}
只需设置无序列表的样式为none即可。
【讨论】:
您可以使用::marker 伪元素隐藏它们。
::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>
::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>
【讨论】:
这是可能的。在
ul {
list-style-type: none;
}
【讨论】:
li{
list-style: none;
}
它从所有列表项中删除项目符号。
【讨论】: