li的第二行在CSS重置之后从子弹开始
在使用CSS重置之后,我在使用ul
-list时遇到了一些问题。
当li
的文本很长并且打破了第二行时,文本从子弹开始。 我希望它以与项目符号右侧的文本相同的边距/填充开始。
有点难以解释,但是如果你看一下示例图像。 左图是今天的列表。 “motta varsel”从子弹开始,但是我希望能看到右边的图片。
我怎样才能做到这一点与CSS? 我认为我忽略了一些非常简单的东西,但我无法弄清楚是什么。 谷歌search也没有返回任何有用的。
li
标签有一个名为list-style-position
的属性。 这使得你的子弹在列表内部或外部。 默认情况下,它被设置在inside
。 这使得你的文字环绕它。 如果您将其设置为outside
,则您的li
标签的文本将被alignment。
其缺点是你的子弹不会与ul
之外的文字alignment。 如果您想将其与其他文字alignment,则可以使用边距。
ul li { /* * We want the bullets outside of the list, * so the text is aligned. Now the actual bullet * is outside of the list's container */ list-style-position: outside; /* * Because the bullet is outside of the list's * container, indent the list entirely */ margin-left: 1em; }
编辑2014年3月15日,看到人们仍然从谷歌进来,我觉得原来的答案可以使用一些改进
- 改变了代码块来提供解决scheme
- 将缩进单元更改为
em
- 每个属性都应用于
ul
元素 - 好评:)
这是一个很好的例子 –
ul li{ list-style-type: disc; list-style-position: inside; padding: 10px 0 10px 20px; text-indent: -1em; }
工作演示: http : //jsfiddle.net/d9VNk/
我第二个Dipaks的答案,但往往只是文本缩进就足够了,因为你可能/可能不会定位ul更好的布局控制。
ul li{ text-indent: -1em; }