列表,表格和表单
1.项目符号样式 list-style-type
list-style-type属性允许你控制项目符号(也称为标记)的形状或样式。该属性可以应用到<ol>元素,<ul>元素,<li>元素的规则中使用。
无序列表:对于一个无序列表的list-style-type属性,你可以使用以下值:
none disc circle square
有序列表:对于一个有序(编号)列表的list-style-type属性,你可以使用以下值:
decimal 1 2 3 decimal-leadin
g-zero 01 02 03 lower-alpha a b c lower-roman upper-roman
ul{
list-style-type: lower-roman;
}
2.项目图片 list-style-image
可利用list-style-image属性将一个图像作为项目符号使用。该属性的值以字母url开头,后面跟着一堆圆括号,在括号里面,图像的路径在双引号中给出。该属性可以应用到<ul>元素和<li>元素的规则中。
ul{
list-style-image: url("address") ;
}
3.标记的定位 list-style-position
默认情况下,列表会缩进到页面中。list-style-position属性用于表明标记显示的位置,实在包含主体内容的盒子的内部,还是在其外部。该属性可以选用以下两个值:
outside:该值表明标记位于文本块的左侧。
inside:该值表明标记位于文本块内部,同时文本块会被缩进。
4.列表快捷方式 list-style
与其他的一些CSS属性一样,针对列表样式也有一个类似快捷方式的属性。该属性成为list-style,它允许你按任意顺序表示标记的样式,图像和位置属性。
5.表格属性
width:用于设置表格的宽度
padding:用于设置每个单元格边框与其内容之间的空隙
text-transform:用于将表格标题中的内容转换成大写
letter-spacing,font-size:用于设置表格标题的内容,增加额外的样式
border-top,border-bottom:用于设置表格标题上方和下方边框
text-align:用于将某些单元格中的书写方式设置为向左对齐或向右对齐
background-color:用于交替改变表格的背景颜色
:hover:在用户吧光标悬停在某个表格行时将此行高亮显示
设置单元格内边距:如果单元格中的文本紧贴边框,将不利于阅读,增加内边距有利于提高文本的可读性。
区分标题:将表格标题以粗体显示能够提高标题的可读性。为了明确地区分标题和内容,还可将标题大写,然后为其添加背景色或者下划线。
交替改变表格行的背景色:每隔一个表格行改变他的背景色有利于用于一行一行地查看。为了保持表格地整洁,可使用与表格行正常颜色右细微差别的背景色。
对齐数字:对于包含数字的列,可使用text-align属性将其内容向右对齐,这样一来大数字与小数字的差别便可以一目了然。
6.空单元格的边框 empty-cells
如果在一个表格中含有空单元格,那么你可以使用empty-cells属性来指定是否显示空单元格的边框。由于浏览器按不同的方式对空单元格进行处理,所以对于任意空单元格,如果你想让显示或者隐藏它们的边框,就需要用到empty-cells,该属性有三个值:
show:该值用于显示空单元格的边框。
hide:该值用于隐藏空单元格的边框。
inherit:如果一个表格嵌套在另一个表格中,那么inherit值表明单元格遵循外部表格的规则(继承)。
7.单元格之间的空隙 border-spacing,border-collapse
border-spacing属性允许你控制相邻单元格之间的距离。默认情况下,浏览器经常在每个的单元格之间留有一个较小的缝隙,如果你想增加或者减小这个缝隙,可以利用border-spacing属性进行控制。该属性的值通常以像素指定。如果希望分别指定单元格之间的横向距离和纵向距离,你可以一次指定两个值。
如果为单元格添加了边框,那么在两个单元格相接的地方,边框的宽度就会使外援边框的两倍。要避免这种情况的发生,可使用border-collapse属性来合并相邻的边框。该属性的可选值右:
collapse:该值表示尽可能将单元格相邻的边框何为一个单独的边框
separate:该值表示相邻的边框分离。
8.定义表单样式
CSS通常用于控制表单元素的外观。它可以使表单更美观,也可以使表单在不同的浏览器中表现得更加一直。它主要定义下列控件的样式:
文本输入框和文字域 提交按钮 表单中的标签,可以精确地对表单中的控件进行对齐。
9.定义单行文本框样式
这里总结以下用于文本输入框的一些常用CSS属性:
font-size:用于设置用户输入文本的大小。
color:用于设置文本颜色。
background-color:用于设置输入文本框的背景色。
border:用于在文本输入框的边缘增加边框。
border-radius:可用于创建圆角边框。
伪类:focus:用来咋使用文本输入框时改变文本输入框的背景颜色。
伪类:hover:用来在用户将光标悬停在文本输入框时改变文本输入框的背景色。
background-image:为盒子增加背景图像。
10.定义提交按钮样式
提交按钮所涉及的<input>元素设置的样式:
color:用于控制按钮上的文本的颜色。
text-shadow:可在支持改属性的浏览器上展示3D效果的文本。
border-bottom:使按钮的下方 边框稍微粗一点,从而使3D效果更加明显。
background-color:可以使提交按钮从周围的项目中凸显出来。
:hover:鼠标悬停时改变按钮样式。
11.定义字段集及说明的样式
<fiedset>字段集主要用来确定一个表单的边缘。在一个长表单中,它可以用来将相关信息进行分组。<legend>元素用于说明控件组中需要何种信息。以上两种元素常用的属性包括:
width:用于控制字段集的宽度。
color:用于控件文本的颜色。
background-color:用于改变这些元素的背景色。
border:用于控制字段集合/或说明周围的边框的外观。
border-radius:用于在支持该属性的浏览器中将这些元素的边缘进行柔化。
padding:可用来增加这些元素的内边距。
12.表单控件的对齐:问题
表单中的标签元素常常有长短不一的情况,这意味着表单控件可能不会对齐。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link rel="stylesheet" href="problem.css">
</head>
<body>
<div>
<label for="name" class="title">Name:</label>
<input type="text" id="name" name="name">
</div>
<div>
<label for="email" class="title">Email:</label>
<input type="text" id="email" name="email">
</div>
<div class="radio-buttons">
<span class="title">Gender</span>
<input type="radio" id="male" name="gender" value="M">
<label for="male">M</label>
<input type="radio" id="female" name="gender" value="F">
<label for="female">F</label>
</div>
<div class="submit">
<input type="submit" value="Register" id="submit">
</div>
</body>
</html>
13.表单空间的对齐:解决方案
div{
border-bottom: 1px solid #efefef;
max-resolution: 10px;
padding-bottom: 10px;
width: 260px;
}
.title{
float: left;
width: 100px;
text-align: right;
padding-right: 10px;
}
.submit{
text-align: right;
}
可以比较不添加CSS前后的变化。
14.光标样式 cursor
cursor属性用于控制先是给用户的光标的类型。下面列出该属性最常用的值:
auto crosshair default pointer move text wait help url("cursor.jpg")自定义
15.示例 本示例将演示我们本文所介绍的一些CSS属性,这些属性用于控制列表,表格和表单的外观。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>List,Tables and Forms</title>
<link rel="stylesheet" href="example.css">
</head>
<body>
<h1>Poetry WorkShop</h1>
<p>We will be conducting a number of poetry workshops
and symposiums throughout the year.</p>
<p>Please note that the following events are free to
members:</p>
<ul>
<li>A Poetic Perspective</li>
<li>Walt Whitman at War</li>
<li>Found Poems and Outsider Poetry</li>
</ul>
<table>
<tr class="head">
<th></th>
<th>New York</th>
<th>Chicago</th>
<th>San Francisco</th>
</tr>
<tr>
<th>A Poetic Perspective</th>
<td>Sat,4 Feb 2012 <br> 11am-2pm</td>
<td>Sat,3 Mar 2012 <br>11am-2pm</td>
<td>Sat,17 Mar 2012 <br>11am-2pm</td>
</tr>
<tr class="even">
<th>Walt Whitman at War</th>
<td>Sat,7 Apr 2012 <br>11am-1pm</td>
<td>Sat,5 May 2012 <br>11am-1pm</td>
<td>Sat,19 May 2012 <br>11am-1pm</td>
</tr>
<tr>
<th>Found Poems & amp: Outsider Poetry</th>
<td>Sat,9 Jun 2012 <br>11am-2pm</td>
<td>Sat,7 Jul 2012 <br>11am-2pm</td>
<td>Sat,21 Jul 2012 <br>11am-2pm</td>
</tr>
<tr class="even">
<th>Natural Death:An Exploration</th>
<td>Sat,4Aug 2012 <br>11am-4pm</td>
<td>Sat,8 Sep 2012 <br>11am-4pm</td>
<td>Sat,15 Sep 2012 <br>11am-4pm</td>
</tr>
</table>
<form action="#">
<fieldset>
<legend>Register your interest</legend>
<p>
<label for="name" id="title">Your name:</label>
<input type="text" name="name" id="name"><br>
<label for="email" class="title">Your Email:</label>
<input type="text" name="email" id="email">
</p>
<p>
<label for="location" class="title">Your closest center:</label>
<select name="location" id="location">
<option value="ny">New York</option>
<option value="il">Chicago</option>
<option value="ca">San Francisco</option>
</select>
</p>
<span class="title">Are you a member?</span>
<label><input type="radio" name="member" value="yes">Yes</label>
<label><input type="radio" name="member" value="no">No</label>
</fieldset>
<div class="submit"><input type="submit" value="Register"></div>
</form>
</body>
</html>
body{
font-family: Arial, Verdana, sans-serif;
font-size: 90%;
color: #666666;
background-color: #f8f8f8;
}
li{
list-style-type: circle;
line-height: 1.6em;
}
table{
border-spacing: 0px;
}
th,td{
padding: 5px 30px 5px 10px;
border-spacing: 0px;
font-size: 90%;
margin: 0px;
}
th,td{
text-align: left;
background-color: #e0e9f0;
border-top: 1px solid #f1f8fe;
border-bottom: 1px solid #cbd2d8;
border-right: 1px solid #cbd2d8;
}
tr.head th{
color: #ffffff;
border-bottom: 2px solid #547ca0;
border-right: 1px solid #749abe;
border-top: 1px solid #90b4d6;
text-align: center;
text-shadow: -1px -1px 1px #666666;
letter-spacing: 0.15em;
}
td{
text-shadow: 1px 1px 1px #ffffff;
}
tr.even td,tr.even th{
background-color: #e8eff5;
}
tr.head th:first-child{
border-top-left-radius: 5px;
}
tr.head th:last-child{
border-top-right-radius: 5px;
}
fieldset{
width: 310px;
margin-top: 20px;
border: 1px sloid #d6d6d6;
background-color: #ffffff;
line-height: 1.6em;
}
legend{
font-style: italic;
color: #666666;
}
input[type="text"]{
width: 120px;
border: 1px solid #d6d6d6;
padding: 2px;
outline: none;
}
input[type="text"]:focus,input[type="text"]:hover{
background-color: #d0e2f0;
border:1px solid #999999;
}
input[type="submit"]{
border: 1px solid #006633;
background-color: #009966;
color: #ffffff;
border-radius: 5px;
padding: 5px;
margin: 5px;
margin-top: 10px;
}
input[type="submit"]:hover{
border: 1px solid #006633;
background-color: #00cc33;
color: #ffffff;
cursor: pointer;
}
.title{
float: left;
width: 160px;
clear: left;
}
.submit{
width: 310px;
text-align: right;
}