一、表格

  如生活中的Excel表格,用途就是同来表示一些格式化的数据,如课程表、工资条、成绩单。

  在网页中也可以创建出不同的表格,在HTML中使用table标签来创建一个表格。table是个块元素。

  在表格中使用tr(table-row 行)来表示表格中的一行,在tr中使用td(table data cell ,表格数据元素)来创建单元格,几个td就是几个单元格。

td表示列名(table Header,头部信息,如“姓名”、“年龄”),也是位于一行当中,即tr之间,th就是一个特殊的td。默认居中加粗。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表格</title>
<style type="text/css">
table{/*为表格设置样式*/
width:300px;
margin: 0 auto;
border: 1px solid black; /*只是单元格外边有框*/
border-spacing: 0;/*table和td边框之间默认有距离,看起来好像双线,这个属性可以设置去掉*/
border-collapse: collapse;/*可以用来设置表格的边框合并
如果设置了边框合并,border-spacing自动失效,不管你设置的数值有多大。
* */
/*background-color: #BBFFAA;/*设置table的背景颜色,所有的td和tr都变色*/
}
td{/*这样看起来好像双线边框*/
border: 1px solid black;
}
th{
border: 1px solid black;
}
tr:nth-child(even){/*使用伪类隔行变色,这里是让偶数行(表头也算在内)变色*/
background-color: #BBFFAA;
}
tr:hover{/*鼠标放在哪行哪行变成黄色*/
background-color: yellow;
}
</style>
</head>
<body>
<!--<table border="" cellspacing="" cellpadding=""> 这里跟css差不多-->
<table>
<tr>
<th>姓名</th> <!--表头-->
<th>年龄</th>
<th>性别</th>
</tr>
<tr>
<td>A1</td> <!--元素-->
<td>B1</td>
<!--rowspan 纵向合并单元格也就是行的合并-->
<td rowspan="2">C1</td>
</tr>
<tr>
<td>A2</td>
<td>B2</td> </tr>
<tr>
<td>A3</td>
<!--合并B3和C3意味着第3行只有2个单元格
想合并需要在B3上加个属性colspan 横向合并单元格也就是列合并,值设置为要合并单元格的个数。
-->
<td colspan="2">B3</td> <!-- <td>C3</td> -->
</tr>
<tr>
<td>A4</td>
<td>B4</td>
<td>C4</td>
</tr>
<tr>
<td>A5</td>
<td>B5</td>
<td>C5</td>
</tr>
<tr>
<td>A6</td>
<td>B6</td>
<td>C6</td>
</tr> </table> </body>
</html>

【扩展】长表格(如银行流水)

  有些时候表格很长,这时将表格分为3部分:表头(thead)、主体(tbody)、底部(tfoot)3个标签。

  这3个标签的作用就是区别表格的部分,都是table的子标签。

  区分开3部分之后打印时很方便,可以在每一页都加上表头和底部。thead的内容永远会在最上边,tfoot永远在最下边,tbody永远都在中间。

  如果表格没有写tbody,浏览器会自动添加tbody,并且把所有的tr都放在tbody中。所以tr并不是table的子元素,通过table>tr子元素选中器无法选中tr.

  以前可以用表格来进行页面布局,现在很少用了,它已经被css所取代了。因为它维护很难。

  表格是可以相互嵌套的。

  使用table可以将父元素和子元素的外边距隔开,阻止他们外边距的重叠。

  display:table可以将一个元素设置为表格显示。还可以解决高度塌陷的问题。table也是块元素。

  使用.claerfix:after{

    content:"";

    display:table;

    clear:both;

  }既可以解决高度塌陷,又可以确保父元素和子元素的垂直外边距不会重叠。在加个 zoom:1 兼容IE6

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>长表格</title>
</head>
<body>
<table>
<thead>
<tr>
<th>日期</th> <th>收入</th> <th>支出</th> <th>合计</th>
</tr>
</thead>
<tbody>
<tr>
<td>181024</td> <td>+500</td> <td>-300</td> <td>+200</td>
</tr>
<tr>
<td>181025</td> <td>+700</td> <td>-600</td> <td>+100</td>
</tr>
<tr>
<td>181026</td> <td>+800</td> <td>-900</td> <td>-100</td>
</tr>
<tr>
<td>181027</td> <td>+600</td> <td>-700</td> <td>-100</td>
</tr>
</tbody>
<tfoot>
<tr>
<td></td> <td></td> <td>合计</td> <td>+100</td>
</tr>
</tfoot>
</table>
</body>
</html>

