Styling CSS List
撰写时间:2025-04-07
修订时间:2025-04-10
默认效果
- Item1
- Item2
- AAA
- BBB
- CCC
- Item3
默认缩进
- Item1
- Item2
- AAA
- BBB
- CCC
- Item3
li标签有缩进,且li的子元素ul也有缩进。
各浏览器对ul的默认CSS设置如下:
padding-inline-start设置了一个从哪开始计算行内padding的偏移值,最终的padding值为:
上面代码,padding-inline-start的值被设置为40px,该属性值将被各个子标签继承,导致了其每一级子标签,包括li及ul,均从父标签的当前位置先向右缩进40px后再开始计算padding,从而形成了分级缩进的效果。
Marker
list-style-position
list-style-position指定列表项目的图标位置。
- Item1
- Item2
- Item3
- Item1
- Item2
- Item3
list-style-position的默认值为outside,则图标位于列表项目的盒子外部的左边。当其值为inside时,图标位于列表项目的盒子内部的左边。
- Item1
- Item2
- Item3
- Item1
- Item2
- Item3
当给li设置padding-left值时,outside类型的图标不会动,而inside类型的图标则紧随其文本内容向右移动。
但两种类型的图标位置均受padding-inline-start的值的影响。
- Item1
- Item2
- Item3
- Item1
- Item2
- Item3
如果li有::before的设置,则图标位于::before内容的左边。
- Item1
- Item2
- Item3
- Item1
- Item2
- Item3
list-style-type
list-style-image
- Item1
- Item2
- Item3
list-style
如果图标文件不存在,可使用第2个参数额外指定默认的图标类型。
- Item1
- Item2
- Item3
可使用一或多个Unicode字符作为图标。可使用Unicode编码值为\20
的空格来添加间距。
- Item1
- Item2
- Item3
下面形成多级缩进的多图标效果。
- Item1
- Item2
- A
- B
- C
- Item3
设置content内容
我们不能直接设置content的尺寸大小,但可通过背景图像,精细改变其大小及位置。
- Item1
- Item2
- Item3
将li的display设置为flex,可以很方便地分别调节图标及文本。
首先,设置为flex后,其效果先将list-style-type设置为none。
其次,在li上设置padding,将同时影响图标及文本。
再次,在::before中设置padding-left或padding-right,如果背景图像允许重复,则上面所设置的空间用于重复平铺背景图像。在::before中设置margin-left,同时影响图标及文本的左边距;设置margin-right,只影响文本的左边距;设置margin-top及margin-bottom,只影响图标的上下边距。
树形控件
实现最基本的设置
- 中国
- 北京
- 广东省
- 广州市
- 韶关市
- 海南省
- 海口市
- 美兰区
- 龙华区
- 秀英区
- 琼山区
- 三亚市
- 海口市
- 安徽省
- 合肥市
- 安庆市
- United States of America
- Washington
- Florida
锦上添花
第一步:敲定基本版面
- 中国
- 北京
- 广东省
- 广州市
- 韶关市
- 海南省
- 海口市
- 美兰区
- 龙华区
- 秀英区
- 琼山区
- 三亚市
- 海口市
- 安徽省
- 合肥市
- 安庆市
第二步:图标与连线
- 中国
- 北京
- 广东省
- 广州市
- 韶关市
- 海南省
- 海口市
- 美兰区
- 龙华区
- 秀英区
- 琼山区
- 三亚市
- 海口市
- 安徽省
- 合肥市
- 安庆市
第三步:用户交互
- 中国
- 北京
- 广东省
- 广州市
- 韶关市
- 海南省
- 海口市
- 美兰区
- 龙华区
- 秀英区
- 琼山区
- 三亚市
- 海口市
- 安徽省
- 合肥市
- 安庆市