ul和li列表是使用CSS布局页面时常用的元素。在CSS中,有专门控制列表表现的属性,常用的有list-style-type属性、list-style-p_w_picpath属性、list-style-position属性和list-style属性。

  一、list-style-type属性
  list-style-type属性是用来定义li列表的项目符号的,即列表前面的修饰。list-style-type属性是一个可继承的属性。其语法结构如下:(列举一些常用的属性值)
  list-style-type:none/disc/circle/square/demical/lower-alpha/upper-alpha/lower-roman/upper-roman
  list-style-type属性的属性值有很多,在这里我们只是列举了比较常用的几个。
  • none:不使用项目符号。
  • disc:实心圆。
  • circle:空心圆。
  • square:实心方块。
  • demical:阿拉伯数字。
  • lower-alpha:小写英文字母。
  • upper-alpha:大写英文字母。
  • lower-roman:小写罗马数字。
  • upper-roman:大写罗马数字。
  使用list-style-type属性的示例代码如下:
li{
    list-style-type:square;}
<ul>
    <li>这里是列表内容</li>
    <li>这里是列表内容</li>
    <li>这里是列表内容</li>
</ul>
  该样式应用到页面的效果如下图所示。
  二、list-style-p_w_picpath属性
  list-style-p_w_picpath属性用来定义使用图片代替项目符号。它也是一个可继承属性,其语法结构如下:
  list-style-p_w_picpath:none/url
  list-style-p_w_picpath属性可以取两个值:
  • none:没有替换的图片。
  • url:要替换图片的路径。
  来看一段代码:
li{
    list-style-p_w_picpath:url(p_w_picpaths/bg03.gif);}
<ul>
    <li>这里是列表内容</li>
    <li>这里是列表内容</li>
    <li>这里是列表内容</li>
</ul>
  效果如下图。
  三、list-style-position属性
  list-style-position属性,是用来定义项目符号在列表中显示位置的属性。它同样是一个可继承的属性,语法结构如下:
  list-style-position:inside/outside
  • inside:项目符号放置在文本以内。
  • outside:项目符号放置在文本以外。
  使用list-style-position属性的示例如下:
li{
    list-style-type:square;
    list-style-position:outside;}
<ul>
    <li>这里是使用list-style-position属性值为outside的示例。请注意换行以后项目符号的位置。</li>
    <li>这里是列表内容</li>
    <li>这里是列表内容</li>
</ul>
  效果如下图所示。
  再来看一下属性值为inside的样式。
li{
    list-style-type:square;
    list-style-position:inside;}
<ul>
    <li>这里是使用list-style-position属性值为inside的示例。请注意换行以后项目符号的位置。</li>
    <li>这里是列表内容</li>
    <li>这里是列表内容</li>
</ul>
  四、list-style属性
  list-style属性是综合设置li样式的属性,也是一个可以继承的属性,语法结构如下:
  li-style:list-style-type/list-style-p_w_picpath/list-style-position
  各个值的位置可以交换。比如:
li{
    list-style:url(p_w_picpaths/bg03.gif) inside;}
<ul>
    <li>这里是使用list-style属性的示例。请注意换行以后项目符号的位置。</li>
    <li>这里是列表内容</li>
</ul>
  可以看一下应用到页面的效果。


==========================
如何调整ul,li的间距?
   对li添加样式margin-top:0px(这样li之间的上间距为0px)。而我想要的效果是li的左边空格太多了,那么设置margin-left: 5px;

如何进行分层?
   在li里面再添加ul,li:
<ul>
<li>第1层
        <ul>
        <li>1.1</li>
        <li>1.2</li>
        </ul>
</li>
<li>第2层</li>
</ul>

效果:
  • 第1层
    • 1.1
    • 1.2
  • 第2层