二、表单

  网页中的表单就是用来向服务器提交信息的,最常用的表单就是百度的搜索框,输入关键字后将信息提交给百度服务器,然后服务器返回相应的信息。

还有如注册页、登录、发帖等都需要填写表单。使用form标签。必须指定一个action属性,该属性指向一个服务器的地址。

  

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表单</title>
</head>
<body> <form action="26-2 模拟服务器.html" >
用户:
<input type="text" name="username" /> <br/> <!--文本框,内联元素-->
<!--如果希望表单项的信息提交给服务器需要加个name属性 name表示提交内容的名字 如username
用户填写的信息会附在url后边的以查询字符串的形式发给服务器。如url地址?明值对
多个值的提交以&隔开。
文本框中也可以指定默认值,不是提示文字。
还可以使用label专门选中表单中的提示文字。这样可以用提示文字设置样式
该标签还可以指定一个for属性,该属性的值需要对应于一个表单项的id值。当点击邮件是光标直接跳到选择框 -->
<label for="mail">邮件:</label>
<input id="mail" type="text" name="email" /> <br/> 密码:
<input type="password" name="pwd" /> <!--密码框--> <input type="submit" value="注册"/> <br/><!--提交按钮可以把表单内信息提交给服务器--> <!--单选radio(收音机) 和多选按钮 checkbox
单选按钮通过name来分组,name相同按钮的是一组,只能选择其一。
像这样需要用户选择但是不需要用户填写的表单,必须指定一个value属性,这样被选中的value属性值
会最终提交给服务器
checked="checked" 默认选中,单选和多选都可以设置默认值。
-->
<input type="radio" name="sex" value="1"/>男
<input type="radio" name="sex" value="0" checked="checked"/>女 <br /> <input type="checkbox" name="address" value="bj"/>北京
<input type="checkbox" name="address" value="sh"/>上海
<input type="checkbox" name="address" value="nj"/>南京 <br /> <!--下拉列表 select
name:需要指定给select
value:需要指定给option
默认选中 selected="selected"
multiple="multiple" 直接展开,不用下拉。下拉列表变成一个多选的下拉列表。
optgroup可以对选项进行分组 label来指定分组的名字。
-->
省份
<select name="sf">
<optgroup label="华中地区"><!--这个华中地区是不能选的,就是个名字-->
<option value="hb">湖北省</option>
<option value="sx">安徽省</option>
<option value="hn">河南省</option>
</optgroup >
<optgroup label="华东地区">
<option value="ah">浙江省</option>
<option value="ah">江苏省</option>
</optgroup>
</select> <br /> <!--文本域 textarea 创建一个多行的文本框-->
自我介绍
<textarea name="intro"></textarea> <!--重置按钮
点击重置后表单中的内容会变成默认值
-->
<input type="reset" value="重置" /> <br /> <!--一个单纯按钮,唯一的作用就是被人点,可以结合js一起用-->
<input type="button" value="点击一下"/> <br />
<!--使用button也可以创建按钮 这种方式更加灵活,可以放个图片交互效果更好-->
<button type="button">提交</button> <!--fillset 作用是为表单项进行分组,将表单项中同一组放在一个fillset中
使用legend这个子标签来指定组的名字
--> <!--框架集可以引入多个页面,而内联框架只能引入一个,推荐使用框架集
使用frameset来创建一个框架集。但它与不能与body出现在同一页面中。
使用frame子标签来指定需要引入的页面。
<frame src="01.html" />
需要在frameset中指定 rows属性 ,让引入的一行一行的排列
cols一列一列的排列。这两个属性必须选择其一,需要在属性中指定大小如百分比。
可以相互嵌套。
-->
</form>
</body>
</html>

  

