1.预热

css样式多如牛毛,我不可能一个一个去讲,那样好像背字典一样,我相信你们也不喜欢这样的方式。所以,我会在实战中慢慢和你讲解,然后,你记住一些重要的css属性就可以了。关键是,你要学会去查资料,最好的查资料方法,不是那种去W3C School上,一页一页看过去,那样的话不知道要看到什么时候,而是应该去看一些网页的源码,看看他们的网页是怎么做起来的,用了哪些css属性?这里面,肯定有很多css属性你连见都没见过,我的建议是,先大概去猜一下,然后用浏览器的F12调试功能去倒腾倒腾。不需要你对每一个css属性都了如指掌,你只要大概理解意思,然后掌握一些基本的css属性就可以了。普通的网页能自己画出来,复杂的网页能从别的地方拷贝过来,并且看懂,就可以了。

那么今天呢,我带大家用table来做一个简单的demo,通过一个具体的例子,来看一下table怎么用?首先,打开Eclipse,新建一个HTML页面。

首先,我们要在body区域弄出个空间来,专门存放这个table。之前我们都是直接在body上面弄的,而事实上,在实际开发中是不会这么做的。好的,我们来一个div元素,加一个class叫做wrap,wrap表示包裹,我们需要一个div来包裹table。

接着,在head元素上挂载一个style元素,专门用来设置样式表。接着,给wrap设置一点点样式。

效果:

如何让这个div元素居中呢?是不是只要让它左右两边的margin自适应就OK了呀?OK,我们加上:

哇,是不是有了,太棒了。现在我做一个事情,看好,我把wrap变成span元素,会怎样?

看效果哈:

卧槽,画风突变,这是什么情况?对了,span是什么元素啊,是不是行内元素啊。我们给一个行内元素设置宽度和高度是没有效果的。所以就变成了这样,那么,怎么办呢,我们需要把span强制转换成块级元素,是不是就好了呀?

效果:

2.编写工具类样式文件 tool.css

在刚才的例子中,我们把一个div元素或者span元素都相对于父元素居中显示了,我现在请问一下大家,在实际开发中,让一个元素相对于父元素居中显示,这样的需求是不是很常见呀?

那有没有什么办法,让我们下次再遇到这个需求的时候,直接用起来就行了呢?答案肯定是有的,我们可以封装一个通用的工具类,然后把一些经常要用到的样式放进去,就OK了。现在我们来编写一个tool.css工具类。

引入这个css:

然后,在span元素上绑定对应的class:

这样就OK啦。

3.终于开始画table了

现在,我们开始画一个table,比如来一个一行三列的table:

为了看出效果,我们需要另外给这个table元素,tr和td元素设置样式:

刷新页面:

就这样,一个简单的table就画好咯~

4.合并单元格

既然学table,肯定会遇到一个问题,那就是怎样合并单元格呢?

比如,我希望在第二列和第三列下面增加一行,怎么办?很简单,我只需要在后面再写一个tr,里面有两个td:

这个tr希望和它平级:

可惜效果不对,这一行被挤下来了,原因很简单,因为第一列没有占据两行,所以如果我们硬是在后面添加一行,就会被挤下来。解决方法,是在第一列的td元素上,绑定一个rowspan属性,设置为2:

这样就可以了吧,这就是所谓的行合并,那么怎样列合并呢?

如图,我在下面重新写了一个tr,这表示重起一行,然后,挂载一个td元素,并且绑定colspan属性,这个属性的含义就是列合并。

各位,再看一下之前的这个例子,是不是一共有三列啊,那么我就colspan=3,表示合并三列,效果:

还有个问题,这个table没有默认占满父容器,那么我就得手动设置它的width为100%:

这样是不是就好了呀?

5.画一张请假单?

接下来我们加快一点进度,来做一个请假单吧。我们把颜色调成黑色。

再添几行:

把文字填进去:

最后是班主任审批:

效果:

这样就有一个问题,对于领导批示,宽度应该比较窄才会比较好看,可是现在的话明显太宽了,有没有什么办法呢?第一个想到的,肯定是给它设置宽度:

刷新页面,无效,这又是什么原因呢?原来,现在我们每一行是三列,第一列就只能这么宽,除非我们给它多加一列。

这表示给第一行第一列设置列合并为2,那么每一行就有了4列。一共有几列是以第一行为准的。这样一来,下面这几个地方也要跟着改:

最后,手动调一个高度出来:

