PHP全站开发工程师-第05章 CSS表格列表排版

时间:2022-10-22 23:20:45

PHP全站开发工程师-第04章 CSS基础

CSS 列表

CSS列表属性作用如下:

  • 设置不同的列表项标记为有序列表
  • 设置不同的列表项标记为无序列表
  • 设置列表项标记为图像

 

在HTML中,有两种类型的列表:

  • 无序列表 - 列表项标记用特殊图形(如小黑点、小方框等)
  • 有序列表 - 列表项的标记有数字或字母

 

1.       CSS列表属性

属性

描述

list-style

简写属性。用于把所有用于列表的属性设置于一个声明中

list-style-image

将图象设置为列表项标志。

list-style-position

设置列表中列表项标志的位置。

list-style-type

设置列表项标志的类型。

2.       列表 -简写属性

在单个属性中可以指定所有的列表属性。这就是所谓的简写属性。

  • 为列表使用简写属性,列表样式属性设置如下:

ul{list-style:squareinside url("sqpurple.gif"); }

 

可以按顺序设置如下属性:

  • list-style-type
  • list-style-position (inside| outside
  • list-style-image    【url('sqpurple.gif')

如果上述值丢失一个,其余仍在指定的顺序,就没关系。

3.       list-style-type 属性设置列表项标记的类型

描述

none

无标记。

disc

默认。标记是实心圆。

circle

标记是空心圆。

square

标记是实心方块。

decimal

标记是数字。

decimal-leading-zero

0开头的数字标记。(01, 02, 03, 等。)

lower-roman

小写罗马数字(i, ii, iii, iv, v, 等。)

upper-roman

大写罗马数字(I, II, III, IV, V, 等。)

lower-alpha

小写英文字母The marker is lower-alpha (a, b, c, d, e, 等。)

upper-alpha

大写英文字母The marker is upper-alpha (A, B, C, D, E, 等。)

lower-greek

小写希腊字母(alpha, beta, gamma, 等。)

lower-latin

小写拉丁字母(a, b, c, d, e, 等。)

upper-latin

大写拉丁字母(A, B, C, D, E, 等。)

hebrew

传统的希伯来编号方式

armenian

传统的亚美尼亚编号方式

georgian

传统的乔治亚编号方式(an, ban, gan, 等。)

cjk-ideographic

简单的表意数字

hiragana

标记是:a, i, u, e, o, ka, ki, 等。(日文片假名)

katakana

标记是:A, I, U, E, O, KA, KI, 等。(日文片假名)

hiragana-iroha

标记是:i, ro, ha, ni, ho, he, to, 等。(日文片假名)

katakana-iroha

标记是:I, RO, HA, NI, HO, HE, TO, 等。(日文片假名)

4.       列表导航菜单

实例:demo01

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			ul{
				list-style-type: none;
			}
			a{
				text-decoration: none;
			}
			ul li{
				line-height: 50px;
				width: 200px;
				letter-spacing: 5px;
				text-indent: 8px;
				font-size: 18px;
				color: blue;
				font-weight: bold;
				background-color: bisque;
			}
			ul li:hover{
				background-color: darkcyan;
				color: white;
			}
		</style>
	</head>
	<body>
		<ul>
			<li><a href="">系统管理</a></li>
			<li><a href="">会员管理</a></li>
			<li><a href="">商品管理</a></li>
			<li><a href="">订单管理</a></li>
		</ul>
	</body>
</html>
PHP全站开发工程师-第05章 CSS表格列表排版

CSS 显示

display属性设置一个元素应如何显示,visibility属性指定一个元素应可见还是隐藏。

1.       隐藏元素

display:none或visibility:hidden都可以隐藏元素。

 

隐藏一个元素可以通过把display属性设置为"none",或把visibility属性设置为"hidden"。但是请注意,这两种方法会产生不同的结果。

 

visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。

 

display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。

2.       Display

display主要用的CSS样式有以下三个:

  • display:block  -- 显示为块级元素
  • display:inline  -- 显示为内联元素
  • display:inline-block -- 显示为内联块元素,表现为同行显示并可修改宽高内外边距等属性

 

常将<ul>元素加上display:inline-block样式,原本垂直的列表就可以水平显示了。

 

块级元素(block)特性

  • 总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示;
  • 宽度(width)、高度(height)、内边距(padding)和外边距(margin)都可控制;

 

内联元素(inline)特性

  • 和相邻的内联元素在同一行;
  • 宽度(width)、高度(height)、内边距的top/bottom(padding-top/padding-bottom)和外边距的top/bottom(margin-top/margin-bottom)都不可改变,就是里面文字或图片的大小;

实例:demo02

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			ul{
				list-style-type: none;
				width: 100%;
				text-align: center;
			}
			a{
				text-decoration: none;
			}
			ul li{
				display: inline-block;
				height: 50px;
				line-height: 50px;
				width: 200px;
				letter-spacing: 5px;
				text-indent: 8px;
				font-size: 18px;
				color: blue;
				font-weight: bold;
				background-color: bisque;
			}
			ul li:hover{
				background-color: darkcyan;
				color: white;
			}
		</style>
	</head>
	<body>
		<ul>
			<li><a href="">系统管理</a></li>
			<li><a href="">会员管理</a></li>
			<li><a href="">商品管理</a></li>
			<li><a href="">订单管理</a></li>
		</ul>
	</body>
</html>
PHP全站开发工程师-第05章 CSS表格列表排版

3.       下拉菜单

前面我们知道超链接a标签具有hover和active状态属性,其实这两个属性并不是超链接a标签专属,任何一个标签都具有这两个属性,因此,可以利用这两个属性来制作下拉菜单。

实例:demo03

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			ul{
				list-style-type: none;
				padding: 0;/*清除内边距*/
			}
			li{
				width: 15px;
			}
			a{
				text-decoration: none;
			}
			#menu1 li a{
				display: block;
				line-height: 50px;
				width: 200px;
				letter-spacing: 5px;
				text-indent: 8px;
				font-size: 18px;
				color: blue;
				font-weight: bold;
				background-color: bisque;
			}
			#menu1 li a:hover{
				background-color: darkcyan;
				color: white;
			}
			#menu1 li:hover #menu2{
				display: block;
			}
			
			#menu2 {
				display: none;
			}
			#menu2 li a{
				display: block;
				height: 50px;
				line-height: 50px;
				width: 200px;
				letter-spacing: 5px;
				text-indent: 8px;
				font-size: 18px;
				color: blueviolet;
				font-weight: bold;
				background-color: darkgrey;
			}
			#menu2 li a:hover{
				background-color: crimson;
				color: white;
			}
		</style>
	</head>
	<body>
		<ul id="menu1">
			<li>
				<a href="">系统管理</a>
				<ul id="menu2">
					<li><a href="">系统参数 </a></li>
					<li><a href="">系统设置</a></li>
					<li><a href="">系统版本</a></li>
					<li><a href="">系统更新</a></li>
				</ul>
			</li>
			<li><a href="">会员管理</a></li>
			<li><a href="">商品管理</a></li>
			<li><a href="">订单管理</a></li>
		</ul>
	</body>
