HTML学习笔记

一、C/S架构与B/S架构

对于一个软件系统,用户是通过用户界面来完成与软件系统的交互的(用户是通过用户界面来使用软件系统的),根据软件不同的架构模式,软件系统界面设计的实现技术是不同的:

  • C/S架构

  • B/S架构

1.1 C/S架构

C/S Client-Server 基于客户端和服务器的架构模式

1.2 B/S架构

B/S Browser-Server 基于浏览器和服务器的架构模式

1.3 不同架构的前端技术栈

1.3.1 C/S

Java语言可以进行C/S架构开发,JDK提供的AWT(abstract window toolkit)可以进行窗体开发

  • awt

  • swing

1.3.2 B/S

Java语言主要应用于web系统的开发,web系统就是基于B/S架构,其系统界面都是通过网页实现的

  • HTML 超文本标记语言 网页的结构

  • CSS 层叠样式表 网页的样式

  • JavaScript 网页脚本语言 网页的行为

1.3.3 移动应用

Java语言还可以用于进行Android和HarmonyOS应用开发

  • AndroidUI xml及组件

  • HarmonyOSUI xml及组件

二、HTML简介

2.1 什么是网页?

网页 —— 可以在网络中传输、通过浏览器解析并显示视图的页面

问题:一个文件通过网络传递给浏览器之后,浏览器是如何显示视图的呢?

  • 存储在服务器上的页面文件中编写的是浏览器可以识别的代码

  • 当浏览器请求服务器时,服务器将这个写有浏览器可以识别的代码的页面文件通过网络传递给浏览器

  • 浏览器接收到文件后,不会将代码显示出来,而是对代码进行解析,显示出对应的视图

网页设计:就是在网页文件中编写HTML代码(标签),通过浏览器可以显示特定的用户界面

2.2 HTML是什么?

HTML (Hyper Text Markup Language)超文本标记语言。以特定的标签在浏览器中呈现不同的视图

标记(标签):就是由<>和特定的单词组成的符号,可以被浏览器识别并显示对应的视图

超文本:使用文本标签显示图片、视频、声音等非文本数据

2.3 HTML书写规范

HTML标签需要写在一个网页文件中,网页文件的规则:

  • 网页文件是一个后缀名为.html或者.htm的文件

  • 网页文件有一个基本结构:

    • 在网页文件第一行通过<!DOCTYPE html>声明当前文档遵循的HTML规范

    • 在HTML规范声明之后,必须有一对根标签<html></html>(根标签:当前网页中其他的标签都在根标签的里面)

    • 在根标签中,有两对子标签<head></head><body></body>

      • head标签:用于定义当前网页文档的标题、字符集等属性信息

      • body标签:用于定义当前网页显示的主体内容

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8"/>
            <title>我的第一个网页</title>
        </head>
        <body bgcolor="red">
             <input type="password"/>
        </body>
    </html>
  • 标签:

    • 双标签(围堵标签) <tag></tag>

    • 单标签 <tag/>

  • 标签属性:在双标签前一个标签中、单标签的标签名后可以添加键值对,用于设置当前标签的特性

  • HTML标签是不区分大小写的,为了便于可读,建议统一写成小写

HTML版本规范

前端规范--- w3c

HTML4

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

XHTML 提出了基于HTML4更多的语法规则,让HTML编写规范更严谨

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

HTML5

<!DOCTYPE html>

2.4 前端开发工具

为了便于前端开发,有很多的前端开发工具,可以为我们进行网页设计提供代码自动补全、代码错误提示、项目文件管理等功能,常见的工具:

  • webStorm

  • vsCode

  • subline

  • HBuilder --HBuilderX

HBuilderX的使用

  • 下载:www.dcloud.io

  • 解压:解压到存放软件的目录(免安装)

  • 运行:

  • 首次运行,需要对HBuilderX进行用户使用习惯设置(主题)

  • 第一次关闭HBuilderX的时候,会提示创建桌面快捷方式

  • 创建web项目

  • 创建网页文件:选择项目---右键---新建---HTML文件

    创建的HTML文件默认会给出规范的网页文件结构

  • 运行网页文件:

三、HTML常用标签

网页就是使用HTML标签构成的文档,在浏览器显示视图页面。HTML什么样的标签表示什么样的是呢?

网页界面:显示数据、输入数据

  • 为用户提供一个界面,显示用户想要看到的数据(文本、图片、声音、视频)

  • 为用户提供一个界面,可以输入数据(发表博客:输入文本、选择图片、点击按钮)

如何使用HTML标签在网页中显示数据和提供输入视图呢?

根据HTML标签的作用,我们将HTML标签分为以下:

  • 显示标签:就是将图片、文本、声音、视频通过网页呈现给用户

  • 表单标签:就是给用户提供输入框、按钮、单选按钮、复选框、文本域等视图供其输入数据

  • 布局标签:对网页中的内容进行布局/排版

  • 功能标签:能够提供特定用户功能的标签

  • 框架标签:搭建页面框架(输入布局标签)

3.1 显示标签

将文本、图片、声音和视频显示到网页

3.1.1 文本
<!--显示文本-->
<!-- font标签:color属性设置颜色,fase属性设置字体,size属性设置大小 -->
<font color="red" face="华文行楷" size="7">千锋教育</font>
<font color="blue" face="微软雅黑" size="4">Java涛哥</font>
​
<!-- H5不推荐使用font标签,显示文本推荐使用label标签 -->
<!-- label标签没有字体属性,但是可以通过style属性值设置字体颜色、大小、样式 -->
<label style="color:green;font-size:100px;font-family:楷体">网页设计</label>
3.1.2 图片
<!-- 显示图片 ---  img标签:
    src属性用于指定显示的图片的路径,可以是网络图片路径,也可以本地图片路径
        (本地图片:先在项目中创建一个存放图片的目录imgs,再将要显示的图片拷贝进来 )
    width、hegiht属性,设置图片的宽度、高度 ,如果两个属性同时设置可能会改变图片的比例
        可以只设置其中一个属性,另一个属性会等比缩放
    alt属性,用于指定图片无法加载时的替换文本
