CSS列表样式
CSS包含一组专门用于样式化HTML列表的属性。通过HTML列表,我的意思是ul
和ol
元素。在本文中,我将介绍这些列表样式CSS属性是什么,以及如何使用它们。
列表样式类型
" list-style-type" CSS属性控制" ul"元素使用的项目符号以及" ol"元素使用的编号。以下各节着眼于ul
和ol
元素。
list-style-type:ul
对于ul
元素,我们可以使用以下属性值:
disc
circle
square
这是我们为列表元素设置list-style-type
的方法:
ul { list-style-type: disc; }
这个例子将所有ul
元素的list-style-type
CSS属性设置为disc
。
这是应用于" ul"元素时可能的值(" disc"," circle"和" square")的样子:
disc
circle
square
实际上,可以将list-style-type CSS属性应用于每个li元素,而不是整个ul元素。这是代码中的样子:
<ul> <li style="list-style-type: disc;"><code>disc</code></li> <li style="list-style-type: circle;"><code>circle</code></li> <li style="list-style-type: square;"><code>square</code></li> </ul>
结果将类似于上面的示例,该示例显示了三种不同的项目符号类型(光盘,圆形和正方形)。
list-style-type:ol
list-style-type
CSS属性也可用于设置ol
元素的样式。我们可以设置" ol"元素要使用的编号方式,而不是使用项目符号。 ol元素的list-style-type属性的有效值为:
- decimal
- decimal-leading-zero
- upper-alpha
- lower-alpha
- upper-roman
- lower-roman
- lower-greek
这是一个CSS规则,将list-style-type
设置为upper-alpha
:
ol { list-style-type : upper-alpha; }
以下这些列表显示了带有6个不同可能值的数字方案的外观。
- decimal
- decimal
- decimal
- decimal-leading-zero
- decimal-leading-zero
- decimal-leading-zero
- upper-alpha
- upper-alpha
- upper-alpha
- lower-alpha
- lower-alpha
- lower-alpha
- upper-roman
- upper-roman
- upper-roman
- lower-roman
- lower-roman
- lower-roman
- upper-latin
- upper-latin
- upper-latin
- lower-latin
- lower-latin
- lower-latin
- lower-greek
- lower-greek
- lower-greek
列表样式位置
list-style-position
CSS属性用于设置项目符号或者数字的位置。 list-style-position
CSS属性可以采用以下两个值之一:
- 内部
外面
这是一个将list-style-position设置为outside的示例:
ul { list-style-position: outside; }
这是两个无序列表,其中一个将" list-style-position"设置为" inside",一个设置为" outside"。
- 该文本使用值" inside",当列表项的文本跨越多行时,该值尤其明显。该文本使用值" inside",当列表项的文本跨越多行时,该值尤其明显。
- 该文本使用值" inside",当列表项的文本跨越多行时,该值尤其明显。该文本使用值" inside",当列表项的文本跨越多行时,该值尤其明显。
- 该文本使用值
outside
。该文本使用值outside
。该文本使用值outside
。该文本使用值outside
。 - 该文本使用值" outside"。该文本使用值" outside"。该文本使用值
outside
。该文本使用值outside
。
注意值" inside"如何将项目符号作为列表项文本的一部分呈现。当列表项文本跨越多行时,该文本将环绕并在项目符号下方开始。
在外部vlue
中,项目符号与文本分开呈现。当文本跨越多行时,文本将环绕并开始于文本(而不是项目符号)下方。
填充
我们可以通过设置li
元素的填充CSS属性来增加项目符号或者数字与相应列表项的文本之间的距离。这是一个例子:
<ul> <li style="padding-left: 20px">With padding</li> <li>Without padding</li> </ul>
本示例将" padding-left"设置为" 20px"。如果ul或者ol元素的list-style-position设置为outside(或者省略),则设置li元素的padding-left属性将增加两个元素之间的间距。项目符号/编号和文字。这是实时的ul元素的外观:
- 带填充
- 没有填充
但是,如果ul或者ol元素的CSS属性的list-style-position属性设置为inside,则填充将在项目符号/编号之前应用,因为项目符号/编号被视为已呈现在li
元素中。然后,将在" li"元素上设置的填充渲染到项目符号的左侧。这是在实时ul
元素上的外观:
- 带填充
- 没有填充
padding CSS属性还可以用于设置各个li
元素之间的距离。这是一个例子:
<style> ul>li { padding-bottom: 20px; } </style> <ul> <li>Item one</li> <li>Item two</li> </ul>
本示例将每个列表项(" li"元素)的底部填充设置为" 20px"。因此,在每个li
元素下方将有20px的空白。
这是如何将其应用于实时ul
元素的:
- 第一项
- 第二项
在某些浏览器中,我们可能不得不使用margin CSS属性而不是padding CSS属性来使li
元素之间保持距离。
列表样式图像
list-style-image
CSS属性可以设置一个图像,用作ul
元素内的项目符号,而不是三个内置选项(disc
,circle
,square
)。这是一个"列表样式图像"示例:
ul { list-style-image : url('/images/arrow-right.png'); }
这是一个ul
元素的外观,具有那个list-style-image
值:
- 一
- 二
- 三
列表项目上的背景图片
list-style-image
CSS属性无法控制用作项目符号的图像的位置。但是,如果将" list-style-type"设置为" none",则默认情况下,列表中不会绘制任何项目符号。然后,我们可以在每个列表项上设置背景图像,并将该背景图像用作项目符号。这是一个列表项目(li
)背景图片示例:
ul>li { padding-left : 25px; background-image : url('/images/arrow-right.png'); background-position : 5px 5px; background-repeat : no-repeat; }
这是应用该CSS的列表的外观:
- 一
- 二
- 三
我们可以在我的有关在CSS中设置背景图像的教程中阅读有关为HTML元素设置背景图像的更多信息。
展示
我们可以使用display的CSS属性来更改列表的呈现方式。通过将" li"元素的" display"设置为" inline",列表项将呈现为水平列表,而不是垂直列表。这是一个列表display:inline例子:
ul>li { display: inline; }
列表呈现后的外观如下:
- 一
- 二
- 三
请注意,列表项"一个","第二"和"三个"现在如何呈现在同一水平线上,而不是每个项目都在其自己的线上。还请注意,不会显示项目符号。当浏览器在li元素上使用display:inline呈现列表时,这是默认行为。
我们也可以使用" inline-block"值代替" inline"。然后,我们可以设置li
元素的宽度和高度(" display:inline`通常禁用对元素宽度和高度的控制)。这是一个例子:
ul>li { display: inline-block; }
这是在将列表中的" li"元素上应用" display:inline-block"进行渲染时列表的外观:
- 一
- 二
- 三
正如预期的那样,它看起来与display:inline十分相似,但是可以通过CSS的width和height属性来控制li项的宽度和高度。这是一个将每个li
元素的宽度设置为100px
的示例:
ul>li { display: inline-block; width : 100px; }
这是呈现列表时的外观:
- 一
- 二
- 三
请注意,每个列表项现在如何占用宽度100像素。