1、HTML概述
Html就是超文本标记语言的简写,是最基础的网页语言。Html语言的特点如下:
1、 Html是通过标签来定义的语言,代码都是由标签所组成;
2、Html代码不用区分大小写;
3、Html代码由开始结束。里面由头部分和体部分两部分组成;
4、头部分是给Html页面增加一些辅助或者属性信息,它里面的内容会最先加载;
5、体部分是真正存放页面数据的地方。
演示,如下代码(注意,HTML不需要编译,只要有能解析它的程序即可打开),我们创建一个demo.html文件,如下:
<html>
<head>
<title>这是标题title>
head>
<body>
这是我的内容,<font size='7' color='red'>啊哈哈font>
body>
html>
2、HTML标签操作思想
HTML将功能封装到标签中,这样我们只需要使用标签就可以使用相应的代码。
多数标签都是有开始标签和结束标签,其中有个别标签因为只有单一功能,或者没有要修饰的内容,可以在标签内结束。
想要对被标签修饰的内容进行更丰富的操作,就用到了标签中的属性,通过对属性值的改变,增加了更多的效果选择。属性与属性值之间用“=”连接,属性值可以用双引号或单引号或者不用引号,一般都会用双引号,或公司规定书写规范。属性与属性之间用空格分开。
格式:
<标签名 属性名='属性值'>数据内容标签名>
<标签名 属性名='属性值' />
操作思想:为了操作数据,都需要对数据进行不同标签的封装,通过标签中的属性对封装的数据进行操作。标签就相当于一个容器。对容器中的数据进行操作,就是在不断的改变容器的属性值。
下面介绍一些标签
因为HTML的所有标签都要闭合,那么“/”就是闭合结束的符号下面的内容是同样的原理。
:换行
:水平线
3、HTML常用工具
我们可以使用Dreamweaver的设计视图,直接进行开发即可。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档title>
head>
<body>
<p>这是设计视图的文字p>
<p><font color="#FF0066">这是演示 的文字font>
p>
<hr />
<h1>这是一级标题h1>
c<dz>a
2<35>7
<br />
c<d z>a
body>
html>
当然我们一般都使用eclipse进行开发,如(35-29-03-14.00解析)。切换到javaee下后,我们选择创建javaEE项目——Create a Dynamic Web proiect。然后在创建的项目下的WebContent文件夹下面可以创建新的HTML项目。项目中各部分存放的内容如下:
JAVA存放目录:SRC
WEB文件目录:WebContent
WEB配置文件:web.xml
视频中所说的Aptana现在eclipse已经找不到相应版本的插件,反正只是一个编译工具而已,没必要纠结。而使用eclipse进行编程也较为麻烦,而且目前我不是很了解步骤,那么就直接使用Dreamweaver进行编程即可。
4、列表标签
关于列表标签及其相应演示如下代码,效果如下图:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>New Web Projecttitle>
head>
<body>
<h1>New Web Projecth1>
<dl>
<dt> 上层项目内容 dt>
<dd> 下层项目内容 dd>
<dd> 下层项目内容 dd>
<dd> 下层项目内容 dd>
dl>
<hr />
<ol type="a">
<li> 有序的项目列表 li>
<li> 有序的项目列表 li>
<li> 有序的项目列表 li>
<li> 有序的项目列表 li>
ol>
<ul type="square">
<li> 无序列表标签li>
<li> 无序列表标签li>
<li> 无序列表标签li>
<li> 无序列表标签li>
ul>
<hr/>
<dl>
<dt>
<ol>
<li> <font size="5">这是标题一 font> li>
ol>
dt>
<dd>
<font size="3">这是标题一下面的小标题font>
dd>
dl>
<font size="3">这是标题一下面的小标题里面的内容,哈哈哈哈哈哈哈font><br/>
<font size="3">这是标题一下面的小标题里面的内容,哈哈哈哈哈哈哈font><br/>
body>
html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>New Web Projecttitle>
head>
<body>
<h1>图像标签h1>
<img src="G:\HTML\1.jpg" height="350" width="500" border="10" alt="啊,美女!" />
body>
html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>New Web Projecttitle>
head>
<body>
<h1>表格标签h1>
<table border="1" bordercolor="#CC3300" cellpadding="10" cellspacing="0" width="500">
<caption>表格标题caption>
<tr>
<th>姓名th> <th>年龄th>
tr>
<tr>
<td>张三td> <td>39td>
tr>
table>
body>
html>
表格标签示例——不规则的表格:先数一下表格有几行,再算每一行有几个单元格。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>New Web Projecttitle>
head>
<body>
<h1>表格标签h1>
<table border="1" bordercolor="#CC3300" cellpadding="10" cellspacing="0" width="500">
<tr>
<th colspan="2">个人信息th>
tr>
<tr>
<td>张三td> <td>30td>
tr>
table>
<hr />
<table border="1" bordercolor="#CC3300" cellpadding="10" cellspacing="0" width="500">
<tbody>
<tr>
<th rowspan="2">个人信息th> <td>张三td>
tr>
<tr>
<td>30td>
tr>
tbody>
table>
body>
html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>New Web Projecttitle>
head>
<body>
<h1>超链接h1>
<a href="http://www.baidu.com"> 百度a>
<hr />
<a href="http://www.baidu.com" target="_blank"> 新百度a>
<hr />
<a href="G:\HTML\1.jpg">美女图片a>
<hr />
<a href="mailto:[email protected]">联系我们a>
<hr />
<a href="http://www.xunlei.com/movies/fczlm.rmvb">复仇者联盟a><br/>
<a href="thunder://wertyuioasdfghjklwertyuio==">复仇者联盟a>
<hr />
<a href="javascript=void(0)" onclick="alert('弹出')">这是一个超链接a>
body>
html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>New Web Projecttitle>
head>
<body>
<h1>超链接h1>
<a name="top">顶部位置a> <br />
<img src="111.jpg" height="900" width="500" border="10" />
<hr />
<a name="center">中间位置a> <br />
<img src="111.jpg" height="900" width="500" border="10" />
<hr />
<br />
<a href="#top">回到顶部位置a>
<br />
<a href="#center">回到中间位置a>
body>
html>
8、HTML框架标签
框架使得一个窗体可以显示多个资源,这样可以实现资源的复用。我们在使用Dreamweaver练习框架的时候,应该先创建一个我们想要样式的框架,然后这个框架的“设计界面可以选择你想要编辑的子框架,再装换到“代码”框就可以看到每一个子框架的代码。如果想回到父框架,可以在设计界面使用“alt”+“向上”键回到父框架的代码。
demo.html文件
html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档title>
head>
<frameset rows="30%,*">
<frame src="top.html" name="top" />
<frameset cols="30%,*">
<frame src="left.html" name="left" /> <frame src="right.html" name="right" />
frameset>
frameset>
<body>
body>
html>
---------------------------
top.html文件
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Untitled Documenttitle>
head>
<body>
<h1>这是我的网站LOGOh1>
body>
html>
--------------------
left.html文件
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Untitled Documenttitle>
head>
<body>
<H3>左边栏连接H3>
<a href="../img.html" target="right">链接一a>
<a href="../table.html" target="right">链接一a>
<a href="../link.html" target="right">链接一a>
body>
html>
---------------------
right.html文件
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Untitled Documenttitle>
head>
<body>
<h2> 内容显示区域h2>
body>
html>
8、画中画标签
相应的说明与代码示例如下
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档title>
head>
<h1>画中画标签h1>
<body>
<iframe src="http://www.xxx.com/1.js" height=0 width=0>画中画标签iframe>
body>
html>
9、表单标签
9.1、表单组件——input
表单标签是最常用的标签,用于与服务器端的交互。相应的代码如下
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档title>
head>
<body>
<form>
输入名称:<input type="text" name="user" value=""/> <br />
输入密码:<input type="password" name="password" /> <br />
选择性别:
<input type="radio" name="sex" value="man"/>男
<input type="radio" name="sex" value="woman" />女
<br />
选择性别2:
<input type="radio" name="sex2" value="man" />男
<input type="radio" name="sex2" value="woman" checked="checked"/>女
<br />
选择技术:
<input type="checkbox" name="tech" value="java"/>JAVA
<input type="checkbox" name="tech" value="HTML" />HTML
<input type="checkbox" name="tech" value="CSS" />CSS
<br />
选择文件:<input type="file" name="file" />
<br />
<input type="image" src="haha.jpg"/>
<br />
隐藏组件:<input type="hidden" name="myname" value="myvalue" />
<br />
按钮组件:<input type="button" value="按钮" onclick="alert('提示')"/>
<br />
<input type="reset" value="清除数据"/> <input type="submit" value="提交数据" />
form>
body>
html>
9.2、表单组件——select&textarea
相应的代码演示如下
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档title>
head>
<body>
<form>
<select name="country">
<option>--选择国家--option>
<option value="usa">美国option>
<option value="un">英国option>
<option value="cn" selected="selected">中国option>
select>
<br/>
<textarea name="text">textarea>
<br/>
<input type="submit" name="提交数据"/>
form>
body>
html>
9.3、表单格式化
上面的界面看起来很不好看,我们使用表格将其美化,相应代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档title>
head>
<body>
<form>
<table border="1" bordercolor="#0000ff" cellpadding=10 cellspacing=0 width=600>
<tr>
<th colspan="2">注册表单th>
tr>
<tr>
<td> 用户名称:td>
<td> <input type="text" name="user"/>td>
tr>
<tr>
<td> 输入密码:td>
<td> <input type="password" name="psw"/>td>
tr>
<tr>
<td> 确认密码:td>
<td> <input type="password" name="repsw"/>td>
tr>
<tr>
<td> 选择性别:td>
<td>
<input type="radio" name="sex" value="man" checked="checked" />男
<input type="radio" name="sex" value="woman"/>女
td>
tr>
<tr>
<td> 选择技术:td>
<td>
<input type="checkbox" name="tech" value="java"/>JAVA
<input type="checkbox" name="tech" value="HTML"/>HTML
<input type="checkbox" name="tech" value="CSS"/>CSS
td>
tr>
<tr>
<td> 选择国家:td>
<td>
<select name="country">
<option value="null">--选择国家---option>
<option value="usa">美国option>
<option value="cn">中国option>
<option value="en">英国option>
select>
td>
tr>
<tr>
<th colspan="2">
<input type="reset" name="清除数据"/>
<input type="submit" name="提交数据"/>
th>
tr>
table>
form>
body>
html>
9.4、get与post的区别
首先我们用java做一个服务端,用于接收客户端表单提交的信息。代码如下
package test.form;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class RegServer {
public static void main(String[] args) throws Exception
{
//我们创建一个用于注册的服务端
ServerSocket ss = new ServerSocket(16568);
Socket sk = ss.accept();
// 老规矩,获取输入端ip
String ip = sk.getInetAddress().getHostAddress();
System.out.println(ip + "-----connect");
// 获取输入流,接收数据并转换为字符串打印
InputStream in = sk.getInputStream();
byte[] buf = new byte[1024];
/*
需要特别注意,此处接收的时候不可以写作循环模式,因为我们的表单代码没有关闭在发送完数据后关闭发送流
这样循环结构的read阻塞式方法会一直在等待接收数据,就没办法进行下面的动作,导致无法给客户端反馈数据】
(花了2小时搞这个问题,千万注意。现在还不知道如何修改表单代码来添加关闭表单发送流的动作)
while((len = in.read(buf))!=-1)
{
System.out.println(new String(buf, 0, len));
}
*/
int len = in.read(buf);
System.out.println(new String(buf, 0, len));
// 将接收到的信息反馈给服务端
PrintWriter out = new PrintWriter(sk.getOutputStream(), true);
out.println("注册成功");
System.out.println("反馈完毕");
sk.close();
ss.close();
}
}
其次,表单的HTML代码如下
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档title>
head>
<body>
<form action="http://192.168.1.195:16568" method="post">
<table border="1" bordercolor="#0000ff" cellpadding=10 cellspacing=0 width=600>
<tr>
<th colspan="2">注册表单th>
tr>
<tr>
<td> 用户名称:td>
<td> <input type="text" name="user"/>td>
tr>
<tr>
<td> 输入密码:td>
<td> <input type="password" name="psw"/>td>
tr>
<tr>
<td> 确认密码:td>
<td> <input type="password" name="repsw"/>td>
tr>
<tr>
<td> 选择性别:td>
<td>
<input type="radio" name="sex" value="man" checked="checked" />男
<input type="radio" name="sex" value="woman"/>女
td>
tr>
<tr>
<td> 选择技术:td>
<td>
<input type="checkbox" name="tech" value="java"/>JAVA
<input type="checkbox" name="tech" value="HTML"/>HTML
<input type="checkbox" name="tech" value="CSS"/>CSS
td>
tr>
<tr>
<td> 选择国家:td>
<td>
<select name="country">
<option value="null">--选择国家---option>
<option value="usa">美国option>
<option value="cn">中国option>
<option value="en">英国option>
select>
td>
tr>
<tr>
<th colspan="2">
<input type="reset" value="清除数据"/>
<input type="submit" value="提交数据"/>
th>
tr>
table>
form>
body>
html>
10、其他标签
下面说一下html中标签里面定义的一些标签,既头标签。头标签包括:title、base、meta、link。
:指定浏览器的标题栏显示的内容。
:
href属性:指定网页中所有的超链接的目录。可以是本地目录,也可以是网络目录。注意值得结尾处一定要用“/”表示目录。只作用于相对路径的超链接文件。
target属性:指定打开超链接的方式。如_blank表示所有的超链接都用新窗口打开显示。
(如果我们有100个超链接,我们都想通过新窗口打开,那么在 里面需要设置100次,而在的 标签里面只需要设置1次就可以。)
:用于模拟http消息
name属性:网页的描述信息。当取keyworda 时,content属性的内容就作为搜索引擎的关键字进行搜索。
http-equiv 属性:模拟Http协议的响应消息头。
例:
(在标签中加上面这一句,我们界面在开启3秒之后会自动跳转到新浪)
:(这个后面我们开发CSS的时候需要使用)
rel属性:描述目标文档与当前文档的关系。
type属性;文档类型。
media:指定目标文档在哪种设备上起作用。
例:
下面再说一下其他标签,如下面代码演示
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档title>
head>
<body>
<b>这是b><i>演示i><u>其他u>的标签
X<sub>2sub> X<sup>2sup>
<marquee direction="down" behavior="alternate"/>我要飞得更高marquee>
<hr />
<pre>
public class Demo
{
public static void main(String[] args)
{
System.out.println("hello");
}
}
pre>
body>
html>
下面介绍其他的一些内容:
XHTML是可扩展的超文本标记语言(Extensible HyperText Markup Language)。
——XHTML是w3c组织在2000年的时候为了增强HTML推出的,本来是想替代HTML,但是发现Internet上用HTML写的网页太多,未遂!可以理解为它是HTML一个升级版(HTML4.01)。
——XHTML的代码结构更为严谨,是基于XML的一种应用。XML是可扩展标记语言(Extensible Markup language)
——XML是对数据信息的描述,描述数据之间的关系。HTML是数据显示的描述。XML的标签可以自定义,而HTML的标签是固定的。
——XML代码规定的更为严格,如:标签不结束被视为错误。
——XML规范可以被更多的应用程序所解释,将成为一种通用的数据交换语言。
——各个服务器,框架都将XML作为配置文件。。
11、标签的分类
现在我们做界面的布局不需要纯表格了,使用div封装区域,再使用CSS来做布局。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档title>
head>
<body>
<div>这是一个div区域div>
<div>这是一个div区域div>
<span>这是一个span区域span>
<span>这是一个span区域span>
<p>这是一个段落1p>
<p>这是一个段落2p>
<dl>
<dt>hashcauhhdt>
<dd>dshvbhfsvdd>
dl>
caaaaaaaadd
body>
html>
12、HTML标签补充
补充1:web概念概述
JavaWeb: 使用Java语言开发基于互联网的项目
软件架构:
1. C/S: Client/Server 客户端/服务器端
* 在用户本地有一个客户端程序,在远程有一个服务器端程序
* 如:QQ,迅雷...
* 优点:
1. 用户体验好
* 缺点:
1. 开发、安装,部署,维护 麻烦
2. B/S: Browser/Server 浏览器/服务器端
* 只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序
* 优点:
1. 开发、安装,部署,维护 简单
* 缺点:
1. 如果应用过大,用户的体验可能会受到影响
2. 对硬件要求过高
B/S架构详解
* 资源分类:
1. 静态资源:
* 使用静态网页开发技术发布的资源。
* 特点:
* 所有用户访问,得到的结果是一样的。
* 如:文本,图片,音频、视频, HTML,CSS,JavaScript
* 如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器。浏览器中内置了静态资源的解析引擎,可以展示静态资源
2. 动态资源:
* 使用动态网页及时发布的资源。
* 特点:
* 所有用户访问,得到的结果可能不一样。
* 如:jsp/servlet,php,asp...
* 如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器(因为浏览器只能解析静态资源)
我们要学习动态资源,必须先学习静态资源!
静态资源:
* HTML:用于搭建基础网页,展示页面的内容
* CSS:用于美化页面,布局页面
* JavaScript:控制页面的元素,让页面有一些动态的效果
补充2:概念补充
HTML,超文本标记语言,标记语言不是编程语言,编程语言是具有一定的逻辑性的,比如有if,else等,而标记语言只要我们写它就会被解析,它没有逻辑性。
补充3:语法补充
语法:
1. html文档后缀名 .html 或者 .htm
2. 标签分为
1. 围堵标签:有开始标签和结束标签。如 <html> html>
2. 自闭合标签:开始标签和结束标签在一起。如 <br/>
3. 标签可以嵌套:
需要正确嵌套,不能你中有我,我中有你
错误:<a><b>a>b>
正确:<a><b>b>a>
4. 在开始标签中可以定义属性。属性是由键值对构成,值需要用引号(单双都可)引起来
5. html的标签不区分大小写,但是建议使用小写。
补充4:标签补充
文件标签:构成html最基本的标签
* html:html文档的根标签
* head:头标签。用于指定html文档的一些属性。引入外部的资源
* title:标题标签。
* body:体标签
* :html5中定义该文档是html文档
如何使用IDEA创建HTML项目:视频6_HTML标签—8.10。创建一个module(Static Web),接下来可以直接在这个module下面创建HTML文件,不需要再创建包。
和文本有关的标签
* 注释:
* <h1> to <h6>:标题标签
* h1~h6:字体大小逐渐递减
* <p>:段落标签(缩进),<div>换行,<span>不换行
* <br>:换行标签
* <hr>:展示一条水平线
* 属性:
* color:颜色
* width:宽度
* size:高度
* align:对其方式
* center:居中
* left:左对齐
* right:右对齐
* <b>:字体加粗
* <i>:字体斜体
* <font>:字体标签
* <center>:文本居中
* 属性:
* color:颜色
* size:大小
* face:字体
属性定义:
* color:
1. 英文单词:red,green,blue
2. rgb(值1,值2,值3):值的范围:0~255 如 rgb(0,0,255) 三原色分别是:红、绿、蓝
3. #值1值2值3:值的范围:00~FF之间。如: #FF00FF (这种是现在的主要写法)
* width:
1. 数值:width='20' ,数值的单位,默认是 px(像素,与电脑屏幕相关)
2. 数值%:占比相对于父元素的比例(比如某一个元素的父元素是<body>,而<body>占据整个屏幕,那么width='20%'表示这个元素占屏幕宽度的20%)
代码示例
<html lang="en">
<head>
<meta charset="UTF-8">
<title>黑马程序员简介title>
head>
<body>
<h1>公司简介h1>
<hr color="#F334F2" />
<p>
<font color="#FF0000">“中关村黑马程序员训练营”font>是由<b><i>传智播客i>b>
联合中关村软件园、CSDN, 并委托传智播客进行教学实施的软件开发高端培训机构,
致力于服务各大软件企业,解决当前软件开发技术飞速发展, 而企业招不到优秀人才的困扰。
p>
<p>
目前,“中关村黑马程序员训练营”已成长为行业“学员质量好、课程内容深、企业满意”的移动开发高端训练基地, 并被评为中关村软件园重点扶持人才企业。
p>
<hr color="#435692" />
<font color="gray" size="2">
<center>
江苏传智播客教育科技股份有限公司<br>
版权所有Copyright © 2006-2018, All Rights Reserved 苏ICP备16007882
center>
font>
body>
html>
我们在展示图片的时候,可以将资料提供的image文件夹直接复制到当前的module之下,这样方便演示。下面是图片标签的代码示例,介绍了图片标签的路径设置问题,比较重要
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title>
head>
<body>
<img src="image/jingxuan_2.jpg" align="left" alt="古镇" width="500" height="500"/>
<img src="./image/jingxuan_2.jpg" />
<img src="../image/jingxuan_2.jpg" />
body>
html>
div和span:
* div:每一个div占满一整行。块级标签,既它会换行,同样没有任何样式
* span:文本信息在一行展示,行内标签 内联标签,既span不会换行,也没有任何效果,与CSS结合适用控制区域的样式。
语义化标签:html5中为了提高程序的可读性,提供了一些标签。这两个标签同样没有任何样式,都是为了结合CSS控制样式,方便阅读。
1. <header>:页眉
2. <footer>:页脚
演示代码如下
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表格标签title>
head>
<body>
<table border="1" width="50%" cellpadding="0" cellspacing="0" bgcolor="#faebd7" align="center">
<tr>
<th>编号th>
<th>姓名th>
<th>成绩th>
tr>
<tr>
<td>1td>
<td>小龙女td>
<td>100td>
tr>
<tr>
<td>2td>
<td>杨过td>
<td>50td>
tr>
table>
<hr>
<table border="1" width="50%" cellpadding="0" cellspacing="0" bgcolor="#faebd7" align="center">
<thead>
<caption>学生信息表caption>
<tr>
<th>编号th>
<th>姓名th>
<th>成绩th>
tr>
thead>
<tbody>
<tr bgcolor="#7fffd4" align="center">
<td>1td>
<td>小龙女td>
<td>100td>
tr>
<tr>
<td>2td>
<td>杨过td>
<td>50td>
tr>
tbody>
<tfoot>
<tr>
<td>3td>
<td>尹志平td>
<td>10td>
tr>
tfoot>
table>
<hr>
<table border="1" width="50%" cellpadding="0" cellspacing="0" bgcolor="#faebd7" align="center">
<tr>
<th rowspan="2">编号th>
<th>姓名th>
<th>成绩th>
tr>
<tr>
<td>小龙女td>
<td>100td>
tr>
<tr>
<td>2td>
<td colspan="2">杨过td>
tr>
table>
<hr>
body>
html>
首先,我们要制作的首页图如下:
思路(主要见视频分析):注意IDEA中写一个标签名——alt+/,就可以自动补全。另外,如果几个段的内容一样,要同一修改的话,先复制要修改的小部分内容,再把整个部分选中,ctrl+f,将刚刚复制的小部分内容黏贴到小框上,就可以修改(参考13-18.10解析)
1. 确定使用table来完成布局,将数据(图片与文字)封装到行的表格中(既每一行只封装到一个表格中,这样数据的排列较为好看)
2. 如果某一行只有一个单元格,则使用<tr><td>td>tr>(如果这一行只需要封装一个数据,我们就将这个数据放在这行的一个单元格即可)
3. 如果某一行有多个单元格,则使用(如果一行内封装的数据较多,一个表格之内可以再嵌套表格,为了内容显示有序,同样是将数据放到新表格的单元格内。如果我们都使用单元格表示而不使用这里的表格嵌套,到时候有的地方要合并单元格很麻烦)
<tr>
<td>
<table>table>
td>
tr>
案例代码
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title>
head>
<body>
<table width="100%" align="center">
<tr>
<td>
<img src="./image/top_banner.jpg" width="100%" alt="" />
td>
tr>
<tr>
<td>
<table width="100%" align="center">
<tr>
<td>
<img src="./image/logo.jpg" alt="" />
td>
<td>
<img src="./image/search.png" alt="" />
td>
<td>
<img src="./image/hotel_tel.png" alt="" />
td>
tr>
table>
td>
tr>
<tr>
<td>
<table width="100%" align="center">
<tr bgcolor="ffd700" align="center" height="45">
<td>
<a href="haha">首页a>
td>
<td>
门票
td>
<td>
酒店
td>
<td>
香港车票
td>
<td>
出境游
td>
<td>
港澳游
td>
<td>
国内游
td>
<td>
报团定制
td>
<td>
全球自由行
td>
<td>
收藏排行榜
td>
tr>
table>
td>
tr>
<tr>
<td>
<img src="./image/banner_3.jpg" width="100%" alt="" />
td>
tr>
<tr>
<td>
<img src="./image/icon_5.jpg" alt="" />
<font>黑马精选font> <br/>
<hr color="#ffd700">
td>
tr>
<tr>
<td>
<table width="95%" align="center">
<tr>
<td width="25%">
<img src="image/jiangxuan_1.jpg" alt="" />
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥899 font>
td>
<td>
<img src="image/jiangxuan_1.jpg" alt="" />
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥899 font>
td>
<td>
<img src="image/jiangxuan_1.jpg" alt="" />
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥899 font>
td>
<td>
<img src="image/jiangxuan_1.jpg" alt="" />
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥899 font>
td>
tr>
table>
td>
tr>
<tr>
<td>
<img src="./image/icon_6.jpg" alt="" />
<font>国内游font> <br/>
<hr color="#ffd700">
td>
tr>
<tr>
<td>
<table align="center" width="95%">
<tr>
<td rowspan="2">
<img src="image/guonei_1.jpg" />
td>
<td>
<img src="image/jiangxuan_2.jpg" alt="" height="100%">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥ 699font>
td>
<td>
<img src="image/jiangxuan_2.jpg" alt="" height="100%">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥ 699font>
td>
<td>
<img src="image/jiangxuan_2.jpg" alt="" height="100%">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥ 699font>
td>
tr>
<tr>
<td>
<img src="image/jiangxuan_2.jpg" alt="" height="100%">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥ 699font>
td>
<td>
<img src="image/jiangxuan_2.jpg" alt="" height="100%">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥ 699font>
td>
<td>
<img src="image/jiangxuan_2.jpg" alt="" height="100%">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥ 699font>
td>
tr>
table>
td>
tr>
<tr>
<td>
<img src="image/icon_7.jpg" alt="">
境外游
<hr color="#ffd700" >
td>
tr>
<tr>
<td>
<table align="center" width="95%">
<tr>
<td rowspan="2">
<img src="image/jiangwai_1.jpg" alt="">
td>
<td>
<img src="image/jiangxuan_3.jpg" alt="" height="100%">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥ 699font>
td>
<td>
<img src="image/jiangxuan_3.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥ 699font>
td>
<td>
<img src="image/jiangxuan_3.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥ 699font>
td>
tr>
<tr>
<td>
<img src="image/jiangxuan_3.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥ 699font>
td>
<td>
<img src="image/jiangxuan_3.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥ 699font>
td>
<td>
<img src="image/jiangxuan_3.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)p>
<font color="red">¥ 699font>
td>
tr>
table>
td>
tr>
<tr>
<td>
<img src="./image/footer_service.png" width="100%" alt="" />
td>
tr>
<tr>
<td align="center" width="100%" bgcolor="#ffd700">
<font color="gray" size="2">
江苏传智播客教育科技股份有限公司
版权所有Copyright 2006-2018©, All Rights Reserved 苏ICP备16007882
font>
td>
tr>
table>
body>
html>
概念:用于采集用户输入的数据的。用于和服务器进行交互。
form:用于定义表单的。可以定义一个范围,范围代表采集用户数据的范围。只有被form包裹起来的数据才会被提交,在form范围之外的数据不会被提交。表单项中的数据要想被提交:必须指定其name属性。
属性:
* action:指定提交数据的URL(既指定将表单数据提交的位置)
* method:指定提交方式
* 分类:一共7种,2种比较常用
* get:
1. 请求参数会在地址栏中显示。会封装到请求行中(HTTP协议后讲解)。
2. 请求参数大小是有限制的。
3. 不太安全。
* post:
2. 请求参数不会再地址栏中显示。会封装在请求体中(HTTP协议后讲解)
2. 请求参数的大小没有限制。
3. 较为安全。
表单的各项的性质,参考“.md”文档,前面也介绍了,不再赘述。主要包括input、select、textarea3个标签。(注意区分name属性与value属性,还有一个id属性)
* input:可以通过type属性值,改变元素展示的样式
* type属性:
* text:文本输入框,默认值
* placeholder:指定输入框的提示信息,当输入框的内容发生变化,会自动清空提示信息
* password:密码输入框
* radio:单选框(name一样,value要指定)
* 注意:
1. 要想让多个单选框实现单选的效果,则多个单选框的name属性值必须一样。
2. 一般会给每一个单选框提供value属性,指定其被选中后提交的值(这点必须注意,单选框与复选框要指定value,服务端才能知道我们发送什么值;同时指定name,表单才能提交)
3. checked属性,可以指定默认值
* checkbox:复选框
* 注意:
1. 一般会给每一个单选框提供value属性,指定其被选中后提交的值
2. checked属性,可以指定默认值
* file:文件选择框
* hidden:隐藏域,用于提交一些信息。
* 按钮:
* submit:提交按钮。可以提交表单
* button:普通按钮
* image:图片提交按钮(和submit具有相同的效果,可以提交数据)
* src属性指定图片的路径
* label:指定输入项的文字描述信息
* 注意:
* label的for属性一般会和 input 的 id属性值 对应。如果对应了,则点击label区域,会让input输入框获取焦点。(只有input才有文本区域,才能通过label获取焦点)
* select: 下拉列表(select中必须设置name,最后的值才会被提交)
* 子元素:option,指定列表项
* 注意,option中可以指定value表示这个选项最后被提交的值,将value设置为0,则这个选项不会被提交(如果不设置value则会默认提交<option>选项option>中的选项)
* textarea:文本域
* cols:指定列数,每一行有多少个字符
* rows:默认多少行。
演示代码
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单标签title>
head>
<body>
<form action="#" method="get">
<label for="username">用户名label> <input type="text" name="text" placeholder="请输入用户名" id="username" /> <br/>
<label for="password">密码label> <input type="password" name="password" placeholder="请输入密码" id="password" /> <br/>
性别:
<input type="radio" name="sex" value="male" />男
<input type="radio" name="sex" value="female" checked="checked"/>女
<br/>
爱好:
<input type="checkbox" name="hobbys" value="shopping">逛街
<input type="checkbox" name="hobbys" value="java" checked="checked">Java
<input type="checkbox" name="hobbys" value="game">游戏
<br/>
图片:<input type="file">
<br/>
隐藏域:<input type="hidden" name="id" value="hahahah"><br/>
拾色器:<input type="color" name="color"> <br/>
生日:<input type="date" name="birthday"> <br/>
生日:<input type="datetime-local" name="birthday"> <br/>
邮箱:<input type="email" name="email"><br/>
年龄:<input type="number" name="number"><br/>
<select name="province">
<option value="">-- 请选择 --option>
<option value="beijing">北京option>
<option value="guangdong">广东option>
<option value="shanghai">上海option>
select><br/>
自我描述:<textarea name="description" cols="20" rows="5">textarea><br/>
<input type="submit" name="submit" value="登录">
<input type="button" name="button" value="按钮" onclick="alert('哈哈哈哈')"><br/>
<input type="image" src="../img/regbtn.jpg">
form>
body>
html>
代码如下:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单标签title>
head>
<body>
<form action="#" method="post">
<table border="1" align="center" width="400" cellspacing="1">
<tr>
<td>
<label for="username">用户名label>
td>
<td>
<input type="text" name="text" placeholder="请输入用户名" id="username">
td>
tr>
<tr>
<td>
<label for="password">密码label>
td>
<td>
<input type="password" name="password" placeholder="请输入密码" id="password">
td>
tr>
<tr>
<td>
<label for="email">邮箱label>
td>
<td>
<input type="email" name="email" placeholder="请输入邮箱" id="email">
td>
tr>
<tr>
<td>
<label for="name">姓名label>
td>
<td>
<input type="text" name="text" placeholder="请输入真实姓名" id="name">
td>
tr>
<tr>
<td>
<label for="phone_number">用户名label>
td>
<td>
<input type="number" name="number" placeholder="请输入您的手机号" id="phone_number">
td>
tr>
<tr>
<td>
<label>性别label>
td>
<td>
<input type="radio" name="sex" value="male" checked="checked">男
<input type="radio" name="sex" value="female" checked="checked">女
td>
tr>
<tr>
<td>
<label for="birthday">出生日期label>
td>
<td>
<input type="date" name="birthday" id="birthday">
td>
tr>
<tr>
<td>
<label for="checkcode">验证码label>
td>
<td>
<input type="checkcode" name="checkcode" id="checkcode">
<img src="../img/verify_code.jpg">
td>
tr>
<tr align="center">
<td colspan="2">
<input type="submit" value="注册">
td>
tr>
table>
form>
body>
html>