表格是网页上最常见的元素,但是,现在对很多刚入行的前端们那是谈table色变。那是为啥?这是表格的框架的简单、明了、在传统的网页中使用没有边框的表格来排版是非常流行。在web标准逐渐深入设计领域以后,table布局不能适应页面变化更替,一直是页面重构的“重灾区”,扩展性极差,以至table布局消失在历史的河流中。这就是刚入行的前端们惧怕table的原因,反而没有深知table的真正用武之地(数据的展示)。以下我三个方面来讲table元素。

一、table的自身属性

1.cellspacing:表示单元格之间的距离(相当css中border-collapse属性[collapse-合并、separate-分离])。

  图1-1为cellspacing=”10”

2.Cellpadding:表示单元格内容与其边框之间的空白(相当css中padding属性)

这个html属性在特殊的布局是很有着用(如:edm)

图1-2为cellpadding=”10”

二、Css方面

1.了解table元素的童鞋都知道table元素设置了border-collapse:collapse时再padding是没有效果的;

图1-3为border-collapse:collapse;padding:20px;

图1-4为border-collapse:separate;padding:20px;(IE6/7显示还是如图1-3)

2.th,td设置margin也没有效果;

图1-5为th,td的margin为20px

3.在我的测试中tr设置margin,padding都是没有效果。

图1-6为margin,padding都为20px

4.Css属性table-layout是设置表格的宽度是“自动式”还是“固定式”

图1-7为table-layout为auto(默认)-内容自动式

图1-8为table-layout为fixed-内容固定式,不管内容多少都按固定宽度显示

三、Js方面

在处理表格的时候,js提供了一些关于方便构建表格自己的一套处理属性和方法,不必繁琐的运用标准DOM方法创建添加

1.Table对象集合-

cells[] 获取包含表格中所有单元格的数组

rows[] 获取包含表格中所有行的数组

tBodies[] 获取包含表格中所有tbody的数组

2.Table对象属性

tFoot 获取表格的tFoot对象

tHead 获取表格的tHead对象

width 设置或获取表格宽度

border 设置或获取表格边框

caption 设置或获取表格标题

3.Table对象方法

createCaption() 为表格创建一个空的标题元素

createTFoot() 为表格创建一个空的tFoot元素

createTHead() 为表格创建一个空的tHead元素

deleteCaption() 删除表格的标题元素

deleteRow() 删除指定的表格行

deleteTFoot() 删除表格的tFoot元素

deleteTHead() 删除表格的tHead元素

insertRow() 向表格中插入新行

  <!DOCTYPE HTML>
  <html lang="en-US">
  <head>
   <meta charset="UTF-8">
   <title></title>
   <style type="text/css">
   .div1 {width:600px; margin:20px auto; border:1px solid red;}
   table {width:100%; border-collapse:collapse;border-spacing:0; line-height:20px; table-layout:fixed;}
  
   </style>
  
  </head>
  <body>
  <div class="div1" id="div1">
  
  </div>
  <script type="text/javascript">
   var oDiv = document.getElementById('div1');
   var oTb = document.createElement('table');
   var oTbody = document.createElement('tbody');
   oTb.border = '1';
   for ( var i = 0; i < 3; i++ ) {
   oTbody.insertRow(i);
   for ( var j = 0; j < 3; j++ ) {
   oTbody.rows[i].insertCell(j).innerHTML = 'row-' + i + '--' + 'cell-' + j;
   }
   }
   oTb.appendChild(oTbody);
   oDiv.appendChild(oTb);
  </script>
  </body>
  </html>

ps:table元素师很重要的数据显示布局的html元素,其实table运用很广范,比如漂浮在页面上的分享到。

