关table的几个处理经验

17 篇文章 0 订阅
16 篇文章 0 订阅
问题一:今天在调试网页时使用table标签,完全正常使用,但是发现宽度设置怎么也调不准,最后发现问题:

解决办法:在调试时只关注了thead和tbody的宽度,完全没有关注tfooter里面td的个数,当时tbody里面td个数为2个,而tfooter里面有四个td,所以默认表格一排有四个td,故怎么调整tbody里的td的百分比,怎么调整都不对。


问题二:在使用bootstrap 的表格样式时,发现table样式有边框,不是我想要的,所以我觉得重写css,重新写相关属性和还是有边框。

解决办法:其实我一直以为那个只是border-bottom,其实他是有border-top的,所以还是低级错误。


http://wenku.baidu.com/link?url=7ha91YaGpzJAwd5U8kfTYsUYNGeE0HDruCJnH7WYuaNdeOHnaUf9WAj93PFDHm7JKKLgc_dDJbw2BAW9EmoeqCfa2Yb5Y_uWejQ3zfsEjqS


关于table布局与CSS中display:table布局的理解:

1. table布局是古老的布局,不应该再被使用;

2.IE8时代是display:table类似布局的巅峰,之后被各种栅格系统;

3.可以给HTML元素指定与表格相关的display属性值,使得它们像表格元素那样渲染;

4.table元素在HTML当中是一个包含语义的标签:它描述什么是数据。因此,你只能用它来标记那些需要制表的数据,例如一张财务信息表。如果数据能够以电子表格的形式保存在你的电脑中,那它在HTML文档中很可能需要用到table标签进行标记。从另一方面来看,display的table属性值只是声明了某些元素在浏览器中的样式——它不包含语义。如果使用table元素来进行布局,它将会告诉客户端:这些数据是制表的。使用一些display属性被设置为table和table-cell之类的div标签,除了告诉客户端以某种特定的样式来渲染它们以外,不会告诉客户端任何语义,只要客户端能够支持这些属性值;

5.当我们真的需要制表数据的时候不要使用一大堆被声明为display:table;的div元素;

6.CSS2.1表格模型中的元素,可能不会全部包含在除HTML之外的文档语言中。这时,那些“丢失”的元素会被模拟出来,从而使得表格模型能够正常工作。所有的表格元素将会自动在自身周围生成所需的匿名table对象,使其符合table/inline-table、table-row、table-cell的三层嵌套关系;


相关理解参考了网文:

http://www.frontopen.com/331.html




关于html中table表格tr,td的高度和宽度 

做网页的时候精到会遇到各种各样的问题,经常遇到的一个就是会碰到表格宽度对不齐的问题。

首先,来分析一下这三个标签中height和width的区别:

 1、table中的width和height设置及其作用:table中设置的height其实是设置个最小值,也就是当表格中的内容或者行高总值超过这个设置值时,会自动延长表格的height值,当表格中的内容或者行高没有达到这个值时,会自动扩大到这个值。table中设置的width值一般为表格宽度的最大值,不能改变,即使内部的内容宽度超过也不能改变。(这个内部内容如果是图片的话是可以改变表格宽度的。)

 2、tr标签中width和height设置及其作用:tr标签里面的width设置不起任何作用,因为从第一点可以看出,表格的width是不能改变的,tr标签当然就不起作用了。所以在tr中只有讨论height设置的可能了,tr中的height设置和几个tr之间的设置有关。当几个tr都设置了height的具体数值时,各个tr的height按照设置的值的比例来分配总的height值,注意这里说的是总的height值。当几个tr都没有设置height具体值时,平均分配总的height值。当有的tr设置了具体的数值,有的没有设置具体的数值为默认时,先保证各个tr的基本需要,剩下的再满足设置了具体值的tr,之后再全部给没有设置具体值的tr。最后一种情况还要考虑总的宽度不够tr总的设置值的情况,不够的话要满足tr的基本需要,这里会自动延长表格的height的。然后再考虑设置了height的tr,最后考虑没有设置height的tr。

 3、td标签中width和height设置及其作用:td标签里面的width和height都是起作用的。先看td的width吧,某一个td的width是和所处的一列每个td的width都相关的,取其中最大的width作为这一列中每个td的width,这点是让我们最混淆的地方,一定要从全局把握某个td的width,不能从这一个的width设置就断言它的宽度就是多少,这样是不准确的。当我们把每一列的宽度都弄清楚之后,事情就好办了。这时候各个td之间的宽度分配按照第二条中各 tr的height分配规律,有一点不同的是全部是默认的情况下,各td的width不是平均分配,而是根据各自的实际内容按比例分配。再看看td的height设置吧,这个相对简单一点了,不过各个td的height要看这个td所在的行的最大高度来确定这一行的每个td的height,然后各个行的高度情况和tr中的height分配原则是一样的。还有一点要注意,就是td的height和tr的height之间的关系。首先肯定是根据内容的需 要,在这个基础上,再根据设置的值来确定,哪个设置的值大就按照哪个,如果一个设置了值一个没有设置值,那么按照设置值的算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值