如何从无序列表项中删除缩进?

我想从ul删除所有缩进。 我试图设置marginpaddingtext-indent0 ,但没有用。 似乎设置text-indent到一个负数的伎俩 – 但是这真的是唯一的方法来删除缩进?

将列表样式和左边的填充设置为空。

 ul { list-style:none; padding-left:0; }​ 

jsFiddle的例子

为了保持项目符号,你可以replacelist-style:none;list-style-position: inside或简写list-style: inside

 ul { list-style-position: inside; padding-left:0; } 

jsFiddle的例子

现场演示http://jsfiddle.net/zfm8jL1d/

对于2008年以来的所有浏览器来说,这个简单的方法就是:

 ul { padding-left: 1.2em; } 

对于IE 7及以下版本,您必须使用margin-left代替:

 ul { margin-left: 1.2em; } 

这个解决scheme做了两件事:

  • 它用正常的段落文本左alignment项目符号点。
  • 它正确地缩进同一列表项中的多行文本。

1.2em的价值对于所有的浏览器来说都不是很完美(有些人更喜欢1.1),但是它提供了最好的整体效果。

你能提供一个链接吗 ? 谢谢我可以看看最有可能您的CSSselect器不够强大,或者你可以尝试

padding:0!important;

添加到您的CSS:

 ul { list-style-position: inside; } 

这将把李元素放在与其他段落和文本相同的缩进处。

参考: http : //www.w3schools.com/cssref/pr_list-style-position.asp

删除填充:

 padding-left: 0; 

显示:表排; 也将摆脱压痕,但将删除子弹。

我有同样的概率与我想分开的页脚。 我发现这对我来说,通过尝试几个以上的build议结合起来:

 footer div ul { list-style-position: inside; padding-left: 0; } 

这似乎把它保留在我的h1下方,子弹点在div内而不是在左边。 还有其他一些问题,但只有几个月,所有这一切!

加里福特

现场演示: https//jsfiddle.net/h8uxmoj4/

 ol, ul { padding-left: 0; } li { list-style: none; padding-left: 1.25rem; position: relative; } li::before { left: 0; position: absolute; } ol { counter-reset: counter; } ol li::before { content: counter(counter) "."; counter-increment: counter; } ul li::before { content: "●"; } 

由于原来的问题不清楚其要求,我试图在其他答案设定的准则内解决这个问题。 尤其是:

  • 将列表项目符号与外部段落文本alignment
  • 在同一个列表项目中alignment多行

我也想要一个不依赖浏览器同意使用多less填充的解决scheme。 为了完整性,我添加了一个有序列表。