关于table元素的认识的更多相关文章

  1. IE 中单元格的 colspan 属性在某些情况下会影响 TABLE 元素的自动布局

    今天在写一个jsp页面时,遇到一个如下的问题:在一个table中写了如下内容,table中定义了4列,在firefox中能正常显示,而在ie8中,显示不正常, 如下如图1:第二,三,四列宽度发生变化, ...

  2. HTML&CSS Table元素详细解说

    1.预热 css样式多如牛毛,我不可能一个一个去讲,那样好像背字典一样,我相信你们也不喜欢这样的方式.所以,我会在实战中慢慢和你讲解,然后,你记住一些重要的css属性就可以了.关键是,你要学会去查资料 ...

  3. 【HTML】table元素

    1.最简单的table <table> <tr> <th></th> </tr> <tr> <td></td& ...

  4. Bootstrap table 元素列内容超长自动折行显示方法?

    共需要四步: 1.在table元素的父容器div加上:class="table-responsive" 3.设置表头th的width:<th width="20%& ...

  5. jq 获取table元素,ajax 静态填加数据

    知识点: 1.jq如何操作table->操作html内的元素 2. this 怎么使用 问题: 1.点击 修改 后,自动刷新了.判断取值,提示错误.正确出不来 2.ajax传值操作如何保密 ht ...

  6. JQuery操作Table元素

    使用Jquery操作Table中的tr向上或向下移动,以及全选和反选操作. 点击Table Head中的复选框,全选或反选表格中所有的复选框; 选中复选框,点击Up 按钮, tr上移;点击 Down ...

  7. Jquery table元素操作-创建|数据填充|重置|隐藏行

    1.Jquery创建表格 /** * 创建表格 * @param label 标题 json格式,数据结构见附录1 * @param data 数据 json格式,数据结构见附录1 * @param ...

  8. HTML table元素

    搬运,内容来自HTML Dog. 简单示例 <!DOCTYPE html> <html> <body> <table> <tr> <t ...

  9. table元素使用bug

    一.问题的产生 javaWeb课上老师让我们用表单做一个简单的自我介绍,但是在对表单里的单元格进行合并时出现了变形的情况,这里做个记录. 二.实验 让我们先做一个简单的4*4表格 <!DOCTY ...

随机推荐

  1. jQuery中 wrap() wrapAll() 与 wrapInner()的区别

    今晚看书的时候发现jQuery有三个包裹节点的方法,百度了一下jQuery wrap() / wrapAll() / wrapInner(),果然搜索结果 W3School的文档说明是排第一的. 可是 ...

  2. OC项目中使用Swift

    1.在OC工程中新建 Swift 文件,会提示的是否创建一个桥接文件,创建不创建都无所谓,这个桥接文件主要是用来包含OC头文件的,主要用于Swift中使用OC         2.在Person.sw ...

  3. 华为OJ平台——密码强度等级

    题目描述: 密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分. 一.密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二.字母: 0  ...

  4. VS2010之MFC串口通信的编写教程

    http://wenku.baidu.com/link?url=K1XPdj9Dcf2of_BsbIdbPeeZ452uJqiF-s773uQyMzV2cSaPRIq6RddQQH1zr1opqVBM ...

  5. 【MySQL】MySQL同步报错-> received end packet from server, apparent master shutdown: Slave I/O thread: Failed reading log event, reconnecting to retry报错解决和分析

    [root@db-ft-db-48 ~]# tail -f /mysqlLog/beside_index_err.log 140102 20:42:26 [Note] Slave: received ...

  6. 使用Git上传本地项目代码到github

    前提:(1)ssh密钥(让本地与git链接) &  (2)装好gitbash 1.git中创建好库 2.文件夹中输入:git init (出现隐藏的.git文件) 3.git remote a ...

  7. javascript之for-in循环(for-in Loops)

    for-in循环应该用在非数组对象的遍历上,使用for-in进行循环也被称为“枚举”. 从技术上将,你可以使用for-in循环数组(因为JavaScript中数组也是对象),但这是不推荐的.因为如果数 ...

  8. 一、Struts2的概述

    一.Struts2概述 是什么? Struts2是一个M(模型---域--范围模型)V(View视图)C(控制器)框架(模型2).框架都是一个半成品.提高开发效率. Struts1是一个MVC框架,非 ...

  9. JavaScript高级 引用类型(一)《JavaScript高级程序设计(第三版)》

    引用类型是一种数据结构.它也被称作类.有时也被称作 对象的定义. 对象 是某个特定引用类型的实例.   一.Object类型 表达式上下文(expression context):指能够返回一个值 语 ...

  10. linux使用dd命令快速生成大文件

    dd命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000 会生成一个1000M的test文件,文件内容为全0(因从/dev/zero ...