</html>
PHP全站开发工程师-第05章 CSS表格列表排版

CSS 表格

1.       表格边框

指定CSS表格边框,使用border属性。

下面的例子指定了一个表格的ThTD元素的黑色边框:

table, th,td
{
border: 1px solid black;
}

请注意,在上面的例子中的表格有双边框。这是因为表和th/ td元素有独立的边界。

为了显示一个表的单个边框,使用 border-collapse属性。

2.       折叠边框

border-collapse 属性设置表格的边框是否被折叠成一个单一的边框或隔开:

table
{
border-collapse:collapse;
}
table,th, td
{
border: 1px solid black;
}

实例:demo04

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			#table1,
			th,
			td {
				border: 1px solid black;
			}
			#table2,
			#table2 th,
			#table2 td {
				border-collapse:collapse;
				border: 1px solid black;
				width:50%;
				height:30px;
				text-align:right;
				vertical-align:bottom;
				padding:15px;
				background-color:green;
				color:white;
			}
		</style>
	</head>

	<body>
		<table id="table1">
			<caption>表格一</caption>
			<tr>
				<th>表头</th>
				<th>表头</th>
			</tr>
			<tr>
				<td>单元格</td>
				<td>单元格</td>
			</tr>
		</table>
		<table id="table2">
			<caption>表格二</caption>
			<tr>
				<th>表头</th>
				<th>表头</th>
			</tr>
			<tr>
				<td>单元格</td>
				<td>单元格</td>
			</tr>
		</table>
	</body>

