表格除了显示数据外,还常常被用来排版。

表单作为与用户交互的窗口,时刻扮演着信息获取和反馈的角色。

6.1 控制表格

6.1.1 表格中的标记

<table>标记中除了使用了border属性勾勒出表格的边框外,还使用了summary属性。该属性的值用于概括整个表格的内容,在用浏览器浏览页面时,他的效果是不可见的,但对搜索引擎等十分重要。

<caption>标记的作用跟它的名称一样,就是表格的大标题,该标记可以出现在<table></table>之间的任意位置,不过通常习惯放在第一行,及紧接着<table>标记。

<caption>标记还有专用的属性caption-side,用于调整表格标题的位置,但只在firefox下有效,IE对它的支持并不理想。

<th>标记在表格中主要用于行或者列的名称。<th>标记中的scope属性就是专门来区分航名称和列名称的,分别设置scope的值为row或者col,即可分别指定名称为行的名称或列的名称。

在表格中正确使用各种标记非常重要,对于CSS而言,给表格添加类别(例如.datalist)后,如果表格的各种标记运用得当,可以轻松的设置各种样式。例如表格标题的”.datalist caption”,表格行的”.datalist tr”,等等。

6.1.2 表格的颜色

通过color属性设置表格中文字的颜色

通过background属性设置表格的背景颜色

6.1.3 表格的边框

border属性设置表格边框的粗细,当设置其值为0时,表明表格没有边框。<table>标记中的bordercolor属性可以用来设置表格边框的颜色

CSS中表格的border-collapse属性,使得边框重叠在一起

6.2 表格实例一:隔行变色

CSS中实现隔行变色十分简单,主要在于给偶数行的<tr>标记都添加上相应的类型,即:<tr class=”altow”>,然后在CSS样式表中对偶数行进行单独的样式设置,主要是在配合整体设计协调的基础上,加深背景颜色等。

6.3 表格实例二:鼠标经过时变色的表格

首先建立好整个表格,所有行的颜色不单独设置,统一采用表格本身的背景色。

对于Firefox浏览器而言,仅仅通过CSS便可以实现该效果,为<tr>标记添加如下代码:

    .datalist tr:hover,{

background-color:#c4e4ff;

    }

即直接调用<tr>标记的伪类别hover来实现动态的变色效果。

IE浏览器并不支持<tr>标记的伪类别,,因此必须采用JavaScript动态的配合,为<tr>标记添加CSS类型如下:

    .datalist tr:hover,.datalist tr.altrow{

          background-color:#c4e4ff;

    }

然后在<table>后添加JavaScript代码,已提取表格中的<tr>标记,并用函数判断鼠标指针是否移到了某行上,如果移动到了某行上,则调用新的CSS属性使该行背景变色。

    <style>

    .datalist tr:hover,.datalist tr.altrow{

          background-color:#c4e4ff;

    }

    </style>

    <table>

</table>

<script language=”javascript”>

var rows=documentsByTagName(‘tr’);

for(var i=0;i<rows.length;i++){

rows[i].onmouseover=function(){          //鼠标指针在行上面的时候

this.className+=”altrw”;

}

rows[i].onmouseout=function(){           //鼠标指针离开时

this.className=this.className.replace(‘altrow’)

}

}

</script>

</body>

</html>

6.4表格实例三:日历

首先按照传统的方法建立最简单的表格,包括建立表格的标题<caption>,以及利用<th>表示星期一到星期日,并给表格定义CSS类别。

依次建立好整个日历表格的框架结构后,便开始加入CSS属性控制其样式风格:首先添加对整个表格的控制,以及相应的<caption><th><td>。然后对日程安排中的事情列表进行CSS控制,清楚每个事件前面的小圆点,事件与事件之间添加一些空隙。最后为上个月的日期previous、下个月的日期next和有日程安排的日期active3个特殊的类别添加CSS样式,目的在于给整个日历添彩。

6.5 CSS表单

6.5.1 表单中的元素

表单中的元素很多,包括常用的输入框、文本框、单选项、复选框、下拉菜单和按钮等。

普通表单的源码主要包括<form><input><textarea><select><option>等几个标记。

利用CSS对标记的控制,对整个表单添加简单的样式风格,包括边框、背景色、宽度和高度等。如下:

form{

border:1px dotted #AAAAAA;

padding:3px 6px 3px 6px;

margin:0px;

font:14px Arial;

}

input{

}

select{

}

textarea{

}

此时表单看上去不那么单调了。但是单选项和复选框对于边框的显示效果,在浏览器IEFirefox中有明显的区别。因此在设计表单时通常的方法还是给具体的各项添加类别属性,进行单独的设置。

经验之谈:各个浏览器之间显示的差异通常都是因为各浏览器对部分CSS属性的默认值不同导致的,通常的解决办法就是指定该值,而不让浏览器使用默认值。

6.5.2 像文字一样的按钮

首先跟普通的表单一样,定义<form><input>等标记,并设置相应的类型,以便通过CSS控制其样式。

然后给表单的样式添加CSS样式,关键在于将按钮的背景颜色设置为透明”transparent”,这样无论页面body的背景颜色如何修改,按钮的背景色都会发生相应的变化。接下来再将按钮的边框设置为0。在设置按钮和文本框的背景色为透明之后,两者都会将自己的背景色调整为跟页面背景色相一致,再配合文本框的下划线效果,按钮就显得十分自然了。

经验之谈:这种将按钮边框隐藏的思想与采用<style>标记对页面排版的思路是一致的,都是将元素的边框隐藏,从而直接利用其内容的特性。

6.5.3 七彩的下拉菜单

posted on 2011-10-13 09:54  箪箪汰郎  阅读(3309)  评论(0编辑  收藏  举报