零基础学前端之CSS列表

这篇我们学习CSS列表。

对于列表,大家并不陌生。比如下面的无序列表和有序列表。

在 HTML 中,最常用的两种列表的类型就是无序列表和有序列表,使用 ol 和 ul 元素实现。列表项通过列表元素属性,实现 空心实心圆点数字字母等不同的形式。

在 CSS 中, 列表属性允许我们为有序列表、无序列表设置不同的列表项标记,甚至可以使用一个 图像,还可以为列表和列表项添加背景颜色。

应用  list-style-type 属性设置不同的列表项标记。属性值有很多,

比如:

circle 空心圆点,

disc 实心圆点,

square 小方点,

decimal 数字,

upper-roman 大写罗马字母,

lower-alpha 小写字母等等。

举个例子。

创建创建 css-list.html 文件和 list-style.css 文件。打开 html 文件,构建基础代码,使用 emmet 命令:小括号 ul 大于 li 乘以3 再乘以3 (ul>li*3)*3。回车,创建了三组无序列表。给三个 ul 元素添加 class 属性,值分别为 a,b,c。给每个列表项填入一些文本。

HTML
  
    
  • HTML
  •     
  • CSS
  •     
  • JavaScript
  •           
  • Vue
  •     
  • React
  •     
  • 小程序
  •           
  • 大前端
  •     
  • 前端架构
  •           
  • HTML
  •     
  • CSS
  •     
  • JavaScript
  •           
  • Vue
  •     
  • React
  •     
  • 小程序
  •           
  • 大前端
  •     
  • 前端架构
  •   

    拷贝这三组无序列表,将 ul 元素名称修改为 ol,三个 class 值改为 d,e,f。

    打开 css 文件,定义选择器 ul.a,声明样式 list-style-type: circle,设置列表项标记为空心圆点。拷贝两组样式,修改选择器 ul.b,ul.c。修改 list-style-type 属性值分别为 disc,实心圆点,square 小方点。

    无序列表效果就做好了!

    定义选择器 ol.d,声明样式 list-style-type: decimal,设置列表项标记为数字。拷贝两组样式,修改选择器 ol.e,ol.f。修改 list-style-type 属性值分别为 upper-roman,大写罗马字母,lower-alpha 小写字母。

    有序列表也实现了!

    CSS
    ul.a {
      list-style-type: circle;
    }
    ul.b {
      list-style-type: disc;
    }
    ul.c {
      list-style-type: square;
    }
    ol.d {
      list-style-type: decimal;
    }
    ol.e {
      list-style-type: upper-roman;
    }
    ol.f {
      list-style-type: lower-alpha;
    }

    有关更多的 list-style-type,大家参照这个案例。

    list-style-image 属性指定了一个图像作为列表项的标记。属性值为 url 小括号,括号里写入图片的路径 url('./xxx.gif') 。

    举个例子。

    在 html 里,拷贝第一组 ul,将 class 的值改为 g。在 css 里,定义选择器 ul.g,声明样式属性 list-style-image,值为 url 小括号,图片路径为当前目录下的 purple.gif。

    看看效果,列表项用图片标记了!

    除了更换列表项的标记,还可以设置标记的位置,通过  list-style-position 属性来实现。这个属性的值有两个: outside,表示 标记在列表项之外。 inside,表示 标记在列表项内部。

    举个例子。

    在 html 里添加一个 h3 元素,填入一些文本。ul 点 h 大于 li 乘以 3 ul.h>li*3,创建一个无序列表,填入一些文本。拷贝这组列表,将 class 值改为 i。

    在 css 里定义 ul.h 选择器,声明样式 list-style-position: outside。定义 ul.i 选择器,声明样式 list-style-position: inside。

    仔细观察列表项标记的位置,如果这里画一条线,就一目了然了,outside,标记在列表内容的左侧,也是默认的位置。inside,标记在列表内容里面。

    有时,我们不希望显示列表项标记,此时可以应用  list-style-type: none 来去掉他们。

    再复制一组这个列表,将 class 值修改为 j。再定义选择器 ul.j,声明样式 list-style-type: none。

    我们看,列表项标记消失了。

    同样,列表属性也可以使用简写—— list-style,被用来在一个声明中,设置所有的列表属性。属性值按照 list-style-type list-style-position list-style-image 顺序来书写,某个值缺省的话,就使用它的默认值。

    复制两份列表,修改 class 值分别为 k,l  (这个是艾奥)。

    HTML
        
  • HTML
  •     
  • CSS
  •     
  • JavaScript
  •     
  • HTML
  •     
  • CSS
  •     
  • JavaScript
  • 定义选择器 ul.k,声明样式 list-style: square inside url("purple.gif")。再定义选择器 ul.l,声明样式 list-style: none。

    这样的简写,同样可以定义列表项的标记样式,方便快捷。

    我们还可以用颜色来装饰列表,使它们看起来更有趣。添加到 ol 或 ul 标签的任何样式都会影响整个列表,而添加到 li 标签的属性只会影响单个列表项。

    在 html 中再复制两组列表,修改 class 的值分别为 m,n。

    HTML
    
        
  • HTML
  •     
  • CSS
  •     
  • JavaScript
  •           
  • Vue
  •     
  • React
  •     
  • 小程序
  •   

    定义 ul.m 选择器,声明样式:background: #3399ff,padding: 20px。

    定义 ol.n 选择器,声明样式:background: #ff9999,padding: 20px。

    定义 ul.m li 选择器,声明样式:background: #cce5ff,color: darkblue,margin: 5px。

    定义 ol.n li 选择器,声明样式:background: #ffe5e5,color: darkred,padding: 5px,margin-left: 35px。

    这样,列表就装饰好了!

    这里用到的  padding    margin  属性,给元素添加内外边距,我们在后面的课程里还会详细的研究。

    CSS
    ul.m {
      background: #3399ff;
      padding: 20px;
    }
    ol.n {
      background: #ff9999;
      padding: 20px;
    }
    ul.m li {
      background: #cce5ff;
      color: darkblue;
      margin: 5px;
    }
    ol.n li {
      background: #ffe5e5;
      color: darkred;
      padding: 5px;
      margin-left: 35px;
    } 零基础学IT:wap.mobiletrain.org/ljc/


    请使用浏览器的分享功能分享到微信等