-->
<img src="http://www.qfedu.com/images/new_logo.png"/>
<img src="imgs/logo.jpg" height="200" alt="千锋LOGO"/>
3.1.3 声音和视频
<!--audio标签 调用浏览器内置的音频播放器(默认是隐藏的)
    src属性指定音频的路径(网络路径、本地路径)
    controls属性表示显示播放器(此属性不需要属性值)
    autoplay属性表示音乐自动播放(考虑浏览器兼容性)
-->
<audio src="meida/麻雀.mp3" controls autoplay></audio>
​
<!--video标签 调用浏览器内置的视频播放器(默认是隐藏的)
    src属性指定视频的路径(网络路径、本地路径)
    controls属性表示显示播放器的控制条(此属性不需要属性值)
    autoplay属性表示视频自动播放(考虑浏览器兼容性)
    width、height属性设置视频播放器的尺寸
-->
<video src="meida/Java学科宣传片.mp4" controls autoplay width="400"></video>

3.2 表单标签

用户提供输入视图供其输入数据:

3.2.1 input标签

input标签可以用来显示多种表单输入视图效果,input标签有一个type属性,不同的属性表示不同的视图

- 文本输入框:<input type="text"/><br/>
- 密码输入框:<input type="password"/><br/>
- 单选按钮:<input type="radio"/><br/>
- 复选框:<input type="checkbox"/><br/>
- 文件选择框:<input type="file"/><br/>
​
<!-- 普通按钮默认是没有文本的,通过value属性指定按钮文本 -->
-普通按钮:<input type="button" value="点我呀!"/><br/>
-重置按钮:<input type="reset"/><br/>
-提交按钮:<input type="submit"/><br/>
<!-- 图片按钮从功能讲和提交按钮一致,需要通过src属性指定按钮图片 -->
-图片按钮:<input type="image" src="imgs/btn.bmp"/><br/>
​
<!-- 以下input的type是HTML5新增的 ,要考虑浏览器的兼容性(浏览器是否支持)-->
<!-- type=number ,表示次输入框只能输入数字,min设置最小值,max设置最大值-->
- 数字输入框:<input type="number" min="10" max="20"/><br/>
- 日期输入框:<input type="date"/><br/>
- 颜色选择框:<input type="color"/><br/>
- 邮箱输入框:<input type="email"/><br/>
- 电话输入框:<input type="tel"/><br/>
- 搜索输入框:<input type="search"/><br/>

单选按钮和复选框:

<hr/>
<!-- 单选按钮使用注意事项:
1.如果多个单选按钮是同一个主题的选项,则需要提供name属性,且那么属性值必须相同(排他性)
2.单选按钮必须提供value属性,value属性值会在当前单选按钮被选中时提交
3.单选按钮可以通过添加checked属性使其默认被选中,如果有多个单选按钮添加checked属性,则选中最后一个
-->
性别:<input type="radio" name="gender" value="M" checked/>男   
<input type="radio" name="gender" value="F"/>女
<input type="radio" name="gender" value="N" />不详
<hr/>
<!-- 复选框注意事项(与单选按钮一致) -->
爱好:<input type="checkbox" name="hobby" value="篮球" checked/>篮球
<input type="checkbox" name="hobby" value="足球"/>足球
<input type="checkbox" name="hobby" value="羽毛球" checked/>羽毛球
<input type="checkbox" name="hobby" value="溜溜球"/>溜溜球
3.2.2 select标签

下拉菜单(省、市、区选择)

<!-- 
select标签表示下拉菜单的容器
1.添加multiple属性,设置此下拉菜单多选(ctrl)
2.size属性,设置下拉列表中可见选项的数量
​
option子标签表示下拉菜单的选项
1.option标签中的标签文本用于指定选项显示的文字
2.option标签需要提供value属性,当选择此菜单式提交到后台
-->
<select multiple size="3">
    <option value="BeiJing">北京</option>
    <option value="ShangHai">上海</option>
    <option value="GuangZhou">广州</option>
    <option value="ShenZhen">深圳</option>
    <option value="WuHan">武汉</option>
</select>
3.2.3 textarea标签

文本域、多行文本框

<!-- 多行输入框 textarea标签:
1、rows属性用于指定多行文本框显示的行数
2、cols属性用于设置多行文本输入框每行显示的字符个数(考虑浏览器兼容性)
3、输入框(文本输入框、密码输入框)是通过value属性来设置默认值的,textarea通过标签文本设置默认值
-->
<textarea rows="5" cols="30">这是文本域的默认值</textarea>
3.2.4 表单标签共有属性

对于表单标签,他们有一些共有属性

  • id属性,不仅是表单标签共有的属性,几乎所有的HTML标签都可以有这个属性,它表示此标签在当前网页文件中的唯一表示,便于我们定位标签进行操作;在一个网页中标签的ID属性值要保持唯一性。

  • name属性,用于将数据提交(同步提交)到后端时,在后端接收数据。

  • required属性,设置此输入框必须输入数据,否则不能提交。

    <form>
        <input type="text" required="required"/>
        <input type="submit" />
    </form>
  • placeholder属性,用于设置输入框空值提示信息。

  • readonly属性,表示设置此输入框,只能显示数据,不能点击输入。

  • disabled属性,设置输入组件禁用(输入框不能输入、按钮不能点击、下拉菜单不能选择)。

  • value属性,表示当前输入框的值、下拉菜单选中的选项的值。

