我理解的<table>表格

<table>表格

【默认样式】

//IE7-浏览器不支持border-spacing

table{

  border-collapse: separate;

  border-spacing: 2px;

  border: 1px solid gray;

}

【属性】

【1】border(在html5中,border只能为"1"或" ")

border="0"//没有边框

border="8"//8像素宽的边框

【2】cellpadding(px/%)(html5已废弃)

  规定单元边界与单元内容之间的间距

【3】cellspacing(px/%)(html5已废弃)

   规定单元格之间的间距

【4】summary(html5已废弃)

  表格内容的摘要

【5】width(html5已废弃)

   表格宽度

<table border="2" cellpadding="5" cellspacing="3" summary="测试表格" width="300">

<tr>

<td>row 1, cell 1</td>

<td>row 1, cell 2</td>

</tr>

<tr>

<td>row 2, cell 1</td>

<td>row 2, cell 2</td>

</tr>

</table>

【6】frame(IE7-浏览器不能正常显示)(html5已废弃)



描述


void


不显示外侧边框。


above


显示上部的外侧边框。


below


显示下部的外侧边框。


hsides


显示上部和下部的外侧边框。


vsides


显示左边和右边的外侧边框。


lhs


显示左边的外侧边框。


rhs


显示右边的外侧边框。


box


在所有四个边上显示外侧边框。


border


在所有四个边上显示外侧边框。

【7】rules(IE7-浏览器不能正常显示)(html5已废弃)



描述


none


没有线条。


groups


位于行组和列组之间的线条。


rows


位于行之间的线条。


cols


位于列之间的线条。


all


位于行和列之间的线条。

  <演示框>点击下列相应属性值可进行演示

【样式】

【1】border-spacing[可替代HTML属性cellspaing](IE7-不支持)

  [注意]只有当border-collapse值为separate时,该样式才有效

border-spacing: x y

//x:水平间距 y:垂直间距。若只有一个值,则水平间距和垂直间距相等。注意,不可为负值。

【2】empty-cells(IE7-不支持)

empty-cells: hide 不在空单元格周围绘制边框和背景,类似于hidden效果

empty-cells: show(默认) 在空单元格周围绘制边框和背景

【3】border-collapse

  CSS实际上有两种截然不同的边框模型。按布局术语来说,如果单元格相互之间是分隔的,是分隔边框模型在起作用;另一种是合并边框模型,单元格边框会相互合并。

border-collapse:separate;

  [注意]在分隔边框模型中,不能为行、行组、列和列组设置边框。

border-collapse:collapse;

  [注意1]在合并边框模型中,表格无法设置内边距padding,且单元格边框之间也没有间距。单元格之间的边框会在单元格间的假想表格线上居中。

  [注意2]在合并边框模型中,表格宽度只包含表格边框的一半。

【边框合并的规则】

  【a】某个合并边框的border-style为hidden,它会优先于所有其他合并边框。这个位置上的所有边框都隐藏

  【b】某个合并边框的border-style为none,它的优先级最低

  【c】宽边框优先于窄边框

  【d】若宽度相同,double\solid\dashed\dotted\ridge\outset\groove\inset,优先级逐渐降低

  【e】若样式也相同,cell\row\row group\column\column group\table,优先级逐渐降级

  <演示框>点击下列相应属性值可进行border-style的演示

【4】table-layout

table-layout:auto//自动宽度布局

【自动布局的步骤】

  【a】对于一列中的单元格,计算最小和最大单元格宽度

  【b】对于各一列,计算最小和最大列宽

  【c】若单元格跨列,最小列宽之和要等于跨列单元格最小单元格宽度

table-layout:fixed//固定宽度布局

【固定布局的步骤】

  【a】width属性值不是auto的所有列元素会根据width值设置该列的宽度

  【b】如果一个列的宽度为auto,则根据该单元格设置此列宽度,如果跨多列,则宽度平均分配

  【c】如果列宽度仍为auto,则自动确定其大小,使其宽度尽可能相等

  [注意]使用固定宽度布局,用户代理可以更快地计算出表格的布局

