li标签自定义marker样式
虽然个人开发中几乎不用<li>标签,但当遇上了需要使用li标签自定义marker样式的,还是要知道如何自定义的
1. list-style
第一种是最简单的,只用修改list-style
属性即可。list-style
CSS 属性是一个简写对属性集合,包括list-style-type
, list-style-image
, 和 list-style-position
。当仅仅是更改list-style的显示时,这种方式时最简单快捷的。
2. ::marker
::marker
CSS pseudo-element(CSS伪元素) 选中一个list item的marker box,后者通常含有一个项目符号或者数字。它作用在任何设置了display: list-item
的元素或伪元素上,例如<li>
和<summary>
在将::marker
作为选择器的规则中,只能使用某些CSS属性:
- All font properties(字体属性)
- color
- text-combine-upright (en-US), unicode-bidi and direction properties
- The content property
看到这里,想必聪明的你一定会有些想法了,具体可以到MDN看下。
3. 矢量图标字体
这一种方法是从这里看到的。
1 |
|
是不是豁然开朗。
4. 直接替换
说直接替换有点勉强了,感觉在解决鼠标hover时,更换list-style的问题。
1 | ul li:hover { |
解决思路有一部分和3重合,都是去掉list-style,然后自己再画一个list的marker的。
相关实现链接: http://www.moe.gov.cn/jyb_xxgk/s5743/s5745/
实现效果如下: