list-style-type
要修改用于列表项的标志类型,可以使用属性list-style-type。
- 初始值是disc,即原点。
- 应用于display为list-item的元素
CSS无法区分有序列表项和无序列表项,因此,完全可以设置一个有序列表使用实心圆而非数字作为列表项标志。
由于list-style-type的默认值就是disc,所以可以得出结论:如果没有显式地声明其他列表类型,所有列表(有序或无序)对个列表项都会使用实心圆作为标志。但是具体还是由用户代理来决定。
如果想完全禁止标志,只能使用值none。none会导致用户代理在原本放标志的位置上不显示任何内容,不过它不会中断有序列表中的计数。
list-style-type属性可以继承,所以如果希望嵌套列表中使用不同样式的标志,可能需要单独定义。
list-style-image
有时,常规的标志还不够,可能想对各标志使用一个图像,这可以利用list-style-image属性做到。
/* Keyword values */
list-style-image: none;
/* <url> values */
list-style-image: url('starsolid.gif');
只需一个简单的url()值,就可以使用图像作为标志。
通常可以提供一个备选方案,以防图像未能加载的情况,此时可以为列表定义一个后备的list-style-type:
ul li{list-style-image:url(image.png);list-style-type:square;}
使用时,还可以将其设置为默认值none。这是一个很好的实践做法,因为list-style-image是可以继承的,所以所有嵌套列表都会继续使用该图像作为标志,除非采取措施避免这种情况发生:
ul ul{list-style-image:url(image.png);list-style-type:square;}
ul ul{list-style-image:none;}
由于嵌套列表继承了list-style-type:square,而且已经设置了不使用图像作为标志,所以嵌套列表会使用方块作为标志。
list-style-position
这个属性用来确定标志出现在列表项内容之外还是在内容内部。
/* Keyword values */
list-style-position: inside;
list-style-position: outside;
- 默认值为outside,即标志在盒框的外面。
- inside:使标志放在列表项的内容里面。标志是主要块盒中的第一个行内盒,处于元素的内容流之后。
list-style
可以将以上3个列表样式属性合并为一个方便的属性:list-style
list-style的值可以按任何顺序列出,如果没有提供的值就会被填入默认值:
- list-style-type: disc
- list-style-position: outside
- list-style-image: none