我有一个HTML子弹指向列表。如何使用CSS使li
元素的宽度与li
内的文本长度相同。
经过一番搜索,我试过了:
display: inline-block;
但这会使所有子弹点格式消失。 (我不再看到任何子弹)。有没有一个简单的解决方案/替代方案?
答案 0 :(得分:1)
您可以使用display:block
并将<li>
元素浮动到左侧。但是这种方法需要一些额外的CSS来添加列表项目符号。
<强>段强>
ul > li{
display:block;
float:left;
clear:left;
list-style:circle;
}
ul>li:before{
content:"•";
margin-right:10px;
}
<ul>
<li>Item-1</li>
<li>Item-ABC</li>
<li>Item-A</li>
<li>Item-ABDAKDÖSAKD</li>
<li>Item-AAAAA</li>
</ul>
答案 1 :(得分:0)
你的问题不是那么清楚,但试试这种方法
HTML
<li> Item 1 </li><br>
<li> Item 2 </li><br>
<li> Item 3 </li>
CSS
li {
display: inline-block;
}
li:before {
content: "* "; //you can change the special character
}
希望有所帮助:)
答案 2 :(得分:0)
尝试使用简单的javascript:
注意:我将使用内联JavaScript,因此在解析列表后会对其进行解析。
<ul id="list">
<li>TEST</li>
</ul>
<script>
var longestText = "";
for(var i = 0; i < document.getElementById("list").getElementsByTagName("li").length; i++){
if(document.getElementById("list").getElementsByTagName("li")[i].innerHTML.length > longestText.length){
longestText = document.getElementById("list").getElementsByTagName("li")[i].innerHTML;
}else {
continue;
}
}
document.getElementById("list"). style.width = (longestText.length * document.getElementById ("list").style.font size) + " px";
</script>
这样做是对列表中最大的文本进行编程搜索,一旦找到,它会将列表的width属性设置为最大文本的文本长度*表的字体大小。