</html>
PHP全站开发工程师-第05章 CSS表格列表排版

3.       表格宽度和高度

Widthheight属性定义表格的宽度和高度。

下面的例子是设置100%的宽度,50像素的th元素的高度的表格:

table 
{
width:100%;
}
th
{
height:50px;
}


4.       表格文字对齐

表格中的文本对齐和垂直对齐属性。

text-align属性设置水平对齐方式,像左,右,或中心:

td
{
text-align:right;
}

垂直对齐属性设置垂直对齐,比如顶部,底部或中间:

 

td
{
height:50px;
vertical-align:bottom;
}


5.       表格填充

如果在表的内容中控制空格之间的边框,应使用tdth元素的填充属性:

td
{
padding:15px;
}


6.       表格颜色

下面的例子指定边框的颜色,和th元素的文本和背景颜色:

table, td,th
{
border:1px solid green;
}
th
{
background-color:green;
color:white;
}

7.       CSS3表格隔行色

<style type="text/css">

td:nth-of-type(odd){ background:#00ccff;}奇数行

td:nth-of-type(even){ background:#ffcc00;}偶数行

 

td:nth-child (odd){ background:#00ccff;}奇数行

td:nth-child (even){ background:#ffcc00;}偶数行

</style>

实例:demo05

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			table{
				width: 80%;
				text-align: center;
				border-collapse: collapse;
			}
			th,td{
				height: 35px;
				color: white;
			}
			tr:nth-child(odd){
				background-color: #5F9EA0;
			}
			tr:nth-child(even){
				background-color: darkolivegreen;
			}
			td:nth-child(3n+3){
				background-color: #A52A2A;
			}
		</style>
	</head>

	<body>
		<table border="0" align="center">
			<tr>
				<th>编号</th>
				<th>姓名</th>
				<th>性别</th>
				<th>年龄</th>
				<th>身高</th>
				<th>体重</th>
				<th>签名</th>
			</tr>
			<tr>
				<td>1</td>
				<td>刘亦菲</td>
				<td>女</td>
				<td>32</td>
				<td>168CM</td>
				<td>50kg</td>
				<td>那时觉得看哈数据库的</td>
			</tr>
			<tr>
				<td>2</td>
				<td>刘亦菲</td>
				<td>女</td>
				<td>32</td>
				<td>168CM</td>
				<td>50kg</td>
				<td>那时觉得看哈数据库的</td>
			</tr>
			<tr>
				<td>3</td>
				<td>刘亦菲</td>
				<td>女</td>
				<td>32</td>
				<td>168CM</td>
				<td>50kg</td>
				<td>那时觉得看哈数据库的</td>
			</tr>
			<tr>
				<td>4</td>
				<td>刘亦菲</td>
				<td>女</td>
				<td>32</td>
				<td>168CM</td>
				<td>50kg</td>
				<td>那时觉得看哈数据库的</td>
			</tr>
			<tr>
				<td>5</td>
				<td>刘亦菲</td>
				<td>女</td>
				<td>32</td>
				<td>168CM</td>
				<td>50kg</td>
				<td>那时觉得看哈数据库的</td>
			</tr>
		</table>
	</body>

</html>
PHP全站开发工程师-第05章 CSS表格列表排版

[作业实验]

1.  制作如下面板的效果。

PHP全站开发工程师-第05章 CSS表格列表排版

2.  实现如下导航栏

PHP全站开发工程师-第05章 CSS表格列表排版

3.  通过列表制作简单垂直三级导航栏

    PHP全站开发工程师-第05章 CSS表格列表排版

4.       制作如下表格样式

PHP全站开发工程师-第05章 CSS表格列表排版

PHP全站开发工程师-第06章 CSS盒子模型