【5】vertical-align

vertical-align: top;//顶端对齐

vertical-align: bottom;//底端对齐

vertical-align: middle;//中间对齐

vertical-align: baseline(默认);//基线对齐

  [注意]vertical-align:sub\super\text-top\text-bottom应用到表格单元格时会被忽略

【<tr><th><td>】

<tr>行 table row

<th>表头 table head

<td>表格数据 table data

【默认样式】

th{

padding: 1px;

text-align: center;

font-weight: bold;

}

td{

padding: 1px;

}

【属性】

【1】colspan

  规定单元格可横跨的列数

【2】rowspan

  规定单元格可横跨的行数

  [注意1]关于行的表格元素生成矩形框,这些框有内容、内边距和边框,但是没有外边距margin

  [注意2]表头呈现为居中的粗体文本

   <演示框>点击下列相应属性值可进行演示

【<col><colgroup>】

  <col> -> column 列

    为表格中一个或多个列定义属性值

  <colgroup> -> column group 列组

    对表格中的列进行组合,以便对其进行格式化

【属性】

【1】span

  规定col元素应该横跨的列数

【样式】

【1】visibility:collapse

  该列或列组的所有单元格不显示(设置为其他值则无效)

【2】border

  只有当border-collapse:collapse时,才能设置border

【3】background

  只有当单元格及其行有透明背景时,列或列组的背景才可见

【4】width

  定义列或列组的最小宽度

<table border="1" style="border-collapse: collapse">

<colgroup span="2" style="width:100px; background-color: red"></colgroup>

<col style="background-color: green; width:200px; border: 3px solid blue;" >

<tr>

<td>数字</td>

<td>中文</td>

<td>英文</td>

</tr>

<tr>

<td>1</td>

<td>一</td>

<td>a</td>

</tr>

<tr>

<td>2</td>

<td>二</td>

<td>b</td>

</tr>

</table>

其他表格元素

【<thead><tbody><tfoot>】

<thead>表格页眉

<tbody>表格主体

<tfoot>表格页脚

  [注意]它们的出现次序是:thead、tfoot、tbody,这样浏览器就可以在收到所有数据前呈现页脚

【<caption>表格标题】

  【默认样式】

caption{

text-align: center;

}

  【样式】

caption-side: top(默认)

caption-side: bottom

  [注意]<caption>标签必须紧随<table>标签之后,且只能对每个表格定义一个标题

<table border="1" >

  <caption style="caption-side:bottom">北京天气</caption>

<thead>

<tr>

<th>地区</th>

<th>天气</th>

</tr>

</thead>

<tfoot>

<tr>

<td>北京</td>

<td>都雾霾</td>

</tr>

</tfoot>

<tbody>

<tr>

<td>城八区</td>

<td>雾霾</td>

</tr>

<tr>

<td>郊区</td>

<td>雾霾</td>

</tr>

</tbody>

</table>

display

table{display: table;}

thead{display: table-header-group;}

tbody{display: table-row-group;}

tfoot{display: table-footer-group;}

tr{display: table-row;}

td,th{display: table-cell;}

col{display: table-column;}

colgroup{display: table-column-group;}

caption{display: table-caption;}

   [注意]IE7-浏览器不支持为HTML元素设置与表格有关的display值

匿名表格对象

  CSS定义了一种机制,将遗漏的组件作为匿名对象插入。详细插入规则如下:

  【1】如果table-cell元素的父元素不是table-row元素,则插入匿名table-row对象

  【2】如果table-row元素的父元素不是table、inline-table或table-row-group元素,则插入匿名table元素

  【3】如果table-column元素父元素不是table、inline-table或table-row-group元素,则插入匿名table元素

  【4】如果table-row-group、table-header-group、table-footer-group、table-column-group或table-caption的父元素不是table元素,则插入匿名table元素

  【5】如果table元素或inline-table元素的子元素不是table-row-group、table-header-group、table-footer-group、table-column-group或table-caption,则插入匿名table-row元素

  【6】如果table-row-group、table-header-group、table-footer-group元素的子元素不是table-row元素,则插入匿名table-row元素

  【7】如果table-row元素的子元素不是table-cell元素,则插入匿名tabel-cell元素

