Answers:
从引用列表中引用以下内容:
有时候,您有一个列表,但是您不想要任何项目符号,或者您想要使用其他字符代替项目符号。同样,CSS提供了一个简单的解决方案。只需添加列表样式:none; 根据您的规则,并强制LI显示带有悬挂式缩进。该规则将如下所示:
ul { list-style: none; margin-left: 0; padding-left: 1em; text-indent: -1em; }
填充或边距都需要设置为零,而另一个则设置为1em。根据您选择的“项目符号”,您可能需要修改此值。负的文本缩进会使第一行向左移动该量,从而产生一个悬挂的缩进。
HTML将包含我们的标准UL,但要使用任何字符或HTML实体来代替列表项内容之前的项目符号。在本例中,我们将使用»,右双引号:»。
»项目1
»项目2
»项目3
»项目4
»项目5我们会
加长一点,以便
包裹起来
这是一个较晚的答案,但我只是碰到了这一点...要使换行的缩进正确无误,请尝试以下方式:
ul {
list-style: none;
margin-left: 0;
padding-left: 0;
}
li {
padding-left: 1em;
text-indent: -1em;
}
li:before {
content: "+";
padding-right: 5px;
}
text-indent: -2ch
先考虑+号及其后的空格,然后再padding-right: 1ch
添加该空格。仍然是+1。
这么多解决方案。
但是我仍然认为还有改进的空间。
优点:
ul {
position: relative;
list-style: none;
margin-left: 0;
padding-left: 1.2em;
}
ul li:before {
content: "+";
position: absolute;
left: 0;
}
<ul>
<li>Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. Pellentesque in ipsum id orci porta dapibus.</li>
<li>Nulla porttitor accumsan tincidunt. Mauris blandit aliquet elit, eget tincidunt nibh pulvinar a. Aliquet quam id dui posuere blandit. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.</li>
</ul>
content: url('link-to-my-asset.svg');
和设置项目符号和内容之间的图像宽度和填充。谢谢!
这是W3C解决方案。在Firefox和Chrome中均可使用。
ul { list-style-type: "🔔"; }
/* Sets the marker to a 🔔 emoji character */
http://dev.w3.org/csswg/css-lists/#marker-content
li:before {content:"…";}
是在没有任何其他缩进和对齐方式的情况下使用的那样。
这是到目前为止我找到的最好的解决方案。它的工作原理很棒,并且是跨浏览器(IE 8+)。
ul {
list-style: none;
margin-left: 0;
padding-left: 1.2em;
text-indent: -1.2em;
}
li:before {
content: "►";
display: block;
float: left;
width: 1.2em;
color: #ff0000;
}
重要的是将字符放置在具有固定宽度的浮动块中,这样,如果文本太长而无法容纳在一行上,则文本将保持对齐。 1.2em是您想要的字符宽度,请根据需要进行更改。
您可以使用:before
伪选择器在列表项的前面插入内容。您可以在http://www.quirksmode.org/css/beforeafter.html上找到有关Quirksmode的示例。我用它在blockquotes周围插入巨大的引号...
HTH。
我的解决方案使用定位来使换行自动正确对齐。因此,您不必担心在li:before上设置padding-right。
ul {
margin-left: 0;
padding-left: 0;
list-style-type: none;
}
ul li {
position: relative;
margin-left: 1em;
}
ul li:before {
position: absolute;
left: -1em;
content: "+";
}
<ul>
<li>Item 1 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</li>
<li>Item 2 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</li>
<li>Item 3 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
真棒字体提供了一个出色的解决方案:
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" />
<ul class='fa-ul'>
<li><i class="fa-li fa fa-plus"></i> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam</li>
<li><i class="fa-li fa fa-plus"></i> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam</li>
</ul>
.list-dash li, .list-bullet li {
position: relative;
list-style-type: none; /* disc circle(hollow) square none */
text-indent: -2em;
}
.list-dash li:before {
content: '— '; /* em dash */
}
.list-bullet li:before {
content: '• '; /*copy and paste a bullet from HTML in browser into CSS (not using ASCII codes) */
}
<ul class="list-dash">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
破折号样式:
ul.emdash {
list-style-type: none;
list-style-position: inside;
text-indent: -1.25em;
}
ul.emdash > li:before {
content: "\2014\00A0"; /* em dash + space*/
}
有趣的是,我并不认为任何发布的解决方案都足够好,因为它们依赖于所使用字符为1em宽的事实,这不是必须的(John Magnolia的答案可能是例外,但使用浮动字符可以用另一种方式使事情复杂化)。这是我的尝试:
ul {
list-style-type: none;
margin-left: 0;
padding-left: 30px; /* change 30px to anything */
text-indent: -30px;
}
ul li:before {
content: "xy";
display: inline-block;
width: 30px;
text-indent: 0;
text-align: center; /* change this for different bullet position */
}
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
与其他解决方案相比,它具有以下优点:
text-align: center;
按您的喜好替换任何东西即可。例如,您可以尝试,
color: red;
text-align: right;
padding-right: 5px;
box-sizing: border-box;
或者如果您不喜欢使用边框游戏,只需从宽度中减去填充(5px)(即本示例中的width:25px)。有很多选择。请享用。
.single-before {
list-style: "👍";
list-style-position: outside!important;
}
<ul class="single-before">
<li> is to manifest perfection already in man.</li>
<li> is to bring out the best facets of our students personalities.</li>
</ul>
!important
,这对于使我的自定义CSS在Blogspot中正常工作至关重要
试试这个
ul.a {
list-style-type: circle;
}
ul.b {
list-style-type: square;
}
ol.c {
list-style-type: upper-roman;
}
ol.d {
list-style-type: lower-alpha;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>Example of unordered lists:</p>
<ul class="a">
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ul>
<ul class="b">
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ul>
<p>Example of ordered lists:</p>
<ol class="c">
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ol>
<ol class="d">
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ol>
</body>
</html>