您的位置:首页 > Web前端 > CSS

CSS3秘笈:第十一章

2015-12-23 19:41 429 查看
表格和表单的格式化

1.表格的各种标签提供了许多有用的“钩子”,可以再上面挂CSS样式。如果创建了<th>标签样式,那么每一个列的标题——<th>标签——看起来就有可能与其他的表格单元不同,也可以使用<colgroup>标签方便地为表格单元列来设置宽度。

2.padding指一个元素的边框与其内容之间的空间。你可以用padding在段落的文本与其边框之间添加一点空间。对于表格而言,边框就是指表格单元的边,因此padding是在表格单元里的内容周围添加空间。它还有一个好处,即可以分别控制单元内容与其各条边之间的空间。如果要在所有表格单元里面添加10px的空间,可以使用这个样式

td, th { padding: 10px;}

还可以分别控制每一条边的间隔。假设要在每个表格数据单元的顶部添加1-px的空间,在底部添加3px,在左右两侧各添加5px,可以创建这个样式:

td {

padding-top::10px;

padding-right:5px;

padding-bottom:3px;

padding-left:5px;

}

或者利用padding快捷属性,像这样:

td {

padding: 10px 5px 3px 5px;

3.要控制内容在表格单元内的位置,可利用text-align和vertical-align属性。

text-align控制水平方向的定位,可以设成left、right、center和justify。这是一个可以被继承的属性。如果要让所有表格单元的内容都靠右对齐,可以像这样创建样式:

table { text-align:right;}

这个属性对<th>标签很有用,因为浏览器通常让它们居中对齐。像th { text-align:left;}这样一个简单的样式,就能使表格的标题与表格单元对齐。

4.CSS中border(边框)属性的作用与其他元素的table(表格)十分相似,但是需要牢记以下几点:首先,在格式化<table>标签的样式中设置border时,它只会给表格添加边框,而不会给任何表格单元添加边框。其次,对表格单元设置border时(td { border:lpx solid black; }),会在表格单元之间留下一条明显可见的间隙。

5.控制表格单元之间的空格。除非另有指示,否则浏览器都会让表格单元隔开几个像素。当你对表格单元应用边框时,实际上很容易看到这条间隙。CSS提供了border-spacing属性用来控制这条间隙。将该属性应用到表格本身,并且如果希望删除浏览器通常会在单元格之间显示的那部分空格,则可以将border-spacing的值设为0:

table {

border-spacing:0;

}

如果喜欢单元格之间有空格,还可以添加空格:

table {

border-spacing;2px;

}

消除双边框。collapse选项可以消除单元间隔和双边框。其做法是在格式化表格的样式中设定collapse值,像这样:

table { border-collapse: collapse; }

圆角。利用border-radius属性可以给表格单元添加圆角。例如,如果想要将表格单元框起来,给他们添加圆角,可以像这样创建样式:

td {

border:lpx solid black;

border-radius:5px;

注意,如果将border-collapse属性值设为collapse,那么浏览器将会忽略为表格单元设置的所有border-radius;他们将只是绘制出普通的正方形角。

6.以下是一些常见的表单标签,以及与它们相关的属性类型。

fieldset。<fieldset>标签用来集中相关表单问题。

legend。<legend>标签就在<fieldset>标签的HTML代码之后,它给一组域提供一个标签。

text fields(文本域)。<input type="text">、<input type="password">以及<textarea>标签都是在表单中创建文本框。

buttons(按钮)。表单按钮,比如<input type="submit">,是让访问者提交表单、重填内容、或者触发一些其他的动作。

drop-down menus(下拉菜单)。对于由<select>标签创建的下拉菜单,也可以在一定程度上定义样式。

checkbox(复选框)和radio button(单选按钮)。大部分浏览器都不允许对这些元素设定格式。但Opera却允许你在复选框或按钮里面设置一种背景色。

7.给表格定义样式

(1)在Web浏览器上打开文件11→table→table.html。

(2)在文本编辑器中打开table.html。

(3)在开始的和闭合的<style>标签之间单击,然后添加以下样式:

.inventory {

font-family:"Trebuchet Ms", Arial, Helvetica, sans-serif;

width:100%;

(4)在刚刚创建的表格样式下方添加另一个样式:

.inventory caption {

text-align:right;

font-size:l . 3em;

margin-bottm:10px;

}

(5)在内部样式表中添加以下样式组:

.inventory td, .inventory th {

font-size: 1 . 1em;

border: 1px solid #DDB575;

(6)在第3步创建的表格样式中添加border-collapse属性,像这样:

.inventory {

font-family: "Trebuchet Ms",Arial, Helvetica, sans-serif;

width: 100%;

margin-top:25px

border-collapse: collapse;

(7)在第5步创建的群组选择器中添加padding:

.inventory td, .inventory th {

font-size: l . lem;

border: lpx solid #DDB575;

padding: 3px 7px 2px 7px;

}

(8)在格式化表格标题单元的.inventory td, .inventory th样式下方添加一个新的样式:

.inventory th {

text-transform: uppercase;

text-align: left;

padding-top: 5px;

padding-bottom: 4px;

(9)在th样式中给背景添加线性渐变,并修改文本的颜色:

.inventory th {

text-transform: uppercase;

text-align: left;

padding-top: 5px;

padding-bottom: 4px;

background: rgb(229,76,16),

background: -webkit-linear-gradient(rgb(229,76,16),

rgb(173,54,8));

background: -moz-linear-gradient(rgb(229,76,16),

rgb(173,54,8));

background: -o-linear-gradient(rgb(229,76,16),

rgb(173,54,8));

background: linear-gradient(rgb(229,76,16), rgb(173,54,8));

color: white;

}

(10)在网页的内部样式表中再添加一个样式:

.inventory tr:nth-of-type(even){

backround-color: rgba(255,255,255, . l);

}

.inventory tr : nth-of-type(odd) {

background-color: rgba(229,76,16, . l );

}

(11)在网页的内部样式:

#price, #rating {

width: 15%;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: