关于table元素的认识
表格是网页上最常见的元素,但是,现在对很多刚入行的前端们那是谈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元素的认识的更多相关文章
- IE 中单元格的 colspan 属性在某些情况下会影响 TABLE 元素的自动布局
今天在写一个jsp页面时,遇到一个如下的问题:在一个table中写了如下内容,table中定义了4列,在firefox中能正常显示,而在ie8中,显示不正常, 如下如图1:第二,三,四列宽度发生变化, ...
- HTML&CSS Table元素详细解说
1.预热 css样式多如牛毛,我不可能一个一个去讲,那样好像背字典一样,我相信你们也不喜欢这样的方式.所以,我会在实战中慢慢和你讲解,然后,你记住一些重要的css属性就可以了.关键是,你要学会去查资料 ...
- 【HTML】table元素
1.最简单的table <table> <tr> <th></th> </tr> <tr> <td></td& ...
- Bootstrap table 元素列内容超长自动折行显示方法?
共需要四步: 1.在table元素的父容器div加上:class="table-responsive" 3.设置表头th的width:<th width="20%& ...
- jq 获取table元素,ajax 静态填加数据
知识点: 1.jq如何操作table->操作html内的元素 2. this 怎么使用 问题: 1.点击 修改 后,自动刷新了.判断取值,提示错误.正确出不来 2.ajax传值操作如何保密 ht ...
- JQuery操作Table元素
使用Jquery操作Table中的tr向上或向下移动,以及全选和反选操作. 点击Table Head中的复选框,全选或反选表格中所有的复选框; 选中复选框,点击Up 按钮, tr上移;点击 Down ...
- Jquery table元素操作-创建|数据填充|重置|隐藏行
1.Jquery创建表格 /** * 创建表格 * @param label 标题 json格式,数据结构见附录1 * @param data 数据 json格式,数据结构见附录1 * @param ...
- HTML table元素
搬运,内容来自HTML Dog. 简单示例 <!DOCTYPE html> <html> <body> <table> <tr> <t ...
- table元素使用bug
一.问题的产生 javaWeb课上老师让我们用表单做一个简单的自我介绍,但是在对表单里的单元格进行合并时出现了变形的情况,这里做个记录. 二.实验 让我们先做一个简单的4*4表格 <!DOCTY ...
随机推荐
- Java基础——clone()方法浅析
一.clone的概念 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那 ...
- 华为OJ平台——将真分数分解为埃及分数
题目描述: 分子为1的分数称为埃及分数.现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数.如:8/11 = 1/2+1/5+1/55+1/110. 输入: 输入一个真分数, ...
- NULL值比较,两个列的合并,列值按条件替换。
show create table 表名 -- 显示创建表的sql语句. 为已有的表增加新列.alter table 表名 add 列名 int NULL -- 此行加了一个int 类型 默认可以nu ...
- php odbc连接 查询显示不完整问题
首先php.ini里里面mssql查询的默认配置是4096 1.找到[MSSQL] ; Valid range 0 - 2147483647. Default = 4096.mssql.textlim ...
- Windows10系统如何安装Microsoft Visual Studio 2015及最小子数组和求解
一.Windows10系统如何安装Microsoft Visual Studio 2015. 1.首先到Visual Studio官方网站(https://www.visualstudio.com/v ...
- verilog实现奇数倍分频
在学习FPGA的过程中,最简单最基本的实验应该就是分频器了, 同时分频器也是FPGA设计中使用频率非常高的基本设计之一, 尽管在芯片厂家提供的IDE中集成了锁相环IP, 如altera 的PLL,Xi ...
- Oracle笔记 六、PL/SQL简单语句块、变量定义
1.简单SQL语句,HellWorld示例 --输出信息 begin dbms_output.put_line('Oracle Hello World!'); end; 2.变量的定义.使用 --定义 ...
- 必须会的SQL语句(二) 创建表、修改表结构、删除表
1.创建数据库表 --使用哪个数据库,如果不写这一句是默认的数据库,也可以用鼠标选当前数据库 use testDB --创建表 Create Table tablename ( ...
- 通过 XML HTTP 加载 XML 文件
新建一个.aspx文件 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="02-通 ...
- [leetcode]_Binary Tree Inorder Traversal
题目:二叉树的中序遍历. 思路:用递归来写中序遍历非常简单.但是题目直接挑衅说,----->"Recursive solution is trivial".好吧.谁怕谁小狗. ...