使用CSS自定义列表项目项目符号

Ale*_*lex 32 css size listitem html-lists

是否可以改变<li>元素子弹的大小?

看看下面的代码:

li {
    list-style: square; // I want to change the size of this squared bullet. 
}
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到任何方法来实现这一目标.

adc*_*adc 37

我想你的意思是改变子弹的大小?我相信这与li标签的字体大小有关.因此,您可以炸掉LI的字体大小,然后将其缩小为包含在其中的元素.添加额外标记有点糟糕 - 但是类似于:

li {font-size:omgHuge;}
li span {font-size:mehNormal;}
Run Code Online (Sandbox Code Playgroud)

或者,您可以为列表项目符号指定一个图像文件,该文件可以根据需要大小:

ul{
  list-style: square url("38specialPlusP.gif");
 }
Run Code Online (Sandbox Code Playgroud)

请参阅:http://www.w3schools.com/css/css_list.asp

  • 我的两分钱@Musixauce3000:我参加了一个名为“Web Graphics”的必修网页设计课程。第一天他们告诉我们,文件越小越好。让浏览器调整站点大小会消耗用户的带宽(如果他们在移动设备上浏览则非常有害),导致页面加载时间变慢并耗尽用户的数据计划。目前的最佳做法是(2016 年 8 月)下载文件,修改它,然后上传修改后的文件——这正是你所说的你想要避免的。我希望有一种更简单的方法。很好的问题。 (2认同)

Mir*_*ili 20

根据@dzimney的回答和类似@Crisman的答案(但不同):

答案很好,但有缩进问题(子弹出现li范围内).可能你不想要这个.请参阅下面的简单示例列表(这是默认的HTML列表):

  • Lorem ipsum dolor坐在amet,ei cum offendit partiendo iudicabit.在mei quaestio honestatis,duo dicit affert persecuti ei.Etiam nusquam cu his,nec alterum posidonium philosophia te.Nec an purto iudicabit,no vix quod clita expetendis.

  • Quem suscipiantur no eos,sed impedit explicari ea,falli inermis comprehensam est in .Vide dicunt ancillae cum te,habeo delenit deserunt mei in.Tale sint ex his,ipsum essent appellantur et cum.

但是如果你使用上面提到的答案,列表将如下所示(忽略子弹的大小):

Lorem ipsum dolor sit amet,ei cum offendit partiendo iudicabit.在mei quaestio honestatis,duo dicit affert persecuti ei.Etiam nusquam cu his,nec alterum posidonium philosophia te.Nec an purto iudicabit,no vix quod clita expetendis.

Quem suscipiantur no eos,sed impedit explicari ea,falli inermis comprehensam est in .Vide dicunt ancillae cum te,habeo delenit deserunt mei in.Tale sint ex his,ipsum essent appellantur et cum.


所以我推荐这种解决问题的方法:

li {
    list-style-type: none;
    position: relative;    /* It is required for setting position to absolute in the next rule. */
}

li::before {
    content: '\2022';      /* Unicode for • character */
    position: absolute;
    left: -0.8em;          /* Adjust this value so that it appears where you want. */
    font-size: 1.1em;      /* Adjust this value so that it appears what size you want. */
}
Run Code Online (Sandbox Code Playgroud)
<ul>
    <li>Lorem ipsum dolor sit amet, ei cum offendit partiendo iudicabit. At mei quaestio honestatis, duo dicit affert persecuti ei. Etiam nusquam cu his, nec alterum posidonium philosophia te. Nec an purto iudicabit, no vix quod clita expetendis.</li>
    <li>Quem suscipiantur no eos, sed impedit explicari ea, falli inermis comprehensam est in. Vide dicunt ancillae cum te, habeo delenit deserunt mei in. Tale sint ex his, ipsum essent appellantur et cum.</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

  • 这应该是正确的答案。奇迹般有效 (2认同)

thi*_*dot 19

您可以将li其他元素的内容包装起来,例如a span.然后,给出li一个更大的font-size,并设置正常的font-size背面span:

http://jsfiddle.net/RZr2r/

li {
    font-size: 36px;
}
li span {
    font-size: 18px;
}
<ul>
    <li><span>Item 1</span></li>
    <li><span>Item 2</span></li>
    <li><span>Item 3</span></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

  • 这很好用。但是有没有办法做到这一点,但让文本的中间与项目符号的中间垂直对齐? (3认同)
  • 谢谢.在研究了更多之后,这似乎是唯一的解决方案,前提是我不想使用背景图像而不是<li>元素. (2认同)
  • @RebeccaMeritz:这样的事吗?http://jsfiddle.net/thirtydot/RZr2r/90/ (2认同)

小智 13

您可以使用 ::marker CSS 伪元素来设置列表的数字或项目符号的样式。目前,到 2022 年 1 月,Safari 支持仅限于颜色和字体大小。

例子:

::marker {
  color: red;
  font-size: 2rem
}

ul > li::marker {
  color: blue;
}

ol > li::marker {
  font-size: 1rem
}
Run Code Online (Sandbox Code Playgroud)
<ul>
  <li>Step One</li>
  <li>Step Two</li>
  <li>Step Three</li>
</ul>
 
<ol>
  <li>Wake up</li>
  <li>Code</li>
  <li>Sleep</li>
</ol>
Run Code Online (Sandbox Code Playgroud)


dzi*_*ney 12

根据所需的IE支持级别,您还可以使用:before选择器并将项目符号样式设置为content属性.

li {  
  list-style-type: none;
  font-size: small;
}

li:before {
  content: '\2022';
  font-size: x-large;
}
Run Code Online (Sandbox Code Playgroud)

您可能必须查找所需子弹样式的HTML ASCII,并使用转换器来获取CSS Hex值.


Ale*_*mia 5

另一种改变子弹大小的方法是:

  1. 完全禁用子弹
  2. 借助::before伪元素重新添加自定义项目符号。

例子:

ul {
  list-style-type: none;
}

li::before {
  display:          inline-block;
  vertical-align:   middle;
  width:            5px;
  height:           5px;
  background-color: #000000;
  margin-right:     8px;
  content:          ' '
}
Run Code Online (Sandbox Code Playgroud)
<ul>
  <li>first element</li>
  <li>second element</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

无需更改标记