3.2.5 form标签

form标签,在页面中没有显示效果,它用于将用户在输入视图中输入的数据提交到后台

<!-- form标签:用于提交数据的表单 
作用:当点击form标签中的提交按钮时,可以将form标签中输入视图中的数据提交到action属性指定的url
注意:1.提交form表单的按钮必须是提交按钮(type=submit,type=image)
     2.form表单中的输入标签需要提供name属性,否则输入标签中的值不会被提交
     3.form标签的method属性,指定表单提交数据的方式(get显式提交  post隐藏提交;其他区别暂不关注)
       method属性默认值是get,也就是说如果不写method属性,则get方式提交
     4.enctype属性,用于设置表单提交时数据的编码方式
重置按钮:
    必须在form表单中使用,用于重置表单中输入框的值(让输入框的值回到默认状态 ≠ 清空)
提交按钮:
    必须用在form表单中,用于提交表单 
-->
<form action="https://www.baidu.com" method="post" enctype="">
    <input type="text" placeholder="请输入帐号" name="userName" value="123"/><br/>
    <input type="password" placeholder="请输入密码" name="userPwd"/><br/>
    <input type="reset" /><br/>
    <input type="submit" value="登录"/>
</form>

在HTML5规范中,提交按钮也可以写在form外面,但是要通过form属性指定表单id

<form id="form1">
    <input type="text" placeholder="请输入帐号" name="userName" value="123"/><br/>
    <input type="password" placeholder="请输入密码" name="userPwd"/><br/>
    <input type="reset" /><br/>
</form>
<!--对于同一个form,可以使用不同的提交按钮,提交到不同的URL-->
<input type="submit" value="登录1" form="form1" formaction="https://www.baidu.com" formmethod="get"/><br/>
<input type="submit" value="登录2" form="form1" formaction="http://www.qfedu.com" formmethod="post"/><br/>

3.3 布局标签

用于对网页中的视图组件进行排版

3.3.1 标题

h标签提供了默认的标题样式,HTML中提供了 h1~h6 用于表示6级标题

<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>
3.3.2 段落

p标签: HTML可以将文档分割成多个段落

hr标签: 水平分割线

br标签:换行

<hr/>
<p>
    枫桥夜泊<br/>
    张继<br/>
    月落乌啼霜满天,<br/>
    江枫渔火对愁眠;<br/>
    姑苏城外寒山寺,<br/>
    夜半钟声到客船。<br/>
</p>
<p>
    静夜思<br/>
    李白<br/>
    床前明月光,<br/>
    疑是地上霜;<br/>
    举头望明月,<br/>
    低头思故乡。<br/>
</p>
3.3.3 列表

将相关联的多行文本以列表的形式进行展示

1.有序列表

水龙头接水的步骤:
<!-- ol标签表示有序列表,li子标签表示列表项 -->
<!-- type属性用于指定序号的类型  1  A  a I i-->
<ol type="i">
    <li>放置水桶</li>
    <li>打开水龙头</li>
    <li>等待放水</li>
    <li>关闭水龙头</li>
    <li>提走水桶</li>
</ol>

2.无序列表

水果列表
<!-- ul标签表示无序列表,li子标签表示列表项 -->
<!-- type属性用于指定图标的类型  disc实心圆 circle空心圆  square方形实心  -->
<ul type="square">
    <li>苹果</li>
    <li>菠萝</li>
    <li>西瓜</li>
    <li>火龙果</li>
    <li>香蕉</li>
</ul>

3.自定义列表

自定义列表
<dl>
    <dt>分组1</dt>
    <dd>1-1</dd>
    <dd>1-2</dd>
    <dt>分组2</dt>
    <dd>2-1</dd>
    <dd>2-2</dd>
</dl>
3.3.4 表格

在网页中显示一个表格,通过将页面的HTML元素存放在表格的不同单元格,以达到设置元素布局的效果

<!-- table标签:用于在网页中定义一个表格 ,表格是由若干行组成,行被分割成多个单元格-->
<!-- 
表格(table):table中的属性设置的是整个表格的属性
    border属性:设置表格的边框宽度(同时设置表格外边框,以及每个单元格的边框)
    cellspacing属性:设置单元格空隙
    cellpadding属性:设置当前表格中单元格的内边距
    width、height属性:设置当前表格的宽度、高度
    align属性:设置当前表格在网页中的水平位置(left|center|right)
    bgcolor属性:设置表格的背景颜色
    background属性:设置当前表格的背景图片
​
行(tr):用在table标签里面,一对tr标签就表示表格中的一行 ,tr的属性设置影响当前行
    height属性:设置当前行的高度,如果不设置行高,则平均分配
    bgcolor属性:设置当前行的背景颜色
​
单元格(td):写在tr标签,一对td标签就表示当前行中的一个单元格 ,每一行的对应列都会自动对齐
    width属性:设置当前单元格的宽度,设置某一行的单元格宽度,其他行对应单元格宽度同步修改
    bgcolor属性:设置当前单元格的背景颜色
    valign属性:设置当前单元格中的内容在当前单元格中的垂直位置(middle、top、bottom)
    align属性:设置当前单元格中的内容在当前单元格中的水平位置(left、center、right)
    colspan属性:横向合并单元格(设置当前单元格占用几个单元格的宽度)
    rowspan属性:纵向合并单元格(设置当前单元格占用几行的高度)
-->
<table border="1" cellspacing="0" cellpadding="0" width="300" height="300" align="center" bgcolor="orange">
    <tr height="50" bgcolor="aqua">
        <td colspan="2">1-1</td>
        <td width="50" rowspan="2">1-3</td>
    </tr>
    <tr>
        <td width="50" rowspan="2">2-1</td>
        <td valign="bottom" align="right">2-2</td>
    </tr>
    <tr height="50">
        <td colspan="2">3-2</td>
    </tr>
</table>
3.3.5 div层

区块元素(标签),在浏览器中进行显示的时候,通常会有换行 (例如:段落p、表格table...)

内联元素(标签),在浏览器中进行显示的时候,不会进行换行(例如:label img)

<!-- div标签:层,一个HTML标签的容器 
1.如果不设置宽度,则默认宽度为父容器的宽度(如下:body就是div的父容器)
2.如果不设置高度,则DIV的高度默认与其中存放的元素高度相同
3.div中可以包含HTML标签,我通过对DIV标签的设置可以实现HTML标签的层叠
-->
<!-- <img src="imgs/img01.png" height="100"/>
<img src="imgs/img02.png" height="100"/>
<img src="imgs/img03.png" height="100"/> -->
​
<div style=" width: 83px; height: 100px; border: 1px solid red; position: absolute; left: 0px; top:0px">
    <img src="imgs/img01.png" height="100"/>
</div>
​
<div style=" width: 83px; height: 100px; border: 1px solid green; position: absolute; left: 50px; top:50px">
    <img src="imgs/img02.png"  height="100"/>
</div>
​
<div style=" width: 83px; height: 100px; border: 1px solid blue; position: absolute;left: 100px; top: 100px;">
    <img src="imgs/img03.png"  height="100"/>
</div>
3.3.6 fieldset字段集
<!-- fieldset标签:网页中的模块,也是一个容器,默认带有边框,有内边距 -->
<!-- legend子标签:用于设置当前模块区域的标题 -->
<fieldset style="width: 300px; height: 100px;">
    <legend>🏀管理员登录</legend>
    <p>帐号:<input type="text"/></p>
    <p>密码:<input type="password"/></p>
</fieldset>

3.4 功能标签

功能标签,在网页中没有对应的视图效果,但是可以实现特定的功能

  • form表单,用于提交用户输入数据的

  • a超链接

3.4.1 form表单

参考3.2.5

3.4.2 a 标签

超链接 激活文本可点击,当点击这个特定的文本之后,链接到对应的地址

<!-- a标签(超链接):激活文本/图片连接
href 属性指定当前文本/图片链接的地址-->
学Java开发就来<a href="http://www.qfedu.com">千锋教育</a> <br/>
<a href="https://www.baidu.com/s?wd=张韶涵"><img src="imgs/img01.png" height="50"/></a>

锚点 用于当前页面不同位置的跳转

<hr/>
<a href="#aaa">div1</a><!-- 跳转到锚点 -->
<a href="#bbb">div2</a>
<a href="#ccc">div3</a>
<a href="#ddd">div4</a>
<hr/>
​
<a id="aaa"></a><!-- 定义锚点 -->
<div style="height: 1000px; background-color: aquamarine;">div1</div>
​
<a id="bbb"></a><!-- 定义锚点 -->
<div style="height: 1000px; background-color: lawngreen;">div2</div>
​
<a id="ccc"></a><!-- 定义锚点 -->
<div style="height: 1000px; background-color: palevioletred;">div3</div>
​
<a id="ddd"></a><!-- 定义锚点 -->
<div style="height: 1000px; background-color: peru;">div4</div>

3.5 框架标签-iframe

框架标签,实现页面的模块化

  • frameset frame 不建议使用

  • iframe

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        
        <table width="100%" height="880" cellpadding="0" cellspacing="0" >
            <tr height="80" bgcolor="lightblue">
                <td align="center">
                    <label style="font-size: 40px;">QQMail</label>
                </td>
                <td align="right" valign="top">
                    二狗,欢迎你![<a href="#">退出</a>]
                </td>
            </tr>
            <tr>
                <td width="200" bgcolor="lightgray" valign="top">
                    <ul>
                        <li><a href="page02-表单标签.html" target="mainFrame">新邮件</a></li>
                        <li><a href="https://www.taobao.com"  target="mainFrame">淘宝</a></li>
                        <li><a href="http://www.qfedu.com"  target="mainFrame">千锋</a></li>
                    </ul>
                </td>
                <td>
            <!-- iframe标签,表示一个页面的容器,通过name属性可以设置点击超链接以后,将页面显示到当前容器
                        1.给iframe标签设置name属性
                        2.给超链接a标签设置target等于iframe的name属性值
                     -->
                <iframe name="mainFrame" width="100%" height="800" frameborder="0"></iframe>
                </td>
            </tr>
        </table>
        
    </body>
</html>

3.6 其他标签

3.6.1 文本修饰
<b>粗体</b>
<i>斜体</i>
<u>下划线</u>
<del>删除线</del>
​
<strong>加重语气</strong>
<em>强调</em>
​
<small>小号文本</small>
​
10<sup>上标</sup>
4<sub>下标</sub>
3.6.2 计算机输出相关
<!-- 计算机输出标签,除了字体有所改变之外,更多的是语义上的设定 -->
<code>System.out.println("计算机代码!");</code>
<kbd>Ctrl+L</kbd>
<var>程序变量</var>
<pre>预定义</pre>
3.6.3 引用标签
<address>湖北省武汉市江夏区</address>
跟着涛哥一起学习<abbr title="Java DataBase Conectivity">JDBC</abbr>技术
<bdo dir="rtl">定义文字方向</bdo>
毛泽东同志说:<blockquote>生的伟大,死的光荣!</blockquote>