[19/06/08-星期六] CSS基础_表格&表单的更多相关文章

  1. [19/06/09-星期日] CSS基础_示例

    一.图片格式&Hack(尽量不要使用) IE6对图片png-24的透明效果不支持,IE6中背景会发灰,可以使用png-8来代替.但是使用png-8代替之后清晰度会有所下降. 使用js来解决该问 ...

  2. [19/06/05-星期三] CSS基础_样式表的位置(内联、内部、外部样式)、块元素(div)、内联元素(span)、常用的选择器

    一.概念 CSS(Cascading Style Sheets,层叠样式表) 可以用来为网页创建样式表,通过样式表可以对网页进行装饰. 所谓层叠,就是可以将整个网页想象成是一层一层的结构,层次高的将会 ...

  3. 22----2013.06.29---HTML--html介绍.超链接和图片,表格,表单,表单标签,meta,复习当天内容

    01 HTML HTML :Hypertext Markup Language   超文本标记语言(类似于 裸奔的人.) 作用:向用户展示信息. CSS: Cascading 层叠样式表(类似于 人的 ...

  4. Bootstrap框架(基础篇)之列表,表格,表单

    继续上篇的基础部分延伸,主要说一下列表,表格,表单相关Bootstrap框架变化以及基础知识. 1.列表篇 除了HTML提供的三种基本列表样式: 无序列表 <ul> <li>… ...

  5. css表格表单和统筹

    css:表格表单和统筹 学习目标 1.表单标签及属性高级 2.表格标签及属性高级 3.CSS统筹 4.BFC概念和应用场景 一.表单标签及属性高级 回顾: 表单的作用:用来收集用户的信息的; 表单的组 ...

  6. 范仁义html+css课程---7、表单

    范仁义html+css课程---7.表单 一.总结 一句话总结: 表单标签的话主要掌握form标签.input标签(以及input标签的不同的type值).select标签.textarea等标签,及 ...

  7. HTML--绝对路径, 表格,表单, 框架

    URL, URI, URN URL: 统一资源定位符: Uniform Resource Locator URN: 持久可用的资源标准名称 Uniform Resource Name , 比如邮箱 U ...

  8. bootstrap基础学习【表单含按钮】(二)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. HTML表格表单综合——用户注册表

    今天学习了表格和表单知识,我综合了他们添加了一些拓展知识做了一个用户注册表,以下面代码来整理表格和表单知识: <!DOCTYPE html PUBLIC "-//W3C//DTD XH ...

随机推荐

  1. ZROI 19.08.03 DP入门

    \(n\)个点,要求连一棵树,设点\(i\)的度数为\(d_i\),则其贡献为\(f(d_i)\mod 59393\),其中\(f(x)\)是一个\(k\)次多项式.最大化总贡献.\(n\leq 30 ...

  2. Python 元组Ⅰ

    Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: 创建空元 ...

  3. leaflet 地图容器大小改变时,地图自适应新容器

    window.onload = function () { changeDivHeight(); } //当浏览器窗口大小改变时,设置显示内容的高度 window.onresize = functio ...

  4. [luogu]P1800 software_NOI导刊2010提高(06)[DP][二分答案]

    [luogu]P1800 software_NOI导刊2010提高(06) 题目描述 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每个软件划分成m个模块, ...

  5. (62)通信协议之一protobuf

     Protobuf协议特点分析 KingKa.吴永聪 1.protobuf是什么? protobuf(Google Protocol Buffers)是Google提供的一个具有高效的协议数据交换格式 ...

  6. Linux安装vsftpd及配置详解

    1 安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件.[root@bogon ~]# yum -y install vsftpd 2.FT ...

  7. CVE-2019-0708

    本机IP 192.168.1.100 靶机IP 1:windows2003sever  :192.168.1.101 确认3389端口开启 0x01测试windowsxp 切到目录 目标机器确实存在 ...

  8. wannafly 挑战赛9 E 组一组 (差分约束)

    链接:https://www.nowcoder.com/acm/contest/71/E 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 65536K,其他语言131072K Spec ...

  9. springMVC的常用注解有哪些?

    1.@Controller @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象.分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否 ...

  10. legend3---Windows 7/8/10 系统下Laravel框架的开发环境安装及部署详解(Vagrant + Homestead)

    legend3---Windows 7/8/10 系统下Laravel框架的开发环境安装及部署详解(Vagrant + Homestead) 一.总结 一句话总结: 1.安装的话就是下载好git,va ...