如何用CSS定义表格与模拟表格

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
在这里~首先要说明的~我不是推荐大家使用表格布局,而是跟大家说明在显示大批量的数据时~还有表格可以用,而用DIV可以模拟出绝大部分以前的表格布局跟数据显示,在后面会讲些代替表格的显示方式.同时,因为找详细的中文介绍.英文的水平又有限.看W3C那介绍~有些地方可能理解错误,如果有发现的朋友请帮忙指出.

[1]表格应用
1表格的基本标签
2分析表格的基本标签
3基本演示
[2]层模拟表格
1模拟前的建议
2两列多行的数据显示
3三列多行的数据显示

表格应用

1、表格的基本标签:

TABLE { display: table }
TR { display: table-row }
THEAD { display: table-header-group }
TBODY { display: table-row-group }
TFOOT { display: table-footer-group }
COL { display: table-column }
COLGROUP { display: table-column-group }
TD, TH { display: table-cell }
CAPTION { display: table-caption }

虽然CSS2里可以把别的标签定义得跟table的一样
可是 IE 不支持 所以~应该用表格的地方还是用表格好?
说到表格,自己悄悄的BS一下FF 虽然很不情愿.

2、分析表格的基本标签:

table
table元素定义一个表格的开始
tr
表格中的行
THEAD
表头
TBODY
表的主体
TFOOT
表底
COL
指定基于列的表格默认属性,嵌套的 COL 属性将覆盖 COLGROUP 属性
COLGROUP
指定表格中一列或一组列的默认属性。
TD, TH
单元格
CAPTION
表名

3、基本演示:

不想过多的讲表格,这是一个比较完整的表格的演示,同时继承XHTML的思想,结构与表现的分离,不再为元素的属性做演示

<table class="tab">
<caption>表名</caption>
<colgroup class="g1" span="3" >
<col class="c1" />
<col class="c2"/>
<col class="c3"/>
</colgroup>
<colgroup class="g2" span="1" >
</colgroup>
<thead>
<tr>
<th>表头1</th>
<th>表头2</th>
<th>表头3</th>
<th>表头4</th>
</tr>
</thead>
<tfoot>
<tr>
<td>表底1</td>
<td>表底2</td>
<td>表底3</td>
<td>表底4</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>行1列1</td>
<td>行1列2</td>
<td>行1列3</td>
<td>行1列4</td>
</tr>
<tr>
<td>行2列1</td>
<td>行2列2</td>
<td>行2列3</td>
<td>行2列4</td>
</tr>
<tr>
<td>行3列1</td>
<td>行3列2</td>
<td>行3列3</td>
<td>行3列4</td>
</tr>
<tr>
<td>行4列1</td>
<td>行4列2</td>
<td>行4列3</td>
<td>行4列4</td>
</tr>
</tbody>
</table>

无样式表现:

定义CSS样式:

CSS部分:

table.tab{
border :1px black solid;
}