四、HTML页面设计案例

案例:使用HTML标签,完成华为商城的登录页面的设计

4.1 模仿页面分析

4.2 按照分析进行网页设计

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>华为商城欢迎您</title>
    </head>
    <body>
        
        <table border="0" cellspacing="0" cellpadding="0" width="100%" height="960">
            <tr height="40" bgcolor="#eeeeee">
                <td width="355"</td>
                <td>
                    <img src="imgs/logo.jpg" height="30"/>|千锋商城
                </td>
                <td></td>
                <td width="355"></td>
            </tr>
            <tr height="150">
                <td></td>
                <td colspan="2" align="center">
                    <label style="font-size: 30px;">华为帐号登录</label>
                </td>
                <td></td>
            </tr>
            <tr>
                <td></td>
                <td align="center" width="30%">
                    <img src="imgs/qrcode.png" width="200" height="200" />
                    <br/>
                    <br/>
                    <br/>
                    <label style="font-size: 10px; color: lightgray;">若您使用华为手机,请进入“设置”>“华为帐号”扫码登录。</label>
                </td>
                <td width="30%">
                    <table  height="320" width="400">
                        <tr>
                            <td align="center"><input type="text" placeholder="手机号/邮箱地址/账号名"/></td>
                        </tr>
                        <tr>
                            <td align="center">
                                <input type="password" placeholder="密码"/>
                                <br/>
                                <a href="#">短信验证码登录</a>
                            </td>
                        </tr>
                        <tr>
                            <td align="center"><input type="submit" value="登录"/></td>
                        </tr>
                        <tr>
                            <td  align="center">
                                <a href="#">注册</a>
                                <a href="#">忘记密码</a>
                                <a href="#">遇到问题</a>
                            </td>
                        </tr>
                        <tr>
                            <td  align="center">
                                <img src="imgs/qq.png" />
                                <img src="imgs/zfb.png" />
                                <img src="imgs/wx.png" />
                            </td>
                        </tr>
                    </table>
                </td>
                <td></td>
            </tr>
            <tr height="150">
                <td></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
            <tr height="100"  bgcolor="#eeeeee">
                <td></td>
                <td colspan="2" align="center" valign="middle">
                    <a href="#">华为帐号用户协议</a> | <a href="#">关于华为帐号与隐私的声明</a> | <a href="#">常见问题</a> | <a href="#">Cookies</a>
                    <br/>
                    华为帐号 版权所有 © 2011-2021
                </td>
                <td></td>
            </tr>
        </table>
        
    </body>
