本篇博客读完,看着图片能够一步一步做出表格(表单)就算达到目的,看到表格(表单)的图片之后,可以先思考一下自己会如何实现。
从行着手是我发现的一个核心点,大部分表格(表单)都可以拆分为一行一行,奇妙的地方在于有的行里面可能是一张照片,一个文件,所以有些表单给人的感觉就是不太规则,无从下手。
表格
言归正传,看上面图片从“所属单位”这一行开始(包括这一行),下面所有的内容都是一个正正经经的表格,我们可以想到用table标签来实现这一块的内容。
<h2 style="width: 500px;text-align: center; text-decoration: underline;">特别休假申请单</h2>
可以用h2来把这个标题完成,现在只用了HTML中的一些属性,学习CSS之后,样式推荐用CSS实现。
<p>申请日期: 年 月 日</p>
直接用p标签来实现这个申请日期。
下面来到主题的部分,用table标签实现,根据图片中最小格,来确定第一行的每一个是否需要合并,需要合并多少格。
显而易见,“厂长”这一格是最小格,那么“部 组 班”,“所属单位”,“姓名”,后面的“111”都相当于两个最小格,进行合并单元格操作即可,下见代码。
<tr>
<td colspan="2">所属单位</td>
<td colspan="2">部 组 班</td>
<td>职称</td>
<td>111</td>
<td colspan="2">姓名</td>
<td colspan="2">111</td>
<td>厂长</td>
</tr>
图片中“期间”和“天数”都发生了行的合并,如果进行了行合并,那咱们在合并之后的那一行里就不用再写这个td标签,直接写该标签后面的td标签,下见代码。
<tr>
<td rowspan="2">期间</td>
<td colspan="5">年 月 日</td>
<td rowspan="2" colspan="4">天数</td>
<td>111</td>
</tr>
<tr>
<td colspan="5">年 月 日</td>
<td>主管</td>
</tr>
后面的表格合并内容与上面列举的步骤类似,可以作为练习。
表单
完成这个表单的核心与上面实现表格的核心一致,一行一行的写。
与上面表格不同之处如上图,如何让插入了输入框之后的表单依旧很整齐,这就又用到了合并单元格,见下面代码
<td rowspan="8">
<textarea name="" id="" style="width: 150px;height: 200px;resize : none;overflow-y: scroll;" readonly = "readonly">欢迎阅读服务条款协议</textarea>
</td>
合并多少单元格要根据表单的行数来确定,并且整个输入框是在第二行的时候就已经实现完毕了
单选和多选根据input的属性实现就可以了
下拉框的实现用到了select标签,下见代码
<td>
<select name="请选择" id="">
<optgroup label="山东省">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</optgroup>
<optgroup label="北京市">
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</optgroup>
</select>
</td>
记住一个核心点一行一行的去写,就能慢慢完成看起来复杂的表格和表单。