css
实现这一点,您应该手动设置它 (就像前一个答案),但如果您想动态添加星星,您应该使用类似于这样的东西,我认为没有办法通过纯 css
动态实现这一点。
$('ul li').each(function() {
var index = $(this).index() + 1;
var star = $('<span/>')
for (i = 0; i < index; i++) {
star.append('*');
}
$(this).prepend(star);
});
var l = $('ul li:last-child span').width();
$('ul li span').css('width', l);
ul li {
list-style: none;
}
ul li a {
display: inline;
}
ul li span {
padding-right: 5px;
display: inline-block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li><a>Some text</a></li>
<li><a>Some text</a></li>
<li><a>Some text</a></li>
<li><a>Some text</a></li>
<li><a>Some text</a></li>
<li><a>Some text</a></li>
<li><a>Some text</a></li>
<li><a>Some text</a></li>
<li><a>Some text</a></li>
<li><a>Some text</a></li>
</ul>
list-style:@counter-style
实现这个效果,并根据你的需要进行自定义。@counter-style
仅在Firefox 33+版本上适用。
@counter-style cs-symbolic {
system: symbolic;
symbols: '*';
range: ;
suffix: " ";
}
ul {
list-style: cs-symbolic;
padding-left: 30%;
float: left;
}
<ul id="demo-list" class="demo-numeric">
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
</ul>
希望这对您有帮助。如果您能使用脚本,那将是最好的选择,尽管在接下来的几年里,支持还不够完善,但现在已经是一种可行的方法。
有一种方法可以做到,但是你必须手动逐行操作,前提是你只使用CSS。
ul, li {
list-style:none
}
li:nth-child(1):before {
content: "*"
}
li:nth-child(2):before {
content: "**"
}
<ul>
<li> foo</li>
<li> bar</li>
</ul>
<script
src="https://code.jquery.com/jquery-3.3.1.min.js" ></script>
<ol style="text-align: left;">
<li>list 1</li>
<li>list 2</li>
<li>list 3</li>
<li>list 4</li>
<li>list 5</li>
</ol>
ol.HideStyle{
list-style : none;
}
$(document).ready(function() {
$("ol").addClass("HideStyle");
var listLength= $( "li" ).length;
for(i=0;i<=listLength;i++){
var str= "*";
var x= str.repeat(i)
$("ol li:nth-child(" + i + ")").prepend(x);
console.log("X",x)
}
});
ol
而不是一个“无序列表”ul
。因此,请尝试搜索自定义数字而不是自定义符号。 - Anthonyul li
时,添加一个循环以根据递增的li
数量创建*
。 - Alive to die - Anant