</html>
案例运行效果图
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
HTML + JavaScript + Ajax + CSS 赵旭 zhaoxu@tedu.cn HTML5 1、WEB基础知识(了解) 1、Internet - 网 由若干台电脑、手机、平板 通过 网线(WIFI) 连接起来的结构 2、基于Internet上的程序 1、C / S 结构 Client / Server 特点:必须通过指定的客户端软件才能访问服务器端的一种程序 :如 :桌面版QQ,... ... 2、B / S 结构 Browser / Server Browser :浏览器 特点:通过 浏览器 就能访问服务器端的一种程序 如 :网页版百度,网页版 QQ,网页版 京东,... ... 3、WEB 1、什么是WEB WEB,是基于Internet上的一种应用程序(网页应用程序) WEB页面,简称WEB页(网页),就是保存在服务器端上的一个具体的页面( **.html / **.htm 作为结尾的文件) 2、WEB浏览器 1、功能 1、提交用户请求 (UA : User Agent) 2、作为HTML 以及 脚本执行的 解释器 3、以图形化的方式显示web页面 2、主要浏览器产品 1、Microsoft Internet Explorer (IE) 2、Mozilla Firefox 3、Google Chrome 4、Apple Safari 5、Opera Opera(欧朋) 3、主要技术 1、HTML 2、CSS 3、Javascript 2、HTML入门(重点) 1、什么是HTML Hyper Text Markup Language 超级 文本 标记 语言 超文本 :也是文本,但会具备特殊功能 普通文本 a : 普通字符 a 超文本 a : 表示超链接 普通文本 b : 普通字符 b 超文本 b : 加粗显示文本 标记 :超文本的表现形式 普通文本 a : a 超文本 a : 语言 :具备一定的语法规范 HTML 也具备自己的语法规范 WEB页面(HTML页面)就是由 HTML 语言来进行开发的 ,以 .html 或 .htm 进行结尾的文件 开发 & 运行网页的工具: 1、记事本 2、浏览器 2、HTML 的基础语法 1、标记语法 HTML中用于描述功能的符号称为"标记" 标记在使用时,用尖括号 "",标记的分类 1、封闭类型的标记 也称为 "双标记" , 必须成对出现 语法:内容 Demo : 1、创建 p 标记 --... 2、创建 div 标记 -- 3、创建 header 标记 -- <header></header> 2、非封闭类型的标记 也称为 "单标记" 语法: 或 Demo : 1、创建 br 标记 -- 2、创建 hr 标记 -- 3、创建 img 标记 -- 4、创建 input 标记 -- <input/> 2、标记(元素)的嵌套 在一对标记中,允许出现另外一对(一个)标记 注意:嵌套标记的书写格式 -- 被嵌套的标记要通过一个 缩进键(Tab) 来表示层级关系 Demo : 1、编写一对 body 标记,在body标记中,嵌套一对 div标记,在 div 标记中 ,嵌套一对 a 标记,在 a标记中,嵌套一对 b 标记,b标记中,随意编写一些文本 <body> 这是一段测试文本 </body> 3、标记的属性 1、什么是属性 用来修饰标记的效果的内容,就是属性 2、语法 1、属性必须声明在开始标记中 2、属性与标记名称之间,用 空格 隔开 3、属性的值 与 属性之间 使用 "=" 连接 4、一个元素允许有多属性,多属性间,排名不分先后,中间用 空格 隔开即可 Demo : 1、创建一个 div 标记 ,增加属性 ,设置 align 属性的值为 center ,设置 id 属性的值为 container,设置 title 属性的值为 这是一个div 四大标准属性: 1、id :定义元素在页面中独一无二的名称 2、title :鼠标悬停在元素上时,体现的文字 3、class :引用 类选择器时使用(CSS中) 4、style :定义 内联方式方式使用(CSS中) 4、注释 语法:<!-- --> 注意: 1、注释不能嵌套 2、注释不能出现在标记中 3、HTML 文档结构 W3C :Word Wide Web Consortium (万维网联盟) 1、HTML文档的组成 1、文档类型声明 告知浏览器当前的HTML文档用的是哪个版本 在网页的最顶端 2、由一对 html 根标记,来表示页面的开始与结束 Demo : 1、在 htdoc 中,创建一个网页 01-first.html 文件 创建一个 记事本,将 .txt 重命名为 .html 2、搭建HTML网页结构 1、添加 文档类型声明 2、添加 html 根标记 2、<html> 标记 包含两对子元素 1、<head></head> 包含的子元素(2对) 1、<title>网页的标题</title> 2、<meta charset="utf-8"/> -- 能正常显示中文 2、<body></body> 属性: 1、text ,取值是一个颜色值(red,green,blue...) 2、bgcolor ,取值也是一个颜色值 Demo : 在刚才的 Demo 基础上 1、在 <html>中 增加 <head> 和 <body> 2、为网页指定标题 - 我的第一个HTML文档 3、指定网页的字符编码格式为 utf-8 4、在 body 中 输出一句话 "我的第一HTML页面" 5、设置 body text为red,bgcolor为yellow 3、文本 1、特殊文本的实现 页面的空格以及一些特殊字符需要通过转义字符的方式体现 1、  表示一个空格 2、< 表示 4、© 表示© Demo : 1、创建一个页面 02-text.html 2、在页面中 输出以下内容 The element. ©2017 By Tarena The <p> element.     © By Tarena 2、文本样式相关标记 : 加粗 : 斜体 : 下划线 : 删除线 : 上标 : 下标 Demo : 这是一段包含 ,粗体,斜体,下划线,删除线,上标,下标的文本内容 将以上文本内,对应文字的特殊效果,用标记体现出来 3、标题元素 以 醒目 的方式表现出文本 语法: 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 属性: 1、align 文本的水平对齐方式 取值:left / center / right 4、段落元素 语法: 属性:align : left / center / right Demo : 1、在 02-text.html 中,增加以下内容 1、用 段落标记表示 :The first paragraph 2、用 段落标记表示 :The second paragraph ,文本表现为 右对齐 5、换行元素 6、分割线元素 作用:在页面中表现为一条直线 语法: 属性: 1、size 尺寸,以 px 为单位的数值 2、width 宽度,以 px 或 % 为单位的数值 3、align 水平对其方式 4、color 颜色 Demo : 02-text.html 中 增加一根水平线,size为5px,宽度为50%,居中对齐,颜色为红色(red) 7、预格式化 作用:保留源文档中的回车 和 空格 的作用 8、分区元素 1、块分区元素 语法: 作用:布局 2、行内分区元素 语法: 作用:设置同一行文字内的不同样式 9、行内元素 与 块级元素 按照元素们的表现形式来分类,分为 行内元素 和 块级元素1、行内元素 在一行内允许显示多个元素的,称为 "行内元素" span,i,b,s,u,sup,sub 作用:包裹文本,并处理文本的表现形式 2、块级元素 每个元素独占一行显示的,称为 "块级元素" div,p,h1,h2,h3,h4,h5,h6 作用:布局 注意: 1、p标记不能嵌套其它的块级元素 2、行内元素中 最好 不要嵌套块级元素 4、图像 和 链接 1、URL 目录结构 : 目录 ,保存文件的文件夹名称 多个文件夹之间的关系,就是目录结构 1、什么是 URL URL (Uniform Resource Locator),统一资源定位器。用来标识某资源文件的位置 2、URL 在 WEB 中的表现形式 共三种表现形式: 1、绝对路径 特点:从文件所在的最高级目录处开始查找资源文件所经过的路径,就是绝对路径 使用场合:当想访问互联网上的资源时,只能用绝对路径 完整的绝对路径分四部分: 1、协议名 http 2、域名(主机名,IP地址) www.codeboy.com 3、目录路径 img/header 4、文件名 logo.png http://www.codeboy.com/img/header/logo.png img/header/logo.png 2、相对路径(重点) 场合:使用本机文件时使用 什么是相对路径: 从当前文件位置处开始查找资源文件所经过的路径,就是相对路径 1、同目录,直接用 2、子目录,先进入 3、父目录,先返回 3、根相对路径 路径形式是以 / 作为开始的。 / : 表示的是服务器的根路径 2、图像 1、图像格式 WEB中支持的图像格式 1、*.jpg 2、*.gif(动图) 3、*.png(透明) 2、图像的语法 标记: 属性: 1、src :指定要显示图像的 URL 2、width :图像的宽度 3、height :图像的高度 4、title :鼠标悬停时,要显示的文本 Demo : 1、将 学子网的 logo 下载下来 2、显示在自己的网页中 3、超链接 1、语法 标记:内容 属性: 1、href : 要链接的HTML页面URL 2、target : 目标,指定新网页的打开形式 取值: 1、_blank : 在新标签页中打开网页 2、_self : 在自身标签页中打开新网页(默认值) Demo 1、创建一个超链接,内容为 :学子商城,点击时,在自身标签页中 打开 http://www.codeboy.com 2、创建一个超链接,内容为 :学子商城的LOGO,点击时,在新标签页中打开 http://www.codeboy.com 2、链接的四种表现形式 1、点击操作时,完成资源下载的操作 链接的资源为 zip / rar 时则为下载操作 下载 2、电子邮件链接 联系我们 前提 : 必须在计算机中安装并配置好至少一个邮件客户端的信息 3、返回页面顶部的空连接 返回顶部 4、执行Javascript代码片段 执行JS 3、锚点 1、作用 锚点用于在网页中的某个位置处做个记号,允许从其他位置处跳转到记号位置处 2、使用方式 1、定义锚点 1、使用 a 标记的 name 属性允许定义锚点 xxxx 2、任何标记的 id 属性定义锚点 2、链接到锚点 链接到锚点 链接到锚点 5、表格 1、表格 1、表格的作用 按照一定的格式来显示数据的 表格是由 单元格(列),行 来组成的 2、表格的语法 1、标记 1、 : 表示一个表格 2、 : 表示表格中的一行 3、 : 表行中的一列(单元格) : 行/列 标题 (加粗,水平居中) 4、 : 表格的标题 该元素必须添加在 之下,所有的tr之上 2、常用属性 1、table 1、width 2、height 3、align 设置表格的对齐方式 , left / center / right 4、border 边框宽度,取值以 px 为单位的数值 5、bgcolor 6、cellspacing :单元格外边距(单元格与单元格 或 单元格与表格之间的距离) 7、cellpadding : 单元格内边距(单元格与内容之间的距离) 2、tr 1、align 控制当前行内容的水平对齐方式 2、valign 控制当前行内容的垂直对齐方式 top / middle / bottom 3、bgcolor 3、td / th 1、align 2、valign 3、width 4、height 5、colspan :跨列 6、rowspan :跨行 Demo : 在 刚才的表格基础上,增加以下内容 1、为表格增加边框 1px 2、为表格增加尺寸 400 * 400 3、为表格增加单元格内边距 5px 4、为第四行 增加属性 ,内容水平居中对齐 3、表格的复杂应用 1、行分组 允许将若干行划分到一个组中,以便实现统一管理 1、表头行分组 允许将第一行的内容单独分到表头行分组中 2、表尾行分组 允许将最后一行的内容单独分到表尾行分组中 3、表主体行分组 2、不规则表格创建 通过 td 的跨行 和 跨列来实现不规则的表格 1、跨列 从指定单元格位置处开始,横向向右,合并掉几个单元格(包含自己),被合并掉的单元格,要删除 2、跨行 从指定单元格位置处开始,纵向向下,合并掉几个单元格(包含自己),被合并掉的单元格,要删除 3、表格的嵌套 被嵌套的所有的内容,只能放在 td 中 2、列表 1、作用 按照一定的格式显示数据 2、列表的分类 & 语法 1、列表的组成 由列表类型 以及 列表项 来组成 2、分类 & 语法 1、有序列表 --> Order List 允许包含若干列表项: --> List Item 2、无序列表 --> Unorder List 允许包含若干列表项: 3、属性 1、ol 1、type 1 、按数字方式排列,默认值 a 、按小写英文方式排列 A 、按大写英文方式排列 i 、按小写罗马数字排列 I 、按大写罗马数字排列 2、start 指定标识从 几 开始显示 2、ul 1、type 1、disc,实心圆,默认值 2、circle,空心圆 3、square,实心矩形 4、none 3、列表的嵌套 被嵌套的内容只能放在 li 中 Demo : 1、声明一个列表在 html 中(有序),包含两个列表项,显示 两部小说的名字 2、在两个列表项中,再各嵌套一个无序列表,各写3-4个小说中的主角 3、定义列表 1、作用 以一种特殊的结构来排列数据 通常用语对一类事物/名词 的解释上面 2、语法 :声明一个定义列表 :声明要解释的事物名称 或 名词 :对上述名词或事物解释的内容 3、常用场合 图文混排 3、结构标记 1、结构标记的作用 搭建网页的结构(布局),用于替代 div,最大的优点是提升了标记的"语义性" 2、结构标记详解 1、<header></header> 作用:表示网页 或 某块内容的头部 2、 作用:表示网页中的 导航内容 3、 作用:表示网页主体内容中的某一部分 4、 作用:出现在文字描述性比较强的场合:一则新闻,论坛中的帖子,微博信息,博客的信息 5、 作用:表示网页中,或某部分内容的 边栏信息 6、 作用:表示网页中尾部的信息 4、表单(难点) 1、表单的作用 用于收集用户的信息并提交给服务器 表单主体是由两部分组成的 1、表单元素 收集信息,并提交给服务器 2、表单控件 用于与用户交互的一些元素:文本框,密码框 2、表单元素(难点) 标记:<form></form> 注意:只有放在 <form></form> 里面的表单控件的值,才能提交给服务器 属性: 1、action 提交给服务器处理程序的地址 (动作) 2、method 提交方式,以什么样的方式把数据交给服务器 1、get 特点: 1、以明文的方式将数据传递给服务器(提交的数据会显示在地址栏上) 2、安全性很低 3、提交数据最大限制为 2KB 4、向服务器要数据时可以使用 2、post 特点: 1、以隐式的方式将数据传递给服务器 2、安全性很高 3、不限制提交数据的大小 4、要提交数据给服务器处理时使用 3、... ... 3、enctype 作用:指定表单数据进行编码的方式 取值: 1、application/x-www-form-urlencoded 默认值,允许将任意类型的文本提交给服务器 2、multipart/form-data 允许将文件提交给服务器 3、text/plain 不对任何数据进行编码和传输 Demo : 1、创建 05-form.html 2、声明一个表单元素 form 3、指定提交地址为 login.php,提交方式为 get,编码方式为默认 3、表单控件 表单元素分类: 1、input元素 2、textarea 多行文本域 3、select 和 option 选项框 4、其它元素 5、新input元素 详解 : 1、input元素 里面会包含若干个不同的表单控件 标记 :<input> 属性 : 1、type 根据不同的type属性值,可以创建不同的input元素 2、name 定义表单控件的名称,主要提交给服务器使用的 注意:如果不声明name属性的话,元素则无法提交给服务器 3、value 定义当前控件的值,主要提交给服务器使用的 4、disabled 禁用控件,无值的属性 <input disabled> 2、文本框 与 密码框 文本框:<input type="text"> 密码框:<input type="password"> 具备除以上四个属性外,还具备以下几个独立属性: 1、maxlength 限制输入的字符数,取值为数字 2、readonly 只读,无值属性 Q : readonly 和 disabled 的区别 1、readonly ,是只读的意思,是允许提交给服务器,不让用户改数据而已 2、disabled , 是禁用的意思,不仅不让用户改数据,而且还不能提交给服务器 3、placeholder 占位符,即默认显示在文本框用于给用户提示的文字 3、按钮 1、提交按钮 作用:将表单提交给服务器 标记:<input type="submit" value="显示的文本"> 2、重置按钮 作用:将表单恢复到初始化的状态 标记:<input type="reset" value="显示的文本"> 3、普通按钮 作用:通过 JS 自定义功能 标记:<input type="button" value="显示的文本"> 4、显示的内容 属性: 1、type :submit / reset / button 4、单选按钮 和 复选框 单选按钮:<input type="radio"> 复选框:<input type="checkbox"> 属性: 1、name 设置名称,并用于分组,一组单选按钮 或 复选框的名称必须相同 2、value 必须设置 3、checked 默认被选中,无值属性 5、隐藏域 和 文件选择框 1、隐藏域 <input type="hidden" name="" value=""> 想提交给服务器,但不想给用户看的数据,可以放在隐藏域中 2、文件选择框 <input type="file" name=""> 注意: 1、form的 method 属性值必须为 post 2、form的 enctype属性值必须为 multipart/form-data http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=bingbing http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=fengjie&gender=1&question=0&question=1&question=2&question=3 http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=fdsafdsafdsa&gender=0&question=0&question=1&question=2&question=3&uid=10000567789 1、表单 1、form ... 2、input ... 3、textarea 控件 标记:<textarea></textarea> 属性: 1、name 定义名称,提交给服务器使用 2、cols 指定文本域的列数,变相指定宽 3、rows 指定文本域的行数,变相指定高 4、readonly 只读 Demo : 创建 01-form.html 文件 创建一个 多行文本域,列数为 50,行数为 5,名称为 intro 4、选项框 1、标记 表示 下拉列表 或 滚动列表 列表中的内容,允许出现多个 2、属性 1、 1、name :控件的名称 2、size :默认显示选项的数量,默认为1,为下拉列表,如果取值>1的话,则为滚动列表 3、multiple 设置多选,无值的属性 2、 1、value :选项的值,提交给服务器用 2、selected :默认被选中 5、其它标记 1、label 元素 作用:关联文本与表单控件的,点击文本时就如同点击表单控件一样 标记:文本 属性: 1、for 指定要关联的表单控件的ID值 2、为控件分组 分组标题 分组中的内容 3、浮动框架 1、作用 将其他页面导入到当前页面中来 2、语法 标记:<iframe></iframe> 属性: 1、src 要引入的页面的url 2、frameborder 指定浮动框架的边框,默认为1,则显示边框 不需要边框则设置为 0 3、width 4、height 练习: 创建一个 02-iframe 的网页,将 01-form.html 页面引入进来 ,适当调整宽度,高度,边框 6、新input元素 (HTML5) 1、电子邮件类型 作用:提交时会验证数据是否符合Email的规范 标记:<input type="email"> 2、搜索类型 作用:在文本框的基础上,提供了快速清除操作 标记:<input type="search"> 3、URL类型 作用:提交时会验证数据是否符合Web站点的URL规范(绝对路径) 标记:<input type="url"> 4、电话号码类型 作用:在移动端设备中,能展开 拨号键盘,在PC中无效 标记:<input type="tel"> 5、数字类型 作用:只能让用户输入 或 选择数字 标记:<input type="number"> 属性: 1、min :当前控件接受的最小值 2、max :当前控件接受的最大值 3、step :微调数字时每次变化的长度,默认为1 6、范围类型 作用:提供一个滑块,让用户选择数字 标记:<input type="range"> 属性: 1、min :当前控件的最小值 2、max :当前控件的最大值 3、value :设定初始值 7、颜色类型 作用:提供一个颜色拾取控件 语法:<input type="color"> 8、日期类型 作用:提供一个日期输入控件 标记:<input type="date"> 9、周类型 作用:提供一个日期控件,用于选取周 标记:<input type="week"> 10、月份类型 作用:选取月份控件 标记:<input type="month"> =============================

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿人啊兴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值