table.tab .g1 .c1
{
background-color :Yellow;
width:50px;
}
table.tab .g1 .c2
{
background-color : Lime;
width : 100px;

}
table.tab .g1 .c3{
background-color : Green;
width : 140px;
}
table.tab colgroup.g2{
background:Teal url("http://rotui.net/images/bg.jpg") repeat top center;
width : 200px;
/* IE only start */
/* 非IE的浏览器都不支持非width background以外的定义 */
color : White;
text-align : right;
/* IE only end */
}
table.tab thead th
{
background-color : Black;/*由于colgroup 定义了背景 th没定义 会因浏览器不同解析不同*/
/*IE,Opera,Netscape会使用colgroup 定义的背景 MOZ系列的不会 非WIN系统浏览未测试 */
color : White;
}
table.tab tfoot td
{
background-color : Gray;

表格的模拟

1、模拟前的建议:

DIV就是DIV 而不是table,极力反对变下面这样的DIV模拟表格,偶尔也考虑考虑一下亲和力

<div>
<div>
<div>...</div>
</div>
</div>
 

2、两列多行的数据显示:

两列多行的数据显示应用得最多的是文章列表之类的,一般来说主要由标题,时间组成的.
我选择ol来做~是下面演示的是有有序列表~可能你会问我~为什么不用ul呢??
在参考中说到ol:绘制文本的编号列表,ul:绘制文本的项目符号列表 简单的说就是ol是有序列表,ul是无序列表
html部分

<ol>
<li><a href="#" title="晚上我没吃饭">晚上我没吃饭</a>2-13</li>
<li><a href="#" title="今天是中国的情人节,要一个人过">今天是中国的情人节,要一个人过</a>2-12</li>
<li><a href="#" title="下午朋友来看我">下午朋友来看我</a>2-11</li>
<li><a href="#" title="^_^ 发工资拉">^_^ 发工资拉,</a>2-10</li>
<li><a href="#" title="...">...........</a> ....</li>
</ol>

CSS部分

ol.news{
width:400px;/*装饰用的~只限显示的数据总宽度 */
list-style-type :none;/*去掉列表数据*/
}
ol.news li{
text-align:right;/* 把文本右对齐,主要的作用是把时间放在右边*/
clear:both;/*清行*/
}
ol.news li a{
float:left;
display : inline;/* 再把主要显示的内容浮动到左边*/
text-align:left;/* 文本左对齐,可选~保证更多的浏览器是左对齐*/
}

另一种方法:

html

<ul class="news2">
<li><span>[广东]</span>这里没电了</li>
<li><span>[四川]</span>这里也没电了</li>
<li><span>[上海]</span>郁闷!同上,没电啊~</li>
<li><span>[北京]</span>挖哈哈 ^_^ 这里有电~</li>
<li><span>....</span>........</li>
</ul>

CSS

ul.news2{
width:400px;
list-style-type :none;
}
ul.news2 li{
text-align:left;/*这回向左对齐,因为我们要把span浮到右边*/
}
ul.news2 li span
{
float:right;/*我浮我浮我浮浮浮,我在右边了*/
display : inline;
}

更多的装饰
我们可以加background,border,font等定义~可以把他定义得漂亮点,不过这里的目的已经达到了,漂亮的样式等大家自己去尝试

2、三列多行的数据显示:

这里依然选择文章列表来做演示,选择标签为ol,li,a,address,i.当然,你也可以依照你的文档资料选择如span,b,s等来做

<ol class="art">
<li><a herf="#" title="...">[原创:JS]由浅到深了解JavaScript类</a><address>笨红</address><i>2-9</i></li>
<li><a herf="#" title="...">[原创:CSS]正确认识html与body </a><address>一叶千鸟</address><i>2-8</i></li>
<li><a herf="#" title="...">[灌水:泡MM]没有MM的日子怎样过</a><address>嗷嗷</address><i>2-8</i></li>
<li><a herf="#" title="...">........</a><address>....</address><i>....</i></li>
</ol>

总结

当做到三列时~我发现我已经一步一步的走向我反对的那种模拟了.

HTML4的时代table,table已经成为基本所有的网页设计用来布局的工具, XHTML1.x的时代table的任务只是数据显示,我支持表格的使用,不过不是用来布局的, 要想完全抛弃table,我认为应该等到浏览器们都支持display: table的CSS2才可以

以前文章只是个人看法,在WEB设计中我属于学得晚的,学得菜的,可能里面说的有些不大对,也希望大家能帮我指出来.

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.本书1~16章所附代码的运行环境 操作系统:Windows 2003、Windows XP Professional,或者Windows 2000 开发环境:Microsoft Visual Studio 2005 数据库:SQL Server 2005 Web服务器:IIS 5.1及以上版本 2.本书17~27章所附代码的运行环境 数据库采用MySQL 4.0及以上版本 服务器采用Tomcat 5.0 及以上版本 开发工具采用Eclipse 3.1以上版本 3.本书所附光盘范例 第1章(/C01/) JsWeb 传统的JavaScript模式实现刷新 IframeWeb 基于框架的不刷新模式 AjaxWeb 基于Ajax的Web 2.0模式的刷新模式 AsyncAjaxSample Ajax异步调用的完整示例 第2章(/C02/) 2.1.htm 3段JS使用形式 2.2.htm 不同浏览器使用“<noscript></noscript>” 2.3.htm 调用单独的JS文件 2.3.js 一个单独的JS测试文件 2.4.htm 完成层的换肤功能 2.5.htm 用于调试JS程序的测试代码 第3章(/C03/) 3.1.htm 判断浏览器类型的例子 3.2.htm 演示undefinded如何与null进行比较 3.3.htm 演示同名局部变量和全局变量的调用情况 3.4htm 引用数值型数据的例子 3.5.htm 数组使用的小例子 3.6.htm 一个字符串型转换为逻辑型数据的例子 3.7.htm 使用toLowerCase()方法进行转换的例子 3.8.htm 通过字符串类型来调用toLowerCase()方法 3.9.htm 对数字进行了复制、传递和比较 3.10.htm 复制、传递和比较一个对象 3.11.htm 对字符串进行比较 第4章(/C04/) 4.1.htm 简单表达式的例子 4.2.htm 两个字符串进行加操作的实例 4.3.htm 减号的取反功能 4.4.htm 变量赋值的例子 4.5.htm 把表达式赋值给一个变量的方法 4.6.htm 演示了两个符号的区别 4.7.htm “!==”和“===”的演示 4.8.htm 逗号表达式的连接应用 4.9.htm 对表达式进行“Void”运算 4.10.htm typeof运算符的使用 4.11.htm 创建和删除对象的例子 4.12.htm 用delete移除了myArry的第二个元素 4.13.htm 用“()”改变运算优先级的例子 4.14.htm 一个运算符结合性的例子 第5章(/C05/) 5.1.htm 一个最简单的条件语句 5.2.htm 检查变量x是否赋初值 5.3.htm if..else的使用情况 5.4.htm 一个用else进行更多选择的例子 5.5.htm 一个if语句嵌套的例子 5.6.htm 嵌套语句的另一种应用 5.7.htm 一个switch语句的应用 5.8.htm 利用while循环显示了一个6行的表格 5.9.htm while语句和do-while语句的循环实例 5.10.htm 显示了一个简易的九九乘法表 5.11.htm 用无限循环结构对上面乘法表的改写 5.12.htm 一个显示15以内奇数的程序 5.13.htm 一个函数定义的简单示例 5.14.htm 利用一个函数来显示对登录用户的问候 5.15.htm 定义了一个求阶乘的函数 5.16.htm JavaScript实现阶乘函数 5.17.htm 全局变量和局部变量的区别 5.18.htm 变量实例 5.19.htm 在函数内部使用arguments 5.20.htm 创建并使用动态函数的例子 5.21.htm URI编码处理函数的例子 5.22.htm 数值处理函数的例子 5.23.htm 一个isNaN方法应用的例子 第6章(/C06/) 6.1.htm 简单对象的使用 6.2.htm 如何使用构造函数为对象实例增加属性和方法 6.3.htm 在网页上显示中文形式的日期 6.4.htm 将一个小数四舍五入到指定位数 6.5.htm 以从大到小冒泡排序法为例 6.6.htm 使用Navigator的属性进行浏览器检测 6.7.htm 列出了一些可能的浏览器类型 6.8.htm Screen对象的使用 6.9.htm 用来检测浏览器窗口的实际大小 6.10.htm 可以设置文字大小随窗口大小而改变 6.11.htm 客户端性能检测 6.12.htm 个浏览器按键模拟的示例 第7章(/C07/) 7.1.htm 演示了编码和译码使用的方法 7.2.htm 演示了exec方法的用法 7.3.htm 对RegExp对象的综合举例 7.4.htm 演示了字符匹配的使用情况 7.5.htm 正则匹配举例 7.6.htm 用 ^ 匹配目标字符串的开始位置 7.7.htm 用 $ 匹配目标字符串的结尾位置 7.8.htm 用 \b 匹配一个字边界 第8章(/C08/) 8.1.htm XHTML中的事件绑定 8.2.htm 一个表单按钮的click处理器 8.3.htm 测试事件处理器的作用域 8.4.htm 绑定方法的使用 8.5.htm 使用一段文本来接收按键点击 8.6.htm 绑定处理器至对象 8.7.htm 网页中禁止鼠标右键的操作 第9章(/C09/) 9.1.htm 实现了在网页上显示当前时间的功能 9.2.htm 一个显示当前日期和星期的完整示例 9.3.htm 同时显示日期、时间和星期 9.4.htm 一个分时段问候的例子 9.5.htm 实现了显示不同地区的时间代码 9.6.htm 实现悬浮时钟效果的完整代码 9.7.htm 计算器的完整程序 9.8.htm 可以进行四则混合运算的计算器 9.9.htm 打字效果 9.10.htm 实现图片的随机选择 9.11.htm 一个基本下拉菜单 9.12.htm 下拉菜单 9.13.htm 实现渐显效果的下拉菜单的完整代码 9.14.htm 模拟系统菜单 9.15.htm 图片显示窗口的完整代码 9.16.htm 远程控制窗口 9.17.htm 实现菜单滑动效果的完整代码 9.18.htm 左键弹出式菜单效果的完整代码 9.19.htm 实现浮动菜单效果的完整代码 9.20.htm 实现树型导航菜单的完整代码 第10章(/C10/) ReturnText Ajax返回字符串数据 ReturnXML Ajax读取XML类型数据 PostUser Ajax提交数据更新服务器内容 xmlhttpWeather 获取天气网站的内容 第11章(/C11/) 11.1.htm 采用标准的DOM方法创建一个表格并将其插入到页面中 11.2.htm 添加单元格 11.3.htm 删除表格的第一行和第一列 11.4.htm 实现单元格行顺序的改变 dynamicTable 完整的Ajax调用DOM的实例 第12章(/C12/) 12.1.htm 一个在元素内定义CSS的范例 12.2.htm 一个在Head元素内定义CSS的范例 12.3.htm 引用CSS文件的页面 12.4.htm 通过下拉列表框来改变<div>容器的背景色 12.5.htm 实演示如何创建CSS文件 12.6.htm 演示一个在网页中应用投影的范例 12.7.htm 使用Ajax动态改变局部元素样式 CSSmenu 使用Ajax+CSS实现动态菜单效果 第13章(/C13/) 13.1.xml 一个简单的xml文件 13.1.xsl 使用XSLT将XML转换为HTML 13.2.xml 一个雇员列表xml文件 13.2.xsl 一个XSL样式表的例子 13.3.htm Internet Explorer 浏览器中XML的应用 13.4.htm 直接对XML文档进行添加、删除和显示数据的操作 13.5.js Mozilla 浏览器中xml的应用 13.5.xml 简单的xml文件 13.6.htm 格式化输出xml文件 13.7.htm 一个添加/删除记录的例子 第14章(/C14/) MenuSample 级联菜单实例 PageSample 实现Ajax翻页效果 数据库备份 本章实例所需要的数据库 第15章(/C15/) AjaxCallerSchedul 使用AjaxCaller实现简单的定时任务 RicoColor 使用Open Rico实现动态调色板 RicoDrag 使用Open Rico实现可拖拽的层 WebSitetestdojo 使用dojo组件实现卷帘效果的div隐藏 第16章(/C16/) 留言板源代码 所有留言板实例的源代码 数据库备份 留言板数据所需要的数据库 第17章(/ch17) 程序描述:本章介绍开发AJAX的开源框架GWT(Google Web Toolkit) 。最典型的Google Maps和Gmail等Google服务也正是基于此框架开发的。读者将能够快速掌握GWT的各种开发所涉及到的内容。 /firstgwt/FirstGWT.html 第一个GWT示例 /calculator/TexCalculator.html 个税计算器 第18章(/ch18) 程序描述:本章将介绍 GWT应用中高级应用的部分,包括各中组件和布局、如何发送XMLHttpRequest请求,以及如何解决浏览器历史记录问题等等,同时读者还将详细的了解RPC应用的开发过程。 /xmlsample/AjaxSample.html 读取XML文件 /history/HistoryExample.html 保存历史记录 /rpc/RPCExample.html RPC调用 第19章(/ch19) 程序描述:本章模仿Google ig,使用Ajax技术实现一个个性化主页系统。通过拖拽方式设置主页,当完成拖拽窗口时,自动保存布局,使用户可以随时根据喜好来设置布局。 /login.jsp 登录页面 /homepage.jsp 自定义主页 /all.css CSS样式表文件 /js JavaScript脚本文件 /graphics 系统使用的图片文件夹 第20章(/ch20) 程序描述:本章使用Prototype封装的Ajax对象实现上传文件时显示进度条的功能。当上传文件时,客户端同时显示文件上传的进度,从而及时了解文件传送情况。 /test.html 上传文件 /periodcal.jsp 上传文件后台处理页面 / prototype.js prototype框架类库文件 第21章(/ch21) 程序描述:本章将实现通过滑块来显示分页数据的功能。传统的分页方式,多数是通过单击按钮的方式来显示分页的。利用Ajax可以通过使用滑块的滑动来选择所显示的分页,这种拖拽的方式有很好的用户体验。 /test.html 滑动显示分页页面 /js JavaScript脚本文件 /img 系统使用的图片文件夹 第22章(/ch22) 程序描述:本章将利用开源框架Prototype,讲述如何在网页中实现Windows关机效果,使读者对Prototype框架有进一步的认识。 /lightbox.html 仿Window关机效果 /lightbox.js JavaScript脚本文件 第23章(/ch23) 程序描述:本章将使用Ajax技术实现动态获取数据的树状菜单。当展开菜单时,自动向服务器发送请求,查询该菜单下的子菜单,并在客户端显示子菜单,而无需刷新整个页面。 /simpleTree.jsp 简单树 /staticTree.jsp 静态树 /dynamicTree.jsp 动态树 /css/tree.css CSS样式表文件 /js/all.js JavaScript脚本文件 /images 图片文件 第24章(/ch24) 程序描述:本章将使用Ajax技术实现无刷新即可浏览RSS的阅读器。添加一个RSS地址时,自动保存到数据库。打开阅读RSS时,自动获取最新的RSS内容,而无需刷新页面。 /RSSReader.jsp RSS阅读器 /rss.js JavaScript脚本文件 第25章(/ch25) 程序描述:本章将仿照Google Suggest,使用Ajax技术实现动态获取搜索提示的功能。当输入搜索关键字时,自动向服务器发送请求,查询相关的关键字,并及时提示用户可输入的关键字。 /suggest.html 搜索提示 /ajax_search.js JavaScript脚本文件 第26章(/ch26) 程序描述:本章将使用Ajax技术实现无刷新即可浏览图片的相册。浏览图片时,自动向服务器发送请求,查询该类别下的照片,并显示到客户端。用户也可以根据喜好随时改变相册的风格。浏览相册的整个过程无需刷新页面。 / show.jsp 图片浏览 /all.js JavaScript脚本文件 /new.css CSS样式表文件 /styles.css CSS样式表文件 /images 图片文件 第27章(/ch27) 程序描述:本章将使用Ajax技术实现聊天室程序。使用Ajax来动态获取聊天记录,可以避免因屏幕不断刷新而出现的闪动现象。另外,使用Ajax可以减少服务器端的负荷,对这种客户端与服务器端通信量极大的程序是非常有意义的。对用户来讲,有很好地用户体验。 /welcome.jsp 聊天室欢迎页面 /room.jsp 聊天室页面 /ajax_chat.js JavaScript脚本文件 /styles.css CSS样式表文件
奥哲 H3 BPM 系统 演示环境操作说明书 深圳市奥哲科技有限公司 二〇一四年十月 目录 1 业务集成 4 1.1 适配器 4 1.2 业务数据库连接 4 1.3 业务服务 4 2 流程模型(流程功能展示) 5 2.1 主数据 5 2.2 表单和控件 6 2.2.1 模版子表 6 2.2.2 表单设计流程 7 2.2.3 显示所有的数据项 9 2.3 办公流程 10 2.3.1 请假流程 10 2.3.2 会议通知 & 通知办理 12 2.4 流程功能 15 2.4.1 流程演示 15 2.4.2 竣工报告审批 17 2.4.3 多人活动 20 2.4.4 出差报销(父子流程) 22 2.4.5 微信通知 24 2.5 业务集成 28 2.5.1 供应商入库/供应商获取 28 2.5.2 审核后创建(WS和DB)/从WebService和DB获取 31 2.5.3 监控并在BPM操作 35 2.5.4 监控业务系统自动发起 35 2.6 外部表单 35 2.6.1 访问WS接口 35 2.6.2 访问API接口 37 2.7 业务规则(选择、排序、脚本) 38 3 业务规则 42 1 演示环境概述 H3 Cloud演示环境分为两部分:  门户: http://120.25.238.237/Portal 登录名 / 密码:administrator@authine.com / h3authine  后台管理:http://120.25.238.237/Portal/admin ,或在Portal页面的右上角,点击用户图标(管理员),选择“后台管理” 登录名 / 密码:administrator@authine.com / h3authine 2 业务集成 2.1 适配器 H3默认提供的适配器列表,并可支持拓展开发适配器,并注册到H3系统中; 2.2 业务数据库连接 目前演示环境中使用到的数据库连接配置 2.3 业务服务 业务服务列表管理中,支持以下几种应用: 1. 新建文件夹:支持把同一个业务所使用的业务服务进行归类管理; 2. 新建业务服务; 3. 上传业务服务; 那么,在本演示环境中使用到的业务服务类型有:Data Table、WebService、Data Sql,详细的业务服务的使用,请参考《H3实施开发手册》。 3 流程模型(流程功能展示) 3.1 主数据 功能展示  主数据的维护和查询。  主数据可以有以下两个来源:  来源于业务系统,通过业务服务来读写业务系统的数据;  存储于H3系统,通过H3的表单进行维护数据;  主数据被流程表单中字段的开窗使用; 业务场景 在实际业务中,会涉及到业务表单使用的公共基础数据,如简单的省份、城市、学历等等数据,以及跟生产相关的物料名称、供应商信息等来自于第三方的数据; 设计过程  来源于第三方的业务系统:通过绑定业务方法,读写第三方数据库;  来源于本地系统的基础数据维护: 演示过程 1. 主数据可以【绑定业务服务】和【绑定业务规则】 2. 主数据中定义的【查询列表】,供流程包中的表单调用 3.2 表单和控件 3.2.1 模版子表 功能展示 这个流程是自定义表单,展现的是基于子表控件自定义开发的个性化子表,子表类型SheetGridView的使用; 业务场景 使用子表数据项的场合,使用子表控件来呈现自定义的效果。 设计过程 使用自定义表单实现; 演示过程 在Portal门户的流程中心中发起【表单和控件->模版子表】流程,在表单中点击子表的添加按钮,查看新增行的子表效果; 3.2.2 表单设计流程 功能展示  展示开窗查询;  展示联动查询;  字段的自动运算;  字段的显示/隐藏控制;  子表的开窗查询和自动计算;  子表的联动查询;  字段的正则表达式的验证; 业务场景 根据实际业务需求,部分数据来源与主数据信息,用户可以根据选择的项目,并把对应项目的详细信息加载到表单相应字段中; 设计过程 以下功能都是基于默认表单配置实现,请在在Portal/admin中查看【表单和控件->表单设计流程->默认表单】,点击每个控件,观察每个控件设置的属性值 1. 开窗查询: 字段【编码】 说明:SchemaCode的值来源于“主数据”,QueryCode来源于“主数据”中定义的查询列表;OutputMappingString的值是要加载的表单字段信息来源; 2. 联动查询: 字段【省份】、【城市】、【区县】 3. 字段运算:字段【营业额】的设置 4. 字段隐藏控制:“类型”字段,当选择“其它”时,可以显示“其它”文本框; 5. 子表中同样可以实现“开窗查询”、“字段运算”; 子表中同样可以实现“联动查询”; 6. 字段正则表达式的验证; 演示过程 1. 演示开窗查询 在表单中选择字段【编码】,可以弹出查询窗口,选择值后,且可以自动带出相关字段的值; 2. 联动查询 选择不同的【省份..城市..区县】,观察选择不同数据项时的区别; 3. 字段的计算 【利润】=【营业额】-【成本】; 4. 字段隐藏控制:【类型】字段,当选择【其它】时,可以显示【其它】文本框; 5. 子表中同样可以实现“开窗查询”、“字段运算”; 子表中同样可以实现“联动查询”; 6. 字段正则表达式的验证; 3.2.3 显示所有的数据项 功能展示 展示H3表单控件的使用。 业务场景 使用H3表单控件实现默认表单的显示效果。 设计过程 以下功能都是基于默认表单配置实现,请在在Portal/admin中查看【表单和控件->显示所有数据项->默认表单】,点击每个控件,观察每个控件设置的属性值 演示过程 在Portal门户的流程中心中发起【表单和控件->显示所有数据项】流程,在表单中,展示各个H3表单控件的使用,如:整数&数值型,输入字符的自动验证; 3.3 办公流程 3.3.1 请假流程 功能展示 1. 表单:字段的控制:  当请假类型选择“病假”的时候,必须提交“附件”才能提交流程;  请假开始时间的选择,只能选择当前日期之后的日期;  请假时间可以自动计算出结果; 2. 流程:路由控制 根据员工级别&请假天数判断路由;如:普通员工并且请假天数大于2天时,需要总监审批; 3. 数据字典的应用:表单中的【假期类型】信息,来源于数据字典; 业务场景 典型的请假流程的控制;数据项、流程路由 设计过程 在Portal/admin中查看【办公流程->请假流程->默认表单】,点击每个控件,观察每个控件设置的属性值,如: 请假类型的属性 请假时间的属性 演示过程 1. 字段【请假类型】,选择“病假”,点击提交,注意弹出的窗口提示信息。 2. 字段【请假开始时间】,只能选择今天或今天以后的日期;以及【请假天数】的自动计算; 3. 请选择不同的请假时间,观察流程的审批参与者变化; 3.3.2 会议通知 & 通知办理 功能展示  典型的父子流程,且两个流程分别在不同的流程包中。另外一种父子流程的展现方式,请参考【流程功能->出差报销】的父子流程;  【会议通知】中已选择的“参会单位”,才能在子流程【通知办理】中接收消息;  【会议通知】的表单字段“会议时间”类型,该控件精细到时分;  自动启动子流程【通知办理】,并可通过日志中,钻取子流程的流程监控图。 业务场景 在流程设计中,子流程可能需要用到父流程的数据,设计流程时可以设置数据项来源于父流程。如【通知办理】子流程的“会议内容”来源于父流程【会议通知】的“会议内容”数据项,可以对数据项的来源进行配置。 设计过程  子流程分属于不同的流程包,2条流程如需建立关系,需通过“数据映射”建立父子流程的联系;  参与者函数:获取指定组织所在组织架构的指定名称的用户组,如:查找查找表单中已选择的部门下面的“联络员”; 演示过程 1. 在Portal门户的流程中心中发起【办公流程->会议通知】流程,请注意(目前DEMO中,生产一部&生产二部 >> 联络员组)才有具体联络人,因此,需要展示效果,请至少选择一个部门; 2. 继续提交流程,并观察流程监控图中的信息,找到子流程【通知办理】的接收人; 3. 以【会议通知办理】中的参与者用户名登录Portal门户,在【待办任务】中找到由父流程触发的待办任务信息,查看表单中由父流程带过来的内容; 3.4 流程功能 3.4.1 流程演示 功能展示 流程设计的各个流程节点的控件、以及流程逻辑中的常用功能展示; 业务场景 常用的流程条件路由、传阅、等待、消息等场景应用; 设计过程 1. 流程的路由:根据表单中是否勾选Checkbox来选择流程路由,如果存在条件路由的情况,是用“虚线”来连接; 2. 传阅的功能:流程执行到“传阅”节点时,使用参与者函数{AllParticipants},传阅到之前参与流程的所有参与者。 3. 等待:检查条件,采用时分秒格式设置,如:"00:01:00" 4. 消息通知:可以选择通知方式,以及设置通知的“消息标题”&“消息内容”。 演示过程 在Portal门户的流程中心中发起【演示功能->流程演示】流程,根据【表单】中的数据项不同,观察流程的路由情况,并且观察各流程节点所使用控件的功能; 3.4.2 电力倒闸流程 功能展示 展示表单的特殊打印效果:打印的表单与流程表单是单独的一个文件;一个表单可以有多个打印页面; 业务场景 业务审批完成之后,需要打印表单,但是表单需要按固定格式打印的场景。 设计过程 扩展设计&制作一个表单格式: 演示过程 在Portal门户的流程中心中发起【业务流程->电力倒闸流程】流程,在表单中可以选择【打印】,输出打印表单的设计格式: 流程表单 打印效果 3.4.3 多人活动 功能展示 在审批环节,在多人会签任务场景时,各种串签、并签的审批效果: 业务场景 实际业务中,在会签、并签、串签、加签等具体的场景中应用; 设计过程 1. 多人串签(可加签) 除流程设计阶段预设的参与者外,还允许在表单中选择更多的参与者,参与者全部通过时,该节点通过;其中有1人不通过,则驳回至上一节点。 2. 多人并签(全部通过) 在流程设计阶段预设的参与者,执行并签(参与者互不影响),只要有1个参与者选择驳回,则系统自动取消其它未审批的流程,直接驳回至上一节点。 3. 多人并签(1人通过) 在流程设计阶段预设的参与者,执行并签(参与者互不影响),只要有1个参与者选择提交(同意),其它参与者可以不用再审批,直接流转至下一节点。 演示过程 在Portal门户的流程中心中发起【演示功能->多人活动】流程,结合【流程监控图】,观察流程的执行情况。 3.4.4 出差报销(父子流程) 功能展示  不需要建立数据映射关系,也实现父子流程的目的;  子表中的日期控件,只能选择日期;  子表中默认的下拉菜单列表; 业务场景 在流程设计中,父子流程的数据是来源于同一数据源,且属于同一条业务流程。 子流程可能需要用到父流程的数据,设计流程时可以设置数据项来源于父流程。如“机票预定”流程的“申请人”来源于父流程的“申请人”数据项,可以对数据项的来源进行配置。 设计过程  在同一个流程包中有唯一的数据模型,但是可以新增多个流程&表单;  在设计流程时,可以使用同一个流程包下面的流程,作为子流程;  表单控件,在默认表单页面中,即可配置出来; 演示过程 1. 在Portal门户的流程中心中发起【演示功能->出差申请】流程; 2. 审批环节流转至【子流程:报销流程】时,自动发起【报销流程】,并可看到【出差申请】中填写的数据; 3.4.5 微信通知 功能展示 在Portal中发起流程,“微信”能够收到H3系统通过微信的公司企业号推送的通知消息,发起流程后,可以在手机中收到通知,并可以在微信中实现审批功能。 业务场景 业务表单绑定微信号的消息通知; 设计过程 演示说明:请使用各自的用户名登录Portal发起流程; 演示过程 1. 设置Portal登录用户名及微信号设置,并用自己的帐号登录(每个账户绑定一个微信号); 2. Portal中发起流程 用自己的用户名登录Portal,在Portal门户的流程中心中发起【演示功能->微信通知】流程,点击发起后。如图: 3. 填写【微信通知】表单,并提交,可以在自己的微信中,收到H3系统推送的任务消息; 4. 手机上的微信收到的消息推送界面,并可操作【驳回】、【提交】等操作。 3.5 业务集成 3.5.1 供应商入库/供应商获取 功能展示  通过业务服务(Data Table Adapter),写入、读取、更新第三方数据库(ERP)中的数据表:Vendor 和Material;  通过【数据模型】的【关联关系】,通过1:1或1:N的对应关系把多个【数据模型】关联起来,如:建立Vendor表和Material表的1:N的关系。 业务场景 需要操作数据库表,数据库可以是H3的数据库,或者是第三方的数据; 设计过程 1. 在【业务集成->业务服务】中,建立【供应商信息表】和【Material信息表】的业务服务; 2. 在【流程模型->主数据】中,建立【物料主数据】和【供应商主数据】; 3. 新建流程包【供应商入库】,【数据模型】中需要用到的【业务方法】分别绑定相应的业务服务,如Create、Load、Update、Remove;并新建主从表的【关联关系】; 4. 新建流程包【供应商获取】,【数据模型】中需要用到的【业务方法】分别绑定相应的业务服务,只有Load、Update;并建立主从表的【关联关系】; 演示过程 1. 【供应商入库】: a) 在Portal门户的流程中心中发起【业务集成->供应商入库】流程,在表单上录入表单信息&物料信息,其中Code为关键字(必填项)。 b) 查询确认:打开【供应商入库】流程,在IE地址栏的URL中加上参数Code的值,如:&Code=ORC,就可以查询到刚才录入的Code值是ORC的记录,以及相关的物料信息子表。 2. 【供应商入库】 a) 从Portal门户的流程中心中打开【供应商获取】流程,在字段Code中输入【供应商入库】中填写的Code值,如ORC,点击保存后,即可查到ID是Code值的表单信息。 b) 此时,可以修改表单的值,提交流程后,可以将新值更新到数据库表; c) 同【供应商入库】的查询确认,可以在URL中加上Code的参数值,可查询最新数据信息; 3.5.2 审核后创建(WS和DB)/从WebService和DB获取 功能展示  流程包中建立方法,在流程中调用;  采用DB的方法(PRHeader)向第三方数据库插入PR值;  采用WS的方法(PRCreate),更新业务系统的值; 业务场景 业务数据存储在业务系统,在H3系统中创建表单和执行业务审批,审批完成之后,将业务数据回写到业务系统的情况;例如:有些第三方业务系统没有审批流程时。 设计过程  【审核后创建(WS和DB)】的流程包中,定义【创建采购申请】的方法,该方法分别引用:  PRHeader的Create方法,来自于业务服务的【PRHeader表】,属于Date Table的适配器创建;  WS的PRCreate方法,来自于业务服务的【业务系统WS服务】,属于WebService的适配器创建;  【从WebService和DB获取】的流程中,业务方法Load和Update方法,分别绑定PRHeader的Load方法,和【业务系统WS服务】的PRGet方法。  校验PRNumber是否存在的校验:在默认表单中字段【PRNumber】的OnChangeScript属性控制【if(sheet.executeService('ERPSql','ExistsPRNumber',{'PRNumber':'PRNumber'}) == 1){alert('该编号已经存在!');this.value='';}】,来源于业务服务【业务系统SQL服务】的ExistsPRNumber方法。 演示过程 1. 在Portal门户的流程中心中发起【业务集成->审核后创建】流程,填写表单信息后提交,可以在【已办任务】中找到表单,此时,表单中的【Return】的值是“False”。 *如果表单信息【PRNunber】录入的编码已经存在相同的编码,点击提交时将会提示: *此时,从Portal门户的流程中心中发起【业务集成->从WebService和DB获取】流程,录入PRNumber=【 】并保存,则查不到相关数据。查看流程监控图可知,未执行【审批】和【PR入库】操作。 2. 在【待办任务】中,继续执行流程的【提交】审批操作后, 已经【审核】通过,并且执行了【PR入库】操作。此时,从Portal门户的流程中心中发起【业务集成->从WebService和DB获取】流程,录入PRNumber=【 】并保存,则可查到刚刚录入的【PR】信息; 3. 在刚刚打开的【业务集成->从WebService和DB获取】流程中,可以新增一条PRItems记录,并【提交】。 4. 在【已办任务】列表中,找出刚刚更改的流程任务,打开表单后可确认【Return】的值为“True”: 5. 从Portal门户的流程中心中发起【业务集成->从WebService和DB获取】流程,录入PRNumber=【 】并保存,可以查询得到,新增记录已经记录。 3.5.3 监控并在BPM操作 功能展示 在业务系统创建表单,在H3中审核 1.创建采购单->自动触发H3 BPM的PO流程; 2.在H3中审核当前表单,每次操作后,可以在这里查看业务表单数据状态。 业务场景 H3与第三方业务系统的深度集成,业务系统中有业务表单来触发H3的流程引擎,流程执行在H3系统中,并将每一次的流程状态结果体现在业务系统表单相应的状态中。 演示过程 打开模拟的第三方业务系统的表单; http://120.25.238.237//ERP/ 【业务系统流程,操作在BPM】, 或直接打开http://120.25.238.237/ERP/POProcess.aspx 1. 录入【显示名称】、【预算金额】,点击【保存】,自动生成【PO编号】。 2. 通过H3系统【定时作业】定义【监控业务系统启动流程】来监控业务系统,每30秒轮询一次,如果有新记录,则执行【启动流程公有云版】的方法; 3. 后续的流程审批操作都在H3系统中执行,H3每个审批节点都会执行【更新状态】的方法来更新业务系统的状态值; 4. 业务系统中可以查看订单流程状态,并可通过【查看流程】打开H3的流程监控图; 3.5.4 监控业务系统自动发起 功能展示 所有的操作都在业务系统中完成 1.创建采购单->自动触发H3 BPM的PO流程; 2.将采购单依次改为->询价、比价、议价、订单下达4个状态,可以将流程触发到不同的环节至结束。 3.议价可以保存至询价环节,将流程驳回询价。 业务场景 第三方业务系统与H3流程引擎的深度集成,流程表单和业务操作都在第三方业务系统中,流程运转使用的是H3的流程引擎。在业务系统中没一个操作步骤,能够在H3的流程监控图中都能体现; 演示过程 打开模拟的第三方业务系统的表单: http:// 120.25.238.237/ERP/ 【业务系统流程,操作在业务系统】 或,直接打开:http:// 120.25.238.237/ERP/POProcess.aspx 1. 录入【显示名称】和【预算金额】,点击【保存】,会自动生成一个【PO编号】。 2. 随后,H3系统的【定时作业】,会监控ERP数据库中的PO表,新增记录自动触发流程启动; 3. 点击【查看流程】,可看到流程监控图中,流程已经启动; 4. 继续在ERP表单中,采购单依次改为->询价、比价、议价、订单下达4个状态,可以将流程触发到不同的环节至结束,说明:可以通过ERP表单中的【查看流程】或H3 BPM中【流程监控>>进行中的流程】,查看流程流程监控图的变化。 5. 3.6 外部表单 3.6.1 访问WS接口 功能展示  表单在第三方系统,调用H3的提供的Web Service启动、处理流程;  在第三方系统中的【查看流程】,可以直接调阅H3系统的中流程信息页面; 业务场景 在实际的业务应用场景,客户在现有的系统中已经有表单了,不想在H3中再重做表单,但是没有流程功能而需要应用H3的流程逻辑(或者已经有流程功能但功能不够强大,需要应用H3强大的流程逻辑来辅助业务执行),那么,H3可以提供Web Service的流程操作接口,供第三方系统调用,实现流程功能。 设计过程 在第三方系统中,通过调用H3提供的Web Service服务,执行流程的启动、提交、驳回、查看流程等操作。 演示过程 通过2种途径进入流程表单页面: 1. 在Portal门户的流程中心中发起【外部表单->访问WS接口】流程,点击发起后,打开的页面是第三方表单; 2. 进入第三方系统: a) http:// 120.25.238.237/ERP/ 后选择【Web Service模拟表单】打开: b) 直接进入表单页面; http:// 120.25.238.237/ERP/SheetWS.aspx?Mode=Originate&WorkflowCode=PRWS 3. 第三方系统中【提交】流程后,可以在Portal门户首页的【待办任务】和流程中心的【已办任务】列表中,分别看到刚刚从第三方系统发起的流程待办和已办。 4. 在H3中打开任务链接,直接跳转至第三方系统的表单页面中操作,可以执行【提交】、【驳回】和【查看流程】。 3.6.2 访问API接口 功能展示  表单在第三方系统,调用H3系统接口(DLL)启动、处理流程  在第三方系统中的【查看流程】,可以直接调阅H3系统的中流程信息页面; 业务场景 在实际的业务应用场景,客户在现有的系统中已经有表单了,不想在H3中再重做表单,但是没有流程功能而需要应用H3的流程逻辑(或者已经有流程功能但功能不够强大,需要应用H3强大的流程逻辑来辅助业务执行),那么,H3可以提供API接口的流程操作接口,供第三方系统调用,实现流程功能。 设计过程 在第三方系统中,通过调用H3提供的API接口服务,执行流程的启动、提交、驳回、查看流程等操作。 演示过程 通过2种途径进入流程表单页面: 1. 在Portal门户的流程中心中发起【外部表单->访问API接口】流程,点击发起后,打开的页面是第三方表单; 2. 进入第三方系统: a) http:// 120.25.238.237/ERP/ 后选择【API模拟表单】打开: b) 直接进入表单页面; http:// 120.25.238.237/ERP//SheetDLL.aspx?Mode=Originate&WorkflowCode=PRDll 3. 第三方系统中【提交】流程后,可以在Portal门户首页的【待办任务】和流程中心的【已办任务】列表中,分别看到刚刚从第三方系统发起的流程待办和已办。 4. 在H3中打开任务链接,直接跳转至第三方系统的表单页面中操作,可以执行【提交】、【驳回】和【查看流程】。 3.7 业务规则(选择、排序、脚本) 功能展示 业务规则可以自定义词汇表和规则,实现矩阵式的规则管理。例如以下采购申请审核矩阵: 参与者 办公用品 生产设备 采购金额<2000 采购金额>=2000 采购金额<10000 采购金额>=10000 业务主管 √ √ √   部门总监 √   √ √ 财务总监   √   √ 总经理   √   √ 该矩阵中,根据【采购类型】、【金额】,需要不同的人员进行审核,如果在流程设计中实现,流程逻辑会复杂化。此时可以使用业务规则进行定义该规则,将业务逻辑在业务规则中进行图形化定义实现,更符合业务角度进行理解。 业务场景 在实际业务中,流程本身并不复杂,审批层级就是4级,但因为业务逻辑关系影响到流程需要非常多的分支来判断,如采购单会根据【采购类型】和【金额】的不同,分别有不同的人来审批;休假申请会根据【假期类型】和【请假天数】的不同,分别会有不同的人来审批。 通过H3的业务规则引擎,可以实现业务与流程的耦合,从而达到简化流程的目的,以及方便流程的维护,当公司业务逻辑或公司制度发生异动时,不需要重新来制作流程,只需要维护业务规则表即可,极大的节省了后期的维护成本。 设计过程 详见《H3 BPM实施开发手册》的第10章:业务规则的详细介绍。 演示过程 业务规则的演示流程有3条:【采购(排序)】、【采购(选择)】和【采购(脚本)】,分别对应【业务规则->演示规则】中预设的【排序规则】、【选择规则】和【脚本规则】。 1. 选择规则: 选择规则是将需要执行的单元格按照选中状态进行串联起来,将参与者最终赋值给指定的参与者类型词汇,例如以下 表示涵义为:  当采购类型是办公用品时  金额小于2000,需要主管审核;  金额大于等于2000,需要主管、财务总监审核;  当采购类型是生产设备时  金额小于5000,需要主管、采购总监审核;  金额大于等于5000时,需要主管、采购总监、财务总监和分管副总审核; 2. 排序规则: 排序规则是将所有需要执行的单元格将连续的数值连接起来,将参与者最终赋值给指定的参与者类型词汇,例如以下表格: 表示涵义为:  当采购类型是办公用品时  金额小于2000,需要主管审核;  金额大于等于2000,需要主管、财务总监审核;  当采购类型是生产设备时  金额小于5000,需要主管、采购总监审核;  金额大于等于5000时,需要主管、采购总监、财务总监和分管副总审核; 3. 脚本规则: 脚本规则是执行所有满足条件的单元格的脚本,对词汇直接进行赋值。 4. 在Portal门户的流程中心中发起【业务规则】目录下的3条流程:分别输入不同的【采购类型】和【总金额】,观看流程流转的变化。 提示:发起流程页面,审核人不用选择,流程提交之后,系统会自动根据设定的业务规则,列出需要参与的审批人,按顺序排序,详见下图。 说明:流程的审批顺序按【审核人】的顺序执行【串签】,直至最后一人审核后到流程结束。 4 业务规则 业务规则的使用,请参考《H3 实施开发手册》 演示环境中已实现的【演示规则】,详细请参考本手册【流程模型】章节的【业务规则(选择、排序、脚本)】的应用;
本书全面讲授网页设计与制作技术、JavaScript脚本编程和Web数据库应用技术。本书以目前最流行的网页设计三剑客Dreamweaver 8、Fireworks 8和Flash 8作为支撑平台,由浅入深,系统地介绍了网页的构思、规划、制作和网站建设的全过程。本书还着重讲解了如何使用JavaScript进行客户端编程和如何开发Web数据库应用。   本书可作为高等院校“网页设计与开发”类课程教材,也可作为网站制作、Web程序设计培训教材,还可作为网页设计与Web编程爱好者的自学参考书。   本书特点   ●构思清晰,结构合理。   ●内容全面系统,语言简洁生动。   ●图文并茂,实例新颖。   ●注重实践能力的培养,实用性和可操作性强。   ●本书为教师配有电子教案和综合模拟试卷,请登录华章网站(www.hzbook.com)免费下载或通过Email(wu@whu.edu.cn)与作者联系。 无 随着计算机网络的普及,网络应用日趋丰富,人们利用Internet足不出户就可以获取所需要的信息,实现购物、炒股、娱乐和在线学习等。Web网站是Internet的重要组成部分,对于公司和企业来说,可以利用网站来展示企业形象,宣传企业,推荐产品并进行电子商务活动,从而利用Internet带来无限商机;对于个人,可以按照爱好和兴趣建立一个具有独特风格的网站,通过它来展示自我,共享资源;对于政府机关,可以利用网站宣传政策法规和进行网络办公,实现电子政务。因此,网页设计和制作技术越来越受到重视。   目前,许多高等院校都开设了网页设计与网站开发相关课程,这一课程已成为信息管理、电子商务和计算机网络等专业的必修课,同时也深受其他专业学生的喜爱,成为选修率很高的一门课程。本书是一本全面介绍网页设计与制作技术,以及JavaScript脚本编程和Web数据库应用技术的教程。它以目前最流行的网页设计三剑客Dreamweaver 8、Fireworks 8、Flash 8作为技术支持,由浅入深,系统地介绍了网页的构思、规划、制作和网站建设的全过程。本书着重讲解了如何使用JavaScript进行客户端编程,如何开发Web数据库应用。   本书分为三个部分:第一部分为基础篇(第1~2章),介绍Internet和WWW的基本知识、网站建设概论以及制作网页的基本语言HTML;第二部分为应用篇(第3~11章),详细介绍如何利用Dreamweaver 8设计制作网页,JavaScript脚本编程,Web数据库应用,以及网站发布和维护方面的知识;第三部分为图形动画篇(第12~15章),介绍目前最常用的网页制作辅助工具Fireworks 8和Flash 8,并给出一些制作实例。   网页设计是一门实践性很强的课程,实践是学好本课程的重要环节。为此我们编写了与其配套的实验教程,供读者学习时参考。   本书由吴黎兵、熊建强、杨鏖丞拟订大纲和主编,并负责全书的统稿。各章节的具体编写分工是:第1、2章由熊建强编写,第3、4章由宋麟编写,第5、8章由黄磊编写,第6、11章由周畅和汤建琴编写,第7、10章由杨鏖丞编写,第9、12、13章由吴黎兵和熊卿编写,第14、15章由余艳霞编写。本书编写过程中得到了各级领导和机械工业出版社华章分社的大力支持,在此表示衷心的感谢。   限于作者水平,书中难免有不足与疏漏之处,敬请专家、同行及广大读者批评指正!   为便于老师教学,我们将为选用本教材的任课老师免费提供电子教案。需要者请登录华章网站(http://www.hzbook.com)免费下载,或通过电子邮件与我们联系(wufox@126.com)。   作  者    2007年1月   于武汉大学珞珈山 前言 第1章  WWW技术简介 1 1.1  WWW的特点和结构 1 1.2  Web服务器的配置 3 1.3  创建虚拟目录 7 1.4  网页浏览器IE 6.0的配置 10 本章小结 12 思考题 12 第2章  HTML基础 13 2.1  网页与HTML概述 13 2.2  文档结构标记和格式标记 14 2.3  文本标记和链接标记 16 2.4  图像标记和多媒体标记 19 2.5  表格标记和表单标记 20 2.6  其他常用标记 24 本章小结 25 思考题 25 第3章  Dreamweaver 8概述 26 3.1  网页中的基本元素 26 3.1.1  文本 26 3.1.2  图像 27 3.1.3  多媒体 27 3.1.4  超级链接 28 3.1.5  表单 28 3.1.6  导航栏 28 3.1.7  其他常见元素 28 3.2  Dreamweaver 8的界面元素介绍 29 3.2.1  工作区布局 29 3.2.2  起始页 29 3.2.3  窗口布局 30 3.3  获取帮助 37 3.3.1  帮助文档 37 3.3.2 “参考”面板 38 3.4  创建本地站点 38 3.4.1  规划站点结构 39 3.4.2  引例 39 本章小结 41 思考题 41 第4章  制作简单网页 42 4.1  文本及排版 42 4.1.1  插入文本 42 4.1.2  引例 43 4.1.3  格式化文本 43 4.1.4  创建项目列表 45 4.2  设置文件头和网页属性 47 4.2.1  设置网页的编码 47 4.2.2  设定文档标题 48 4.2.3  添加关键字 48 4.2.4  设置网页的刷新 49 4.2.5  插入meta对象 50 4.3  插入表格 50 4.3.1  引例 50 4.3.2  制作表格 51 4.3.3  编辑表格 52 4.3.4  表格属性面板的使用 56 4.4  插入多媒体对象 58 4.4.1  使用图像 58 4.4.2  插入Flash对象 63 4.4.3  插入视频对象 68 4.4.4  插入音频对象 71 4.5  插入Java Applet 72 4.6  创建超级链接 73 4.6.1  地址和链接 73 4.6.2  添加链接 74 4.6.3  书签链接和热点链接 76 本章小结 77 思考题 78 第5章  网页布局和框架 79 5.1  布局模式 79 5.1.1  引例 79 5.1.2  关于“布局”模式 80 5.2  绘制布局表格和布局单元格 80 5.2.1  绘制布局表格 80 5.2.2  绘制布局单元格 81 5.2.3  绘制嵌套布局表格 82 5.3  使用标尺与网格 82 5.3.1  使用标尺 82 5.3.2  使用网格 82 5.4  调整布局表格及布局单元格 83 5.4.1  选择布局表格和布局单元格 83 5.4.2  调整布局表格和布局单元格的大小 83 5.4.3  移动嵌套布局表格和布局单元格 84 5.4.4  设置布局表格和布局单元格的属性 84 5.4.5  设置列宽度 85 5.5  设置布局模式的首选参数 87 5.6  框架的使用 88 5.6.1  关于框架和框架集 88 5.6.2  创建框架和框架集 89 5.6.3  选择框架和框架集 93 5.6.4  保存框架和框架集文件 94 5.6.5  设置框架和框架集属性 95 5.6.6  为框架设置链接 97 5.6.7  处理不能显示框架的浏览器 98 本章小结 99 思考题 99 第6章  使用CSS样式 100 6.1  CSS样式的基本使用方法 100 6.1.1  在网页中加入CSS样式 100 6.1.2 “CSS样式”面板 101 6.1.3  CSS样式的创建和应用 102 6.2  设置CSS样式属性 105 6.2.1  设置类型属性 105 6.2.2  设置背景属性 106 6.2.3  设置区块属性 107 6.2.4  设置方框属性 108 6.2.5  设置边框属性 108 6.2.6  设置列表属性 109 6.2.7  设置定位属性 110 6.2.8  设置扩展属性 111 6.3  CSS滤镜 111 6.4  CSS样式应用实例 115 6.4.1  美化文本框与按钮 115 6.4.2  打造多彩文字链接 116 6.4.3  用CSS控制网页整体风格 117 本章小结 118 思考题 118 第7章  JavaScript 119 7.1  JavaScript概述 119 7.1.1  引例 119 7.1.2  JavaScript的特点 120 7.1.3  JavaScript与Java的区别 121 7.2  JavaScript的词法规则 122 7.2.1  大小写敏感性 122 7.2.2  语句结束符 122 7.2.3  注释 123 7.2.4  标识符 123 7.2.5  保留字 123 7.3  JavaScript的基本数据类型 124 7.3.1  数值型 124 7.3.2  字符串型 124 7.3.3  布尔型 125 7.3.4  变量 125 7.4  JavaScript的表达式和运算符 126 7.4.1  表达式 126 7.4.2  运算符 126 7.5  JavaScript基本语句 127 7.5.1  引例 127 7.5.2  表达式语句和复合语句 128 7.5.3  条件语句 128 7.5.4  循环语句 130 7.5.5  标签语句 132 7.6  JavaScript函数 133 7.6.1  引例 133 7.6.2  函数的定义和调用 133 7.6.3  函数的参数传递和返回值 134 7.6.4  函数的变量作用范围 135 7.7  JavaScript对象和数组 135 7.7.1  对象 135 7.7.2  数组 144 7.7.3  文档对象模型 147 本章小结 151 思考题 152 第8章  表单 153 8.1  插入表单 153 8.1.1  引例 153 8.1.2  插入表单方法 153 8.2  插入表单对象 154 8.2.1  添加按钮 155 8.2.2  添加文本域 155 8.2.3  添加复选框 157 8.2.4  添加单选按钮 157 8.2.5  添加列表/菜单 159 8.2.6  添加文件域 161 8.2.7  添加图像域 161 8.2.8  添加隐藏域 163 8.2.9  添加跳转菜单 164 8.2.10  添加搜索引擎 165 本章小结 168 思考题 168 第9章  层与行为 169 9.1  层的创建与基本操作 169 9.2  层的属性设置 171 9.2.1  选择层 171 9.2.2  层属性面板的使用 172 9.3  层的其他操作 173 9.3.1  吸附层到网格 173 9.3.2  层和表格的转换 174 9.3.3  嵌套层 175 9.3.4  在层中插入内容 175 9.4  时间轴概述 176 9.5  使用时间轴创建动画 177 9.5.1  使用关键帧创建动画 177 9.5.2  通过拖动路径创建动画 179 9.5.3  时间轴的其他操作 180 9.6  Dreamweaver中的行为 181 9.6.1  行为概述 182 9.6.2  添加行为 183 9.6.3  更改行为 183 9.6.4  打开浏览器窗口 184 9.6.5  显示-隐藏层 185 9.6.6  设置状态栏文本 186 9.6.7  交换图像 187 9.6.8  拖动层 187 本章小结 189 思考题 189 第10章  Web数据库应用 190 10.1  关于Web应用程序 190 10.1.1  静态网页的处理过程 190 10.1.2  动态网页的处理过程 190 10.1.3  Web数据库访问 191 10.2  数据库基础 192 10.2.1  数据库、数据库管理系统和数据库 系统 192 10.2.2  记录与字段 192 10.2.3  记录集 192 10.2.4  数据库的设计流程 193 10.2.5  数据库连接 193 10.2.6  结构化查询语言 194 10.3  设置Web数据库应用 194 10.3.1  设置Web服务器 194 10.3.2  设置应用程序服务器 194 10.3.3  连接数据库 195 10.4  定义数据源 198 10.4.1  引例 198 10.4.2  定义记录集 198 10.4.3  定义命令对象 201 10.4.4  定义服务器变量 202 10.5  添加动态内容 204 10.5.1  引例 204 10.5.2  动态文本 204 10.5.3  动态图像 205 10.5.4  动态HTML属性 207 10.6  添加服务器行为 207 10.6.1  引例 207 10.6.2  重复区域 208 10.6.3  记录集分页 208 10.6.4  显示区域 210 10.6.5  记录计数器 211 10.6.6  转到详细页面 212 10.6.7  转到相关页面 214 本章小结 215 思考题 215 第11章  站点管理 216 11.1  站点和文件夹 216 11.1.1  关于Dreamweaver站点 216 11.1.2  本地和远程文件夹的结构 216 11.1.3  设置新的Dreamweaver站点 217 11.2  远程文件夹 221 11.2.1  定义远程文件夹 221 11.2.2  解决远程文件夹设置问题 223 11.3  上传与获取文件 224 11.3.1  从本地站点上传文件到远程 站点 224 11.3.2  从远程站点获取文件到本地 站点 225 11.4  遮盖文件夹和文件类型 225 11.5  存回和取出远程站点中的文件 227 11.6  站点报告 229 11.6.1  运行报告 230 11.6.2  使用和保存报告 231 11.7  创建站点地图 231 11.8  站点测试、管理和发布 234 11.8.1  站点测试 234 11.8.2  站点管理和发布 234 本章小结 235 思考题 235 第12章  Fireworks 8入门 236 12.1  Fireworks 8概述 236 12.2  Fireworks工作环境 239 12.2.1 “工具”面板 239 12.2.2 “属性”检查器 239 12.2.3  各类面板 240 12.3  Fireworks文档操作 241 12.3.1  创建新文档 241 12.3.2  打开和导入文件 242 12.3.3  保存Fireworks文档 242 12.4  更改画布 243 12.4.1  更改画布大小、颜色和图像 大小 243 12.4.2  关于重新取样 244 12.4.3  旋转画布、修剪或符合画布 244 12.4.4  修剪文档 245 12.4.5  使用标尺、辅助线和网格 245 12.5  首选参数和快捷键 246 12.5.1  设置首选参数 246 12.5.2  更改快捷键设置 248 12.6  操作的撤消与重复 249 本章小结 250 思考题 250 第13章  Fireworks 8制作实例 251 13.1  制作环绕文字 251 13.2  文字蒙盖图像 252 13.3  制作网页按钮 254 13.4  绘制QQ企鹅卡通效果 255 13.5  制作弹出菜单 256 13.6  网页切片 258 13.7  制作动画 261 本章小结 263 思考题 263 第14章  Flash 8概述 264 14.1  Flash 8的工作环境简介 264 14.1.1  初识Flash 8 264 14.1.2  文档选项卡 265 14.1.3  时间轴 265 14.1.4  工具箱 266 14.1.5  舞台 267 14.1.6  工作区 268 14.1.7  网格 268 14.1.8  标尺 269 14.1.9  常用面板 269 14.2  基本绘图工具 273 14.2.1  选择工具 273 14.2.2  部分选取工具 274 14.2.3  直线工具 274 14.2.4  套索工具 275 14.2.5  钢笔工具 276 14.2.6  椭圆工具与矩形工具 277 14.2.7  铅笔工具 277 14.2.8  刷子工具 278 14.2.9  任意变形工具 278 14.2.10  填充变形工具 279 14.2.11  墨水瓶工具与颜料桶工具 280 14.2.12  滴管工具 280 14.2.13  橡皮擦工具 281 14.2.14  文本工具 281 本章小结 282 思考题 283 第15章  基本动画制作 284 15.1  逐帧动画 284 15.1.1  创建逐帧动画的几种方法 284 15.1.2  制作过程 284 15.2  形状补间动画 287 15.2.1  创建形状补间动画的方法 287 15.2.2  制作过程 287 15.3  动作补间动画 288 15.3.1  创建动作补间动画的方法 288 15.3.2  动作补间动画的属性面板 289 15.3.3  制作过程 289 15.4  遮罩动画 291 15.4.1  遮罩和遮罩的创建 291 15.4.2  应用遮罩时的技巧 291 15.4.3  制作过程 292 15.5  引导路径动画 293 15.5.1  创建引导路径动画的方法 293 15.5.2  应用引导路径动画的技巧 294 15.5.3  制作过程 294 15.6  动画实例 296 15.6.1  飞翔的文字 296 15.6.2  溪流效果 298 本章小结 300 思考题 300 参考文献 301
目录 第1部分 CSS基础知识篇  第1章 CSS的初步体验    1.1 CSS的概念    1.2 使用CSS控制页面    1.3 体验CSS   第2章 CSS的基本语法    2.1 CSS选择器    2.2 选择器声明   2.3 CSS的继承  第3章 用CSS设置丰富的文字效果    3.1 CSS文字样式   3.2 文字实例一:模拟Google公司Logo    3.3 文字实例二:制作页面的五彩标题    3.4 CSS段落文字   3.5 段落实例:百度搜索   第4章 用CSS设置图片效果    4.1 图片样式    4.2 图片的对齐   4.3 图文混排    4.4 图文实例:八仙过海   第5章 用CSS设置网页中的背景    5.1 背景颜色    5.2 背景图片    5.3 背景综合一:我的个人主页    5.4 背景综合二:古词《念奴娇·赤壁怀古》   第6章 用CSS设置表格与表单的样式    6.1 控制表格    6.2 表格实例一:隔行变色    6.3 表格实例二:鼠标经过时变色的表格    6.4 表格实例三:日历    6.5 CSS与表单    6.6 综合实例一:直接输入的Excel表格    6.7 综合实例二:模仿新浪网民调查问卷   第7章 用CSS设置页面和浏览器的元素    7.1 丰富的超链接特效   7.2 鼠标特效   7.3 页面滚动条   第8章 用CSS制作实用的菜单    8.1 项目列表    8.2 无需表格的菜单    8.3 菜单的横竖转换    8.4 菜单实例一:百度导航条    8.5 菜单实例二:流行的Tab菜单   第9章 CSS滤镜的应用    9.1 滤镜概述    9.2 通道(Alpha)    9.3 模糊(Blur)    9.4 运动模糊(Motion Blur)    9.5 透明色(Chroma)    9.6 下落的阴影(Dropshadow)    9.7 翻转变换(Flip)    9.8 光晕(Glow)    9.9 灰度(Gray)    9.10 反色(Invert)    9.11 遮罩(Mask)    9.12 阴影(Shadow)    9.13 X射线(X-ray)    9.14 浮雕纹理(Emboss和Engrave)    9.15 波浪(Wave)  第2部分 CSS+DIV美化和布局篇  第10章 理解CSS定位与div布局    10.1  div 标记与 span 标记   10.2 盒子模型   10.3 元素的定位    10.4 定位实例一:轻轻松松给图片签名    10.5 定位实例二:文字阴影效果   第11章 CSS+div布局方法剖析    11.1 CSS排版观念    11.2 固定宽度且居中的版式   11.3 左中右版式    11.4 块的背景色问题   11.5 排版实例:电子相册    11.6 div排版与传统的表格方式排版的分析   第12章 CSS+div美化与布局实战    12.1 框架搭建    12.2 实例一:蓝色经典    12.3 实例二:清明上河图    12.4 实例三:交河故城    12.5 自动选择CSS样式  第3部分 CSS混合应用技术篇  第13章 CSS与JavaScript的综合应用    13.1 JavaScript概述   13.2 JavaScript语法基础   13.3 实例一:输入时高亮显示的Excel表格    13.4 实例二:由远到近的文字    13.5 实例三:跑马灯特效    13.6 实例四:图片淡入淡出    13.7 实例五:CSS实现PPT幻灯片    13.8 实例六:灯光效果    13.9 实例七:舞台灯光    13.10 实例八:探照灯    13.11 实例九:鼠标文字跟随   第14章 CSS与XML的综合运用    14.1 XML基础    14.2 XML链接CSS文件    14.3 XML文字阴影效果    14.4 XML古诗字画    14.5 XML实现隔行变色的表格   第15章 CSS与Ajax的综合应用    15.1 Ajax概述    15.2 Ajax入门   15.3 Ajax实例:能够自由拖动布局区域的网页  第4部分 综合案例篇  第16章 我的博客    16.1 分析构架    16.2 模块拆分    16.3 整体调整   第17章 小型工作室网站    17.1 分析构架    17.2 模块拆分   17.3 整体调整   第18章 企业网站    18.1 分析构架   18.2 模块拆分   18.3 整体调整   第19章 网上购物网站    19.1 分析构架   19.2 模块分析   19.3 整体调整   第20章 旅游网站    20.1 分析构架    20.2 模块拆分   20.3 整体调整 精通JavaScript+jQuery 书籍目录: 第1部分 JavaScript.cCSS与DOM基础篇   第1章 ccJavaScript概述   1.1 JavaScript的起源   1.2 浏览器之争    1.2.1 DHTML    1.2.2 浏览器之间的冲突    1.2.3 标准的制定     1.3 JavaScript的实现    1.3.1 ECMAScript    1.3.2 DOM    1.3.3 BOM    1.3.4 新的开始   1.4 Web标准    1.4.1 Web标准概述    1.4.2 结构.c表现和行为的分离  第2章ccJavaScript基础   2.1 JavaScript的语法   2.2 变量   2.3 数据类型    2.3.1 字符串 .   2.3.2 数值    2.3.3 布尔型    2.3.4 类型转换    2.3.5 数组   2.4 关键字   2.5 保留字   2.6 条件语句    2.6.1 比较操作符    2.6.2 逻辑操作符    2.6.3 if语句    2.6.4 switch语句   2.7 循环语句    2.7.1 while语句    2.7.2 do…while语句    2.7.3 for语句    2.7.4 break和continue语句    2.7.5 for…in语句    2.7.6 实例:九九乘法表   2.8 函数    2.8.1 定义和调用函数    2.8.2 用arguments对象访问函数的参数    2.8.3 实例:杨辉三角   2.9 其他对象    2.9.1 对象简述    2.9.2 时间日期:Date对象    2.9.3 数学计算:Math对象   2.10 BOM基础    2.10.1 window对象    2.10.2 document对象    2.10.3 location对象    2.10.4 navigator对象    2.10.5 screen对象  第3章 ccCSS基础   3.1 CSS的概念    3.1.1 标记的概念    3.1.2 传统HTML的缺点    3.1.3 CSS的引入    3.1.4 浏览器CSS   3.2 使用CSS控制页面    3.2.1 行内样式    3.2.2 内嵌式    3.2.3 链接式    3.2.4 导入样式   3.3 CSS选择器    3.3.1 标记选择器    3.3.2 类别选择器    3.3.3 ID选择器    3.3.4 选择器集体声明    3.3.5 选择器的嵌套    3.3.6 子选择器    3.3.7 属性选择器   3.4 CSS设置文字效果    3.4.1 CSS文字样式    3.4.2 CSS段落文字    3.4.3 首字放大   3.5 ccCSS设置图片效果    3.5.1 图片的边框    3.5.2 图文混排   3.6 CSS设置页面背景    3.6.2 背景图片    3.6.3 背景图的重复    3.6.4 背景样式综合设置   3.7 CSS设置超链接效果   3.8 CSS制作实用菜单    3.8.1 项目列表    3.8.2 无需表格的菜单  第4章 ccCSS进阶   4.1 标记与标记    4.1.1 概述    4.1.2 与的区别   4.2 盒子模型   4.3 元素的定位    4.3.1 float定位    4.3.2 position定位    4.3.3 z-index空间位置   4.4 CSS排版观念    4.4.1 将页面用div分块    4.4.2 设计各块的位置    4.4.3 用CSS定位   4.5 排版实例:我的博客    4.5.1 设计分析    4.5.2 排版构架    4.5.3 导航与Banner      4.5.4 左侧列表    4.5.5 内容部分    4.5.6 footer脚注    4.5.7 整体调整   4.6 JavaScript与CSS    4.6.1 颜色渐变的文字    4.6.2 鼠标文字跟随    …… 第2部分 JavaScript.cCSS.cDOM高级篇 第3部分 jQuery框架篇 第4部分 综合案例篇
好的,我可以为你提供一个简单的动态生成表格的案例。这个案例使用了 HTML、CSS 和 JavaScript,并使用了一个数组来模拟学生数据。 首先,我们需要一个 HTML 页面,包含一个空的表格和一个按钮,点击按钮可以动态地添加表格行。这里是一个基本的 HTML 结构: ```html <!DOCTYPE html> <html> <head> <title>动态生成表格</title> <style> table { border-collapse: collapse; width: 100%; } th, td { padding: 8px; text-align: left; border-bottom: 1px solid #ddd; } tr:hover { background-color: #f5f5f5; } button { margin-bottom: 16px; } </style> </head> <body> <button id="add-row">添加行</button> <table id="students"> <thead> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> </tr> </thead> <tbody> </tbody> </table> <script src="script.js"></script> </body> </html> ``` 在表格中,我们定义了三个列,分别是“姓名”、“年龄”和“性别”。tbody 元素是空的,我们将使用 JavaScript 动态地向其中添加表格行。注意,我们还添加了一些 CSS 样式,使表格看起来更美观。 接下来,我们需要在 JavaScript 中编写代码来生成表格行。首先,我们可以使用一个数组来模拟学生数据,例如: ```js const students = [ { name: '张三', age: 18, gender: '男' }, { name: '李四', age: 19, gender: '女' }, { name: '王五', age: 20, gender: '男' }, { name: '赵六', age: 21, gender: '女' }, ]; ``` 然后,我们可以编写一个函数,这个函数将遍历学生数组,并为每个学生创建一个表格行。这里是一个简单的实现: ```js function renderTable() { const tbody = document.querySelector('#students tbody'); tbody.innerHTML = ''; for (const student of students) { const tr = document.createElement('tr'); tr.innerHTML = ` <td>${student.name}</td> <td>${student.age}</td> <td>${student.gender}</td> `; tbody.appendChild(tr); } } ``` 这个函数首先获取表格的 tbody 元素,并清空其中的所有内容。然后,它遍历学生数组,并为每个学生创建一个新的表格行。最后,它将这些行添加到 tbody 元素中。 现在,我们只需要将这个函数与按钮的点击事件绑定起来,就可以在用户点击按钮时动态地生成表格行了。这里是一个完整的 JavaScript 代码: ```js const students = [ { name: '张三', age: 18, gender: '男' }, { name: '李四', age: 19, gender: '女' }, { name: '王五', age: 20, gender: '男' }, { name: '赵六', age: 21, gender: '女' }, ]; function renderTable() { const tbody = document.querySelector('#students tbody'); tbody.innerHTML = ''; for (const student of students) { const tr = document.createElement('tr'); tr.innerHTML = ` <td>${student.name}</td> <td>${student.age}</td> <td>${student.gender}</td> `; tbody.appendChild(tr); } } const addButton = document.querySelector('#add-row'); addButton.addEventListener('click', renderTable); ``` 现在,当用户点击“添加行”按钮时,就会生成一个包含所有学生数据的表格。当我们需要添加或修改学生数据时,只需要更新 students 数组即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值