zoukankan      html  css  js  c++  java
  • 我教女朋友学编程html系列(5) html中table的用法和例子

      

      女朋友不是学计算机的,但是现在从事计算机行业,做技术支持,她想学习编程,因此我打算每天教她一点点,日积月累,带她学习编程,如果其他初学者感兴趣,可以跟着学。

      为了将table介绍的简单、生动,具有实战性,我花了3个半小时,写了5个列子,把table的一些重点知识讲了一下,直接看代码吧,一边看一边跟着敲,多动手练习。

    1,边框不重叠的3行3列表格

    <html>
    <head>
    <title>
    html中table的用法和例子
    </title>
    </head>
    <body>
    1,边框不重叠的3行3列表格
    <table border="1" >
    <tr>
    <td>学号</td>  <td>姓名</td>  <td>性别</td>
    </tr>
    <tr>
    <td>001</td>    <td>小强</td> <td>男</td>
    </tr>
    <tr>
    <td>002</td>   <td>小芳</td> <td>女 </td>
    </tr>
    </table>
    </body>
    </html>

    (1)table标签代表“表格”,border是它的属性,“边框”的意思,这里设置边框1像素(1px)。


    (2)tr标签代表“行”,每个表格table都是由多行(tr)组成的


    (3)td标签代表“单元格”,每行(tr)都包括多个单元格(td)。


    (4)表格的每个单元格都有边框,默认是不显示边框的;当给table设置了border="1"之后,就会显示边框,但是边框不重叠。


    (5)边框不重叠是不是很丑?你知道怎么让边框重叠吗?往下看。

    2,合并边框的3行3列表格

    <html>
    <head>
    <title>
    html中table的用法和例子
    </title>
    </head>
    <body>
    2,合并边框的3行3列表格
    <table border="1" style=" border-collapse:collapse;" >
    <tr>
    <td>学号</td>  <td>姓名</td>  <td>性别</td>
    </tr>
    <tr>
    <td>001</td>    <td>小强</td> <td>男</td>
    </tr>
    <tr>
    <td>002</td>   <td>小芳</td> <td>女 </td>
    </tr>
    </table>
    </body>
    </html>

    (1)合并表格的边框,需要给table添加样式;样式就是样子、外貌、长相,可以通过style=""来给
    任何html标签添加样式,双引号内部采用“属性名称:属性值;”的形式,注意“属性名称”和“属性值”
    中间是冒号,不是等号,属性值后面是分号。


    (2)属性名称border-collapse的意思是“边框折叠方式”,border是边框的意思,collapse是“折叠”的意思,border-collapse对应的值有3个:separate(边框分开),collapse(边框折叠),inherit(从父元素继承border-collapse的值)。
    border-collapse默认值为separate,因此,如果需要边框折叠,就需要设置border-collapse:collapse。


    (3)表格没有标题,内容很挤,不美观,往下看吧。

    3,带有标题、设置了宽度的表格

    <html>
    <head>
    <title>
    html中table的用法和例子
    </title>
    </head>
    <body>
    <table border="1" style=" border-collapse:collapse;80%;" >
    <caption align="top">学生信息表</caption>
    <tr>
    <td style="30%;">学号</td>  <td style="60%;">姓名</td>  <td style="10%;">性别</td>
    </tr>
    <tr>
    <td >001</td>    <td >小强</td> <td>男</td>
    </tr>
    <tr>
    <td>002</td>   <td>小芳</td> <td>女 </td>
    </tr>
    </table>
    </body>
    </html>

    (1)caption标签是表格的标题标签,caption 标签必须紧随 table 标签之后。且每个表格只能定义一个标题。默认标题会显示在表格上方中间,可以使用align属性来
    设置标题位置,值有top(顶部),bottom(底部),left(左边),right(右边)。


    (2)80%;设置了table的宽度为80%,指的是table占父元素(此处是body标签)的百分比。另外,
    分别给“学号”、“姓名”、“性别”这3列的宽度设置为30%、60%、10%,指的是td占tr的百分比,而tr
    代表一行,又默认宽度为table的宽度。


    (3)对于表格,只需要设置第一行各个单元格的宽度就行了,其他行的单元格会继承相同列单元格的宽度,我实验了一下,如果第二行第一列设置为70%,那么所有的第一列都占了70%的宽度,因此,
    建议只设置第一行单元格的宽度,而不是所有单元格都设置宽度,不要把自己都搞晕了。


    (4)你知道怎么让一个单元格跨多列吗?且让内容居中?表格固定像素宽度?请往下看。

    4,用跨列td填充标题,表格固定宽度,单元格居中显示

    <html>
    <head>
    <title>
    html中table的用法和例子
    </title>
    </head>
    <body>
    4,用跨列td填充标题,表格固定宽度,单元格居中显示
    <table border="1" style=" border-collapse:collapse; 300px;  " >
    <tr>
    <td colspan="3" align="center" >学生信息表</td>
    </tr>
    <tr>
    <td style="50px;">姓名</td>  <td style="200px;">经典</td>  <td style="50px;">性别</td>
    </tr>
    <tr>
    <td >小强</td><td >
    小强你怎么样了小强,小强你不要死啊。我们同甘共苦了那么多年,一直对你供书教学,想不到现在白头人送黑头人。你死了我怎么办啊小强。你醒醒啊,小强!
    </td> <td>男</td>
    </tr>
    <tr>
    <td>凤姐</td>   
    <td>
    以我的智商和以我的能力的话,往前推三百年,往后推三百年,总共六百年之内不会有第二个人超过我。
    </td> <td>女 </td>
    </tr>
    </table>
    </body>
    </html>

    (1)固定宽度直接使用像素表示,比如table的宽度设置为300像素,300px;


    (2)colspan="3"说明了一个单元格跨3列,col是列的意思,span是平铺的意思,组合就是"平铺3列";如果跨3行,用rowspan="3",row是行的意思,组合就是“平铺3行”,也就是“跨3行”。


    (3)单元格有个属性align,代表内容靠哪边的意思,它的值有left(靠左),right(靠右),center(居中),align="center"就是让内容“居中”的意思,因此标题就居中了。默认的是靠左,因此,其他单元格的内容都靠左。


    (4)坚持一下,最后给你讲讲表格的“固定表格布局”和“自动表格布局”。

    5,“固定表格布局”和“自动表格布局”

    <html>
    <head>
    <title>
    html中table的用法和例子
    </title>
    </head>
    <body>
    5,“固定表格布局”和“自动表格布局”
    <table border="1" style=" border-collapse:collapse; table-layout:fixed; 300px;" >
    <tr>
    <td colspan="3" align="center" >学生信息表</td>
    </tr>
    <tr>
    <td style="50px;">姓名</td>  <td style="200px;">经典</td>  <td style="50px;">性别</td>
    </tr>
    <tr>
    <td >小强</td><td >
    小强你怎么样了小强,小强你不要死啊。我们同甘共苦了那么多年,一直对你供书教学,想不到现在白头人送黑头人。你死了我怎么办啊小强。你醒醒啊,小强!
    </td> <td>男</td>
    </tr>
    <tr>
    <td>凤姐</td>   
    <td>
    以我的智商和以我的能力的话,往前推三百年,往后推三百年,总共六百年之内不会有第二个人超过我。
    </td> <td>女 </td>
    </tr>
    </table>
    </body>
    </html>

    (1)table多了一个样式table-layout:fixed;意思是设置表格布局算法为“固定表格布局”。当设置了fixed时,列宽由表格宽度和列宽度设定,“固定”的意思就是宽度固定不变,有时设置了表格单元格的宽度,但是不起作用(可以在IE6、IE7、IE8上测试一下),就需要增加样式table-layout:fixed;
    我在IE10和猎豹浏览器上测试了1个小时,结果是加上了table-layout:fixed;导致宽度不起作用了,但是,我在公司使用IE8测试程序时,不加table-layout:fixed会导致宽度不起作用,因此,不同浏览器对table-layout的解析是不同的。
     


    (2)table-layout还有另外一个值,automatic,对应“自动表格布局”,也是默认值,列的宽度是由列单元格中没有折行的最宽的内容设定的,也就是单元格宽度和最长一行的内容一致,单元格宽度不是固定的,需要动态计算。


    (3)一般情况下,是需要用“固定表格布局”的,设置好表格和单元格的宽度,防止表格因为内容的不同而变形。

    在浏览器中查看,效果图我截了2张,如下:

     

    效果图2:

  • 相关阅读:
    【Unity3d】Ray射线初探-射线的原理及用法
    unity3d 的Quaternion.identity和transform.rotation区别是什么
    HOLOLENS的空间管理
    vector3.forward和transform.forward的区别!
    voxel 与 pixel
    图文详解Unity3D中Material的Tiling和Offset是怎么回事
    手机开启HDR后拍照有什么不同?
    什么是UV?
    积和式Permanent在Mathematica中的运算
    [再寄小读者之数学篇](2014-11-20 计算二重积分)
  • 原文地址:https://www.cnblogs.com/workest/p/3861885.html
Copyright © 2011-2022 走看看