Html基础实验
1 实验类型
验证型,2学时,必选实验
2 实验目的
掌握Html页面调试流程;学习HTML语法和常见标记;掌握如何使用HTML创建网页结构
3 实验要求
验证参考代码;修改参考代码,实现自己的设计;将关键结果截图及源代码整理成实验报告
4 实验环境
Windows7+、浏览器(推荐Microsoft Edge/Chrome/Firefox
等)、Visual Studio Code(VS Code)
5 实验步骤
创建工作目录:{盘符}:/{学号}/exp2_1
基本调试流程
创建一个Html文件并在浏览器中测试,步骤如下:
-
使用VS Code打开工作目录
-
创建源代码文件{工作目录}\HelloTest\Hello.html
-
编写HTML代码,参考代码如下:
Hello Html |
---|
| <html><!-- 开始标签 -->
<head>
<title> 一个简单的html示例 </title> <!-- 头部标签 -->
</head>
<body><!--主体文件开始 -->
<center><!--使页面居中显示 -->
<h1>欢迎光临我的主页</h1>
<br>
<hr>
<font size="7" color="red">这是我第一次做主</font>
</center>
</body><!--主体文件结束-->
</html><!--结尾标签 - ->
|
-
在浏览器中打开Hello.html
并观察页面效果
-
在浏览器中打开(快捷键F12)开发者工具在各选项卡中观察Hello.html
的不同方面并熟悉各项功能
注:最常用的几个选项卡有:Elements,Source,Network等
常见标签
编写代码,练习Html中常见标签的使用方法,步骤如下:
以Hello.html
为模板练习调试以下标签,每个练习保存一个单独的文件
html的主体标签<body>
创建页面:html_body.html
,在<body>
中放置的是页面中所有的内容,如图片、文字、表格、表单、超链接等设置,参考代码如下:
body标签 |
---|
| <html>
<head>
<title>Body标签</title>
</head>
<body text="#000000" link="#000000" alink="#000000" vlink="#000000" background="gifnam.gif" bgcolor="#000000"
leftmargin=3 topmargin=2 bgproperties="fixed">
</body>
</html>
|
颜色的设定
颜色值是一个关键字或一个RGB格式的数字。应用时常在每个 RGB 值之前加上“ # “ 符号,如:bgcolor="#336699" 用英文名字表示颜色时直接写名字。如 bgcolor=green
,RGB颜色可以有四种表达形式::
#rrggbb
(如,#00cc00
)
#rgb
(如,#0c0
)
- rgb(x,x,x) x是一个介乎0到255之间的整数 (如,rgb(0,204,0))
- rgb(y%,y%,y%) y是一个介乎0.0到100.0之间的整数 (如, rgb(0%,80%,0%)
换行标签<br>
创建页面:html_br.html
,使用<br>
标签,参考代码如下:
br标签 |
---|
| <html>
<head>
<title>无换行示例</title>
</head>
<body>
无换行标记:登鹳雀楼 白日依山尽,黄河入海流。欲穷千里目,更上一层楼。
<br>有换行标记:<br>登鹳雀楼<br>白日依山尽,<br>黄河入海流。<br>欲穷千里目,<br>更上一层楼。
</body>
|
段落标签<p>
及属性
创建页面:html_p.html
,使用<p>
标签,参考代码如下:
p标签 |
---|
| <html>
<head>
<title>测试分段控制标签</title>
</head>
<body>
<p>花儿什么也没有。它们只有凋谢在风中的轻微、凄楚而又无奈的吟怨,
就像那受到了致命伤害的秋雁,悲哀无助地发出一声声垂死的鸣叫。</p>
<p align="right">或许,这便是花儿那短暂一生最凄凉、最伤感的归宿。</p>
<p align=center>而美丽苦短的花期</p>
<p align="left">却是那最后悲伤的秋风挽歌中的瞬间插曲。</p>
</body>
</html>
|
原样显示文字标签<pre>
创建页面:html_pre.html
,使用<pre>
标签,参考代码如下:
pre标签 |
---|
| <html>
<head>
<title>原样显示文字标签</title>
</head>
<body>
<pre>
白日依山尽,黄河入海流。
欲穷千里目,更上一层楼。
</pre>
</body>
</html>
|
居中对齐标签<center>
创建页面:html_center.html
,使用<center>
标签,参考代码如下:
center标签 |
---|
| <html>
<head>
<title>居中对齐标签</title>
</head>
<body>
<center>《送孟浩然之廣陵》<p>故人西辭黃鶴樓,煙花三月下揚州。
孤帆遠影碧山盡,惟見長江天際流。</center>
</body>
</html>
|
标题文字标签<hn>
创建页面:html_hn.html
,使用<hn>
标签,参考代码如下:
hn标签 |
---|
| <html>
<head>
<title>设定各级标题</title>
</head>
<body>
<h1 align="center">一级标题。</h1>
<h2>二级标题。</h2>
<h3>三级标题。</h3>
<h4>四级标题。</h4>
<h5 align="right">五级标题。</h5>
<h6 align="left">六级标题。</h6>
</body>
</html>
|
超链接<a>
-
锚点
创建页面:html_a_a.html
,包含锚点lb及其它若干锚点,参考代码如下:
页内链接锚点 |
---|
| <html>
<head>
<title>唐诗欣赏</title>
</head>
<body>
<a name="top">
<h2>唐诗欣赏</h2>
</a>
<a name="lb"><!-- 定义锚点lb -->
<h2>李白</h2>
</a>
<a href="#t.2" target="_blank">清平調三首</a><br>
<a href="#t.1">長干行</a><br>
<a href="#t.3">月下獨酌</a>
<hr><br><br>
<h3><a name="t.2">清平調三首</a> </h3>
雲想衣裳花想容,<br>春風拂檻露華濃。<br>若非群玉山頭見,<br>會向瑤台月下逢。
<br>一枝紅艷露凝香,<br>雲雨巫山枉斷腸。<br>借問漢宮誰得似?<br>可憐飛燕倚新妝。
<br>名花傾國兩相歡,<br>常得君王帶笑看。<br>解釋春風無限恨,<br>沈香亭北倚闌干。
<h3><a name="t.1">長干行</a> </h3>
<pre>
妾髮初覆額,<br>折花門前劇。<br>郎騎竹馬來,<br>遶床弄青梅。<br>同居長干里,
<br>兩小無嫌猜。<br>十四為君婦,<br>羞顏未嘗開。<br>低頭向暗壁,<br>千喚不一回。
<br>十五始展眉,<br>願同塵與灰。<br>常存抱柱信,<br>豈上望夫臺。<br>十六君遠行,
<br>瞿塘灩澦堆。<br>五月不可觸,<br>猿鳴天上哀。<br>門前遲行跡,<br>一一生綠苔。
<br>苔深不能掃,<br>落葉秋風早。<br>八月蝴蝶來,<br>雙飛西園草。<br>感此傷妾心,
<br>坐愁紅顏老。<br>早晚下三巴,<br>預將書報家。<br>相迎不道遠,<br>直至長風沙。
</pre>
<a href="#top">唐诗欣赏</a>
<br><br>
<h3><a name="t.3">月下獨酌</a> </h3>
<pre>
花間一壺酒,<br>獨酌無相親。<br>舉杯邀明月,<br>對影成三人。<br>月既不解飲,
<br>影徒隨我身。<br>暫伴月將影,<br>行樂須及春。<br>我歌月裴回,<br>我舞影零亂。
<br>醒時同交歡,<br>醉後各分散。<br>永結無情遊,<br>相期邈雲漢。</pre>
</body>
</html>
|
创建页面:html_a_b.html
,链接页面html_a_b.html
中的lb锚点,参考代码如下:
跨页链接锚点 |
---|
| <html>
<head>
<title>李白</title>
</head>
<body>
<center><a href="html_a_a.html#lb">
<h1 align="center">
<font color="#339933">李白</font>
</h1>
</a>
<font color="#339933" size="+2">李白(701~762),<br>字太白,号青莲居士。
<br>祖籍陇西成纪(今甘肃省天水市附近的秦安县),<br>隋朝末年其先租因罪住在中亚细亚。
<br>李白的家世和出生地至今还是个谜,<br>学术界说法不一。<br>
一说李白就诞生在安西都护府所辖的碎叶城,<br>五岁时随父迁到绵州昌隆县青莲乡。<br>
<p>李白性情豪放,<br>喜爱纵横家的作风,
<br>爱好任侠之事,轻视财货。<br>早年在蜀中度过。他的父亲是个富商。
<br>李白二十五岁开始漫游全国,<br>走过湖北,江西,河南,山东等地.<br>
</p>
<p><a NAME="libai">李白蔑视权贵</a>,
<br>传说他喝醉酒,<br>曾在玄宗面前使高力士给他脱靴。<br>高力士认为这是很大的耻辱,
<br>就摘取李白诗句激怒杨贵妃。 <br>玄宗每次让李白做官,杨贵妃就加以阻止。
<br>李白知道玄宗的亲信对他有意见,<br>于是恳求还家。<br>玄宗赐给他财物,放他开.<br>
</p>
<p>李白是我国唐代伟大的浪漫主义诗人,<br>被誉为“诗仙”。
<br>他的诗豪迈瑰丽,诗里有突破现实的幻想。 <br>也有对当时民生疾苦的反映和对政治黑暗的抨击。
<br>他的散文具有清新明朗,<br>奔放流畅的特点。
</p>
</font>
</center>
</body>
</html>
|
-
外部链接
创建页面:html_a_out.html
, 链接外部网站,常见协议如下:
服 务 |
URL格式 |
描 述 |
WWW |
http://"地址" |
进入万维网站点 |
Ftp |
ftp://"" |
进入文件传输协议 |
Telnet |
telnet://"" |
启动Telnet方式 |
Gopher |
gopher://"" |
访问一个gopher服务器 |
News |
news://"" |
启动新闻讨论组 |
Email |
email://"" |
启动邮件 |
-
发送E-mail
| <a href="mailto:E-mali 地址: subject=邮件主题">描述文字</a>
|
属性 |
描 述 |
Subject |
电子邮件主题 |
Cc |
抄送收件人 |
Body |
主题内容 |
Bcc |
暗送收件人 |
-
链接FTP
| <html>
<head>
<title>链接ftp主机</title>
</head>
<body>
<p> <a href=ftp://ftp.pku.edu.cn>北京大学ftp站点</a> </p>
</body>
</html>
|
图片<img>
-
创建页面:html_img.html
,普通插入图片(使用自己电脑上图片替换链接图片),参考代码如下:
插入图片 |
---|
| <html>
<head>
<title>普通插入图片</title>
</head>
<body>
<center>
<h2>爱在深秋</h2><img src="img/chatgpt.png">
</center>
</body>
</html>
|
-
创建页面:html_img_space.html
,设定上下左右空白位置,参考代码如下:
左右空白 |
---|
| <html>
<head>
<title>设定图像与文本之间的距离</title>
</head>
<body>
<img src="img/chatgpt.png" align="left" hspace="20" vspace="20">
</body>
</html>
|
-
创建页面:html_img_align
,设定字画对其方式,参考代码如下:
对其方式 |
---|
| <html>
<head>
<title>控制图像相对于文字基准线的水平对齐方式</title>
</head>
<body>
<img src="img/chatgpt.png" align="left">
此图像相对于文字基准线为靠上对齐的多行文字<br>试想在圆月朦胧之夜,海棠是这样的妩媚而嫣润;
枝头的好鸟为什么却双栖而各梦呢?在这夜深人静的当儿,那高踞着的一只八哥儿,又为何尽撑着眼皮儿不
肯睡去呢? 他到底等什么来着?舍不得那淡淡的月儿么?舍不得那疏疏的帘儿么?不,不,不,您得到帘
下去找, 您得向帘中去找——您该找着那卷帘人了?他的情韵风怀,原是这样这样的哟!朦胧的岂独月呢;
岂独鸟呢?但是, 咫尺天涯,教我如何耐得?<br>我拚着千呼万唤;你能够出来么?
<br>这页画布局那样经济,设色那样柔活,故精采足以动人。虽是区区尺幅,而情韵之厚,已足沦肌浃髓而有余。
我看了这画。瞿然而惊:留恋之怀,不能自已。故将所感受的印象细细写出,以志这一段因缘。但我于中西的
画都是门外汉, 所说的话不免为内行所笑。——那也只好由他了。
<p>
<hr color="#00ff00"><img src="img/chatgpt.png" align="right">
此图像相对于文字基准线为靠上的多行文字对齐<br>试想在圆月朦胧之夜,海棠是这样的妩媚而嫣润;
枝头的好鸟为什么却双栖而各梦呢?在这夜深人静的当儿,那高踞着的一只八哥儿,又为何尽撑着眼皮儿
不肯睡去呢? 他到底等什么来着?舍不得那淡淡的月儿么?舍不得那疏疏的帘儿么?不,不,不,
您得到帘下去找, 您得向帘中去找——您该找着那卷帘人了?他的情韵风怀,原是这样这样的哟!
朦胧的岂独月呢; 岂独鸟呢?但是,咫尺天涯,教我如何耐得?<br>我拚着千呼万唤;你能够出
来么? <br>这页画布局那样经济,设色那样柔活,故精采足以动人。虽是区区尺幅,而情韵之厚,
已足沦肌浃髓而有余。 我看了这画。瞿然而惊:留恋之怀,不能自已。故将所感受的印象细细写出,
以志这一段因缘。 但我于中西的画都是门外汉,所说的话不免为内行所笑。——那也只好由他了。
<p>
<hr color="#00ff00"><img src="img/chatgpt.png" align="top">
此图像相对于文字基准线为顶部单行对齐
<p>
<hr color="#00ff00">
<img src="img/chatgpt.png" align=bottom>
此图像相对于文字基准线为底线单行对齐
</p>
<p>
<hr color="#00ff00">
<p><img src="img/chatgpt.png" align="middle">
此图像相对于文字基准线为置中单行对齐</p>
</body>
</html>
|
-
图片大小设定
创建页面:html_img_size.html
,设定图片大小,参考代码如下:
图片大小 |
---|
| <html>
<head>
<title>图像大小的设定</title>
</head>
<body>
<center>
<p>缩小图像
<p><img src="img/chatgpt.png" width="350" height="200">
<p>原图显示
<p><img src="img/chatgpt.png" width="400" height="236">
<p>放大图像
<p><img src="img/chatgpt.png" width="500" height="250">
</p>
</center>
</body>
</html>
|
-
图像边框的设定
创建页面:html_img_border.html
,设定图片边框,参考代码如下:
图片边框 |
---|
| <html>
<head>
<title>设定图像的边框</title>
</head>
<body>
<center>
<div align="center">
<pre><img src="img/chatgpt.png" border="10"></pre>
</div>
</body>
</html>
|
-
图像的超链接
创建页面:html_img_a.html
,设定图片的超链接,参考代码如下:
图片的超链接 |
---|
| <html>
<head>
<title>使用图像为选取的对象</title>
</head>
<body>
<p align="center"> </p>
<h1 align="center">图片的超链接</h1>
<p>
<center>
<a href="http://www.sohu.com/" target="_blank">
<img alt="搜狐网站" src="img/chatgpt.png">
</a>
<p>
<a href="http://www.baidu.com/"><img alt="百度搜索" src="img/chatgpt.png"></a>
<p>
<a href="http://www.sina.com.cn"><img alt="新浪网站" src="img/chatgpt.png"></a>
</center>
</body>
</html>
|
-
用<img>
标签插入avi文件
创建页面:html_img_avi.html
,用<img>
标签插入avi文件,参考代码如下:
插入avi |
---|
| <html>
<head>
<title>设定图像的边框</title>
</head>
<body>
<center>
<p align="center"><img dynsrc="../../imge/mmm.avi" loop="-1" start="mouseover"></p>
</center>
</body>
</html>
|
滚动<marquee>
-
滚动字幕<marquee>
属 性 |
描 述 |
align |
指定对齐方式top,middle,bottom |
scroll |
单向运动 |
slide |
如幻灯片,一格格的,效果是文字一接触左边就停止。 |
alternate |
左右往返运动 |
bgcolor |
设定文字卷动范围的背景颜色 |
loop |
设定文字卷动次数,其值可以是正整数或 infinite表示无限次 默认为无限循环 |
height |
设定字幕高度 |
width |
设定字幕宽度 |
scrollamount |
指定每次移动的速度,数值越大速度越快 |
scrolldelay |
文字每一次滚动的停顿时间,单位是毫秒。时间越短滚动越快 |
hspace |
指定字幕左右空白区域的大小 |
vspace |
指定字幕上下空白区域的大小 |
direction |
设定文字的卷动方向,left表示向左,right表示向右,up表示往上滚动 |
behavior |
指定移动方式,scroll表示滚动播出,slibe表示滚动到一方后停止, |
alternate |
表示滚动到一方后向相反方向滚动。 |
创建页面:html_marquee.html
,使用<marquee>
实现滚动字幕,参考代码如下:
滚动字幕 |
---|
| <!DOCTYPE html>
<html>
<head>
<title>Marquee</title>
</head>
<body>
<div>
<marquee bgcolor="Green" direction="left" loop="" >
<div style="height:100px;color:white;">水平文字</div>
</marquee>
<marquee bgcolor="blue" direction="up" loop="">
<div style="height:100px;color:yellow;text-align: center;">垂直文字</div>
</marquee>
</div>
</body>
</html>
|
浮动窗口<iframe>
-
一般应用
创建页面:html_iframe.html
,使用<iframe>
实现浮动窗口,参考代码如下:
浮动窗口 |
---|
| <html>
<head>
<title>浮动框架</title>
</head>
<body bgcolor="#E1FFE1">
<center>
<iframe src="html_img.html" name="aa" width="600" height="400" marginwidth="30"
marginheight="20" align="middle" allowtransparency="true"> 这是一个浮动窗口</iframe>
<p><a href="html_a_a.html" target="aa">超链接</a></p>
<p><a href="html_hn.html" target="aa">标题</a></p>
<p><a href="html_marquee.html" target="aa">滚动</a></p>
</center>
</body>
</html>
|
-
自适应窗口高度
创建页面:html_iframe_fit.html
,使用<iframe>
实现自适应窗口高度,参考代码如下:
自适应窗口高度 |
---|
| <html>
<head>
<title>浮动框架</title>
<script>
var lastHeight;
function initL() {
aaac(); lastHeight = left.document.body.scrollHeight;
setInterval(function () {
if (left.document.body.scrollHeight != lastHeight) {
aaac(); lastHeight = left.document.body.scrollHeight + 0;
}
}, 1);
}
function aaac() {
document.all('left').height = left.document.body.scrollHeight + 0;
}
</script>
</head>
<body bgcolor="#E1FFE1">
<center>
<iframe src="html_img.html" name="aa" width="600" height="400" marginwidth="30" marginheight="20" align="middle"
allowtransparency="true" onload="initL()"> 这是一个浮动窗口</iframe>
<p><a href="html_a_a.html" target="aa">超链接</a></p>
<p><a href="html_hn.html" target="aa">标题</a></p>
<p><a href="html_marquee.html" target="aa">滚动</a></p>
</center>
</body>
</html>
|
综合
表单与表格
本课程综合实验以学生选课系统为基础组织实验内容,后续实验中提到该系统中的表不再赘述,具体表结构如下:
学生表结构
字段 |
类型 |
约束 |
备注 |
no |
varchar(20) |
primary key |
学号 |
name |
varchar(20) |
not null |
姓名 |
gender |
varchar(2) |
|
性别 |
age |
int |
|
年龄 |
dept |
varchar(20) |
|
所在系 |
课程表结构
字段 |
类型 |
约束 |
备注 |
no |
varchar(20) |
primary key |
编号 |
name |
varchar(200) |
not null |
课程名 |
PreNo |
varchar(20) |
|
先修课 |
credit |
numeric(10,1) |
|
学分 |
foreign key(PreNo) references Course(No)
学生选课表结构
字段 |
类型 |
约束 |
备注 |
CourseNo |
varchar(20) |
|
课程号 |
StuNo |
varchar(20) |
|
学号 |
Grade |
numeric(10,1) |
|
成绩 |
primary key(StuNo, CourseNo),foreign key(StuNo) references Student(No),foreign key(CourseNo) references Course(No)
-
创建页面:student_form.html
,使用<form>
等标签实现学生表的表单界面(用于输入),参考代码如下:
表单界面 |
---|
| <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>学生表</title>
</head>
<body>
<h3>学生表</h3>
<div>
<form action="#">
<div>
<label for="no">学号:</label>
<input type="text" id="no" name="no" placeholder="请输入学号..">
</div>
<div>
<label for="name">姓名:</label>
<input type="text" id="name" name="name" placeholder="请输入姓名..">
</div>
<div>
<label for="gender">性别:</label>
<input type="text" id="gender" name="gender" placeholder="请输入性别..">
</div>
<div>
<label for="age">年龄:</label>
<input type="number" id="age" name="age" placeholder="请输入年龄..">
</div>
<div>
<label for="dept">所在系:</label>
<input type="text" id="dept" name="dept" placeholder="请输入所在系..">
</div>
<button type="submit">提交</button>
</form>
</div>
</body>
</html>
|
-
创建页面:student_table.html
,使用<table>
等标签实现学生表的表格界面(用于输出),参考代码如下:
表格界面 |
---|
| <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>学生表</title>
</head>
<body>
<h3>学生表</h3>
<table id="STUDENT" border="1" width="100%">
<thead>
<th>
<input type="checkbox">
</th>
<th>学号</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>所在系</th>
<th>操作</th>
</thead>
<tbody>
<tr>
<td><input type="checkbox"></td>
<td>200215121</td>
<td>李勇</td>
<td>男</td>
<td>20</td>
<td>CS</td>
<td><a href="javascript:void()">修改</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>200215122</td>
<td>刘晨</td>
<td>女</td>
<td>19</td>
<td>CS</td>
<td><a href="javascript:void()">修改</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>200215123</td>
<td>王敏</td>
<td>女</td>
<td>18</td>
<td>MA</td>
<td><a href="javascript:void()">修改</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>200515125</td>
<td>张立</td>
<td>男</td>
<td>19</td>
<td>IS</td>
<td><a href="javascript:void()">修改</a></td>
</tr>
</tbody>
</table>
</body>
</html>
|
拓展练习
-
修改实验中页面背景颜色等属性,体会标签与属性的作用
-
为课程表建立表单界面和表格界面,可参考学生表