CSS选择列表项中的第一个字符

时间:2017-11-20 04:58:48

标签: html css

我有一个包含大约10个列表的页面,5个是无序的,5个是有序的。而不是通用光盘或子弹/数字或罗马数字我决定组成自定义列表标记。每个列表项都如此......

def maybe_update($key; $old; $new):
  if .[$key] == $old then .[$key] = $new else . end;

map( maybe_update("ParameterKey";   "<ans1>"; "input1")
   | maybe_update("ParameterValue"; "<ans2>"; "input2") )

我需要做的是选择初始字符为1,2或*。如果不使用span 100次或单独设置<ul> <li>*List Item 1</li> <li>*List Item 2</li> </ul> <ol> <li>1List Item</li> <li>1List Item</li> </ol> ul,可以选择第一个字符。

我尝试过使用跨度,但是有很多列表和列表项会有很多额外的编码...我也试过了     li ::第一个字母{...} 这适用于ul,但对于ol,它会导致例如“* L”来自“* List Item”。

我读了一下“之前”,这可能是下一个最好的东西,但我希望有一个选择器来做所有的李。

感谢您的任何信息。

编辑: 我使用:: first-letter和:: before的组合找到了解决方案,就像这样......

ol

3 个答案:

答案 0 :(得分:0)

我认为Javascript在这里会是最好的。

  var liArray = document.getElementsByTagName('li').innerHTML;

  for(i=0;i<liArray.length;i++){
    var buildString = '<span class="customStyle">';
    buildString += liArray[i].subString(0,1);
    buildString += '</span>';
    buildString += liArray[i].subString(1);
    liArray[i].innerHTML = buildString;
  }

快速解释代码。我们首先选择文档中的所有列表元素,然后将它们保存到名为“liArray”的数组中。

然后我们在for循环中循环遍历该数组,将代码应用于每个元素。

然后我们构建一个“new”字符串,它接受每个列表元素的第一个字符并将其包含在带有“customStyle”类的span标记中。

只需将“customStyle”类添加到css文档中,即可将所需的任何样式应用于li的第一个字符。

答案 1 :(得分:0)

tf.saved_model.tag_constants.MEOW = "kitty!"

答案 2 :(得分:0)

<!DOCTYPE html>
<html>
<head>
<style> 
ul li:nth-child(1) {
background: red;}

ol li:nth-child(1) {
background: red;}
</style>
</head>
<body>

<ul>
<li>*List Item 1</li>
<li>*List Item 2</li>
</ul>

<ol>
<li>1List Item</li>
<li>1List Item</li>
</ol>
</body>
</html>