接着,就好像撘房子一样,房子搭好了,就可以把一些辅助工具撤销掉了,比如border。

欢迎关注我的个人博客,http://www.xiaotublog.com/ ,不定期分享各种资料。

HTML&CSS Table元素详细解说的更多相关文章

  1. css确定元素水平居中和垂直居中

    ---恢复内容开始--- 首先,我们在了解如何通过css了解元素水平和垂直居中之前,先要了解下html都有哪些元素,这些元素与偶有哪些分类,因为不同类别的元素的水平垂直居中方法是完全不同的,究其根本当 ...

  2. 关于table元素的认识

    表格是网页上最常见的元素,但是,现在对很多刚入行的前端们那是谈table色变.那是为啥?这是表格的框架的简单.明了.在传统的网页中使用没有边框的表格来排版是非常流行.在web标准逐渐深入设计领域以后, ...

  3. css table 布局

    使用CSS表格 CSS表格能够解决所有那些我们在使用绝对定位和浮动定位进行多列布局时所遇到的问题.例如,“display:table;”的CSS声明能够让一个HTML元素和它的子节点像table元素一 ...

  4. CSS块元素与内联元素(转)

    为什么<a><span>这种标签定义width,height等CSS属性时会发现完全不生效? 因为它们不是容器,它们是内联元素,不是块元素 CSS 块元素与内联元素 关键字: ...

  5. 【HTML】table元素

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

  6. js分析 汽_车_之_家 js生成css伪元素 hs_kw44_configUS::before

    0.参考 https://developer.mozilla.org/zh-CN/docs/Web/CSS/Pseudo-elements https://developer.mozilla.org/ ...

  7. html/css 表格元素以及表格布局

    一,html之表格 1,一个完整的html表格所包含的元素 <!--一个完整的html表格--> <!--cellpadding代表单元格内的文字和单元格边框之间的间距--> ...

  8. css 使元素居中

    css使元素水平居中 1.对于行内元素的水平居中 给父元素设置text-align:center <div style="text-align:center;">居中显 ...

  9. CSS Table(表格)

    CSS Table(表格) 一.表格边框 border 指定CSS表格边框,使用border属性. 下面的例子指定了一个表格的Th和TD元素的黑色边框: table, th, td { border: ...

随机推荐

  1. 段落p元素内的响应式文本布局就靠rem单位实现

    <!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8&qu ...

  2. 位运算,算术、逻辑运算详解-java篇

    /** * 功能: * 位运算符,原码.反码.补码规则: * 1.二进制的最高位是符号位:0表示正数,1表示负数 * 2.正数的原码.反码.补码都一样 * 3.负数的反码=它的原码符号位不变,其他位取 ...

  3. oracle存储过程的基本语法

    1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字(    参数1 IN NUMBER,    参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 ...

  4. Number,parseInt,parseFloat函数

    Number,parseInt,parseFloat函数 console.group('Number'); console.log(Number( console.log(Number( consol ...

  5. MyEclipse 中 添加 js自动完成模版

    MyEclipse 中 添加 js自动完成模版: window>preference>MyEclipse>Files and Editors>JavaScript>Edi ...

  6. jQuery查询性能考虑

    http://blog.163.com/neusoft_hao@yeah/blog/static/120544724201282810510215/

  7. Gdb远程调试Linux内核遇到的Bug

    知识共享许可协议本作品采用知识共享署名 4.0 国际许可协议进行许可.转载保留声明头部与原文链接https://luzeshu.com/blog/gdb-bug 本博客同步在http://www.cn ...

  8. 浅谈Django的Q查询以及AngularJS的Datatables分页插件

    使用Q查询,首先要导入Q模块: from django.db.models import Q 可以组合使用&,|操作符用于多个Q的对象,产生一个新的Q对象,Q对象也可以用~操作符放在前面表示否 ...

  9. java_XML_JAXB

    JAXB 可以实现Java对象与XML的相互转换,在JAXB中,将一个Java对象转换为XML的过程称之为Marshal,将XML转换为Java对象的过程称之为UnMarshal. 下面使用的是JDK ...

  10. ArcGIS制图表达Representation-制图表达使用须知

    ArcGIS制图表达Representation-制图表达使用须知 by 李远祥 前面章节也介绍了一些制图表达的适用范围和场景,如果有觉得需要使用制图表达去完成其工作的话,还需要注意制图表达的一些技术 ...