首页 > 其他分享 >零基础学前端之CSS列表

零基础学前端之CSS列表

时间:2023-02-01 18:02:14浏览次数:43  
标签:style 前端 list 列表 ul type 选择器 CSS

这篇我们学习CSS列表。

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

零基础学前端之CSS列表_HTML

在 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
<body>
<ul class="a">
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ul>
<ul class="b">
<li>Vue</li>
<li>React</li>
<li>小程序</li>
</ul>
<ul class="c">
<li>大前端</li>
<li>前端架构</li>
</ul>

<ol class="d">
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ol>
<ol class="e">
<li>Vue</li>
<li>React</li>
<li>小程序</li>
</ol>
<ol class="f">
<li>大前端</li>
<li>前端架构</li>
</ol>
</body>

拷贝这三组无序列表,将 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,表示标记在列表项内部。

零基础学前端之CSS列表_ide_02

举个例子。

在 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
<ul class="k">
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ul>

<ul class="l">
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ul>

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

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

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

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

HTML
<ul class="m">
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ul>

<ol class="n">
<li>Vue</li>
<li>React</li>
<li>小程序</li>
</ol>

定义 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;
}

标签:style,前端,list,列表,ul,type,选择器,CSS
From: https://blog.51cto.com/u_14573321/6031734

相关文章

  • 零基础学前端之CSS边框
    我们学习如何应用CSS给元素添加边框。CSS边框属性,允许我们指定一个元素边框的样式、宽度和颜色。我们先来学习元素边框的样式。border-style属性指定了要显示什么样的边框......
  • 局域网 前端大文件上传
    ​ 最近遇见一个需要上传超大大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。在某些业务中,大文件上传是一个比较重要的......
  • vue 中 css 的全局污染问题
    问题场景:通过一个入口文件index.js,export几个自定义的vue组件,如果其中一个组件中有全局的样式,那么 import其中任一个vue组件之后,全局的样式就会被引入,间接的造成......
  • 关于CSS、SCSS、SASS、HTML单页面引入SCSS
    1.CSS、SCSS、SASSCSS是开发人员熟知的一种用于页面样式开发的语言,可以通过内容的分离控制减少代码的重复性,降低代码的复杂程度。SASS与SCSS都是CSS预处理......
  • B/S 前端大文件上传
    ​ 前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对Http协议较模糊,故这次采用渐进的方式来学习文件上传的......
  • css行内元素的line-height属性导致的高度溢出问题。
    <divstyle="line-height:1.12;"><spanstyle="display:inline-block;">此处的文字高度要大于所属的span元素的高度。<span></span></span><div>这里......
  • PHP 前端大文件上传
    ​ 核心原理: 该项目核心就是文件分块上传。前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题。* 如何分片;* 如何合成......
  • 手写一个audio播放器,实现歌曲切换,列表歌曲循环,音量调节等 vue
    1<template>2<divclass="wrapper">3<svg4t="1673833915638"5class="iconrotateIcon"6viewBox="0010241024"7......
  • 前端面试题(三)
    1.代码解析<script>//定义全局函数对象(编译阶段)functionFoo(){//重写全局getName(运行阶段)getName=function(){console.log(1)}......
  • 千姿百态,瞬息万变,Win11系统NeoVim打造全能/全栈编辑器(前端/Css/Js/Vue/Golang/Ruby
    我曾经多次向人推荐Vim,其热情程度有些类似现在卖保险的,有的时候,人们会因为一些弥足珍贵的美好暗暗渴望一个巨大的负面,比如因为想重温手动挡的快乐而渴望买下一辆二十万公里......