表格层

  CSS定义了6个不同的层,对应表各个方面的样式都在其各自的层上绘制。默认地,所有元素背景都是透明的,如果单元格、行、列等没有自己的背景,则table元素的背景将透明这些内部元素可见。

  <演示框>点击下列相应属性值可进行演示

边距设置

<table>

  若处于分隔边框模型,margin和padding都可设置

  若处于合并边框模型,只可设置margin

<thead><tbody><tfoot><tr><col><colgroup>

    margin和padding都不可设置

<td><th>

    不可设置margin,但可以设置padding

<caption>

    margin和padding都可设置

 

时间: 2024-10-13 01:23:43

我理解的<table>表格的相关文章

JS组件系列——Bootstrap Table 表格行拖拽

原文:JS组件系列--Bootstrap Table 表格行拖拽 前言:之前一直在研究DDD相关知识,好久没更新JS系列文章了.这两天做了一个简单的业务需求,觉得效果还可以,今天在这里分享给大家,欢迎拍砖~~ 一.业务需求及实现效果 项目涉及到订单模块,那天突然接到一个需求,说是两种不同状态的订单之间要实现插单的效果,页面上呈现方式是:左右两个Table,左边Table里面是状态为1的订单,右边Table里面是状态为2订单,左边Table里面的行数据拖动到右边Table里面指定行的位置,拖动完成

学习10 table表格制作标签

<!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>认识table表格标签</title> <style type="text/css"> table tr td,th{border:1px solid

使用JS遍历Table表格中所有单元格内容

通过JS去遍历Table的所有单元格中的内容,可以用如下JS代码实现:使用该方法时必须为Table表格设置唯一的id属性. function GetInfoFromTable() { var tableInfo = ""; var tableObj = document.getElementByIdx_x("tableid"); //获取表格对象 for (var i = 0; i < tableObj.rows.length; i++) { //遍历Tabl

Table表格横竖线实现Css

.tablel { border-collapse:collapse; /* 关键属性:合并表格内外边框(其实表格边框有2px,外面1px,里面还有1px哦) */ border:solid #999; /* 设置边框属性:样式(solid=实线).颜色(#999=灰) */ border-width:1px 0 0 1px; /* 设置边框状粗细:上 右 下 左 = 对应:1px 0 0 1px */} .tablel th{border:solid #999;border-width:0 1

jQuery实现的table表格隔行换色代码实例

jQuery实现的table表格隔行换色代码实例:下面是一段代码实例,能够实现隔行变色的效果,这是网站人性化措施之一,在实际应用中的使用非常广泛.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <t

table表格单元格中的内容如何强制换行

table表格单元格中的内容如何强制换行:有时候表格单元格中的内容不会换行,那么这个就会严重影响到用户体验,下面就简单介绍一下如何实现单元格中的内容换行.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.51texiao.cn/" />

利用JavaScript如何创建一个table表格[第2种方法]

创建一个五行五列的表格(使用循环) <style> td{border:1px solid #ccc;} </style> <script> window.onload=function(){ var oTable=document.createElement("table"); var row; var cell; for(var i=0;i<5;i++){ row=document.createElement("tr")

javascript添加或者删除table表格行代码实例

javascript添加或者删除table表格行代码实例:表格是常用的元素,虽然在布局中已经鲜有使用,已经基本被div css所取代,但是在组织表格数据方面还是有很大的优势的,比使用div css要来的方便,添加或者删除一行也就是其中的tr更是最为常见的操作,下面就通过代码实例简单介绍一下如何实现此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta

实现table表格各行变色代码实例

实现table表格各行变色代码实例:本章节介绍一下如何实现表格内容的隔行变色效果,这一效果的应用非常广泛,因为它有着较高的实用性,并且实现代码也比较简单,下面就通过代码实例介绍一下如何实现此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softw