Web前端HTML使用

一、基础认知

1.目标:

认识网页组成和五大浏览器,明确Web标准的构成,使用HTML骨架搭建出一个网页

2.学习路径:

1)基础概念铺垫(了解)

a.认识网页

问题一:网页由哪些部分组成?

答:文字、图片、音频、视频、超链接

问题二:我们看到的网页背后本质是什么?

答:前端程序员写的代码

问题三:前端的代码是通过什么软件转换成用户眼中的页面的?

答:通过浏览器转换(解析和渲染)成用户看到的网页

b.五大浏览器和渲染引擎

> 浏览器是网页显示、运行的平台、是前端开发必备利器

> 常见的五大浏览器:IE浏览器(edge浏览器)、火狐浏览器(Firefox)、谷歌浏览器(Chrome),Safari浏览器、欧朋浏览器(Opera)

> 渲染引擎(浏览器内核):浏览器中专门对代码进行解析渲染的部分

> 浏览器出品的公司不同,内在的渲染引擎也是不同的:

> 注意点:渲染引擎不同,导致解析相同代码时的速度、性能、效果也是不同的。

c.Web标准

> 为什么需要Web标准?

答:不同的浏览器的渲染引擎不同,对于相同代码解析的效果会存在差异,如果用户想看一个网页,结果用不同浏览器打开效果不同,用户体验极差

> Web标准的构成

Web标准中分成三个构成

Web标准要求页面实现:结构、表现、行为三层分离

2)HTML初体验

a.HTML的感知

HTML(Hyper Text Markup Language) 中文译为:超文本标记语言

专门用于网页开发的语言,主要通过HTML标签对网页中的文本、图片、视频、音频等内容进行描述

案例:文字变粗案例

体验构建一个网页,需要在网页中显示一个加粗的文字

需要注意的是本人使用的是mac电脑,所以创建文件和修改为html的步骤可能和windows不一样

1)在终端通过touch命令创建一个.txt的文本文件(需要注意的是第一步一定要创建一个.txt的文本文件,不要直接创建一个.html的文件)

2)在这个文本文件里面写东西,此时一定要是一个纯文本文件,而且要在写完东西之后对他的文件后缀进行修改成.html,不要创建好txt文件之后就对他的后缀名进行修改,不然标签样式也是不显示

3)保存文件,修改.txt后缀为.html

此时后缀是.html,前面的图标不是浏览器,仍然是txt,双击打开仍然是网页

 

刷新图标变成了浏览器图标 

b.HTML骨架结构

HTML页面固定结构

> 网页类似于一篇文章:每一页文章内容是有固定的结构的,如:开头、正文、落款等

> 网页中也是存在固定的结构的,如:整体、头部、标题、主体

>  网页中的固定结构是要通过特定的HTML标签进行描述的

c.开发工具的使用

> 为什么要使用VS Code

刚刚通过文本编辑器,如:记事本、完全可以编写网页源代码,但是效率,不忍直视

> 实际开发中,注意开发的效率和便捷性,因此我们会使用一些开发工具

开发工具有很多:Visual Studio Code、 Webstrom、Sublime、Dreamweaver、Hbuilder

> 前端开发神器:VS Code ->速度快、体积小、插件多

> VSCode的使用

c.1

首先需要创建一个文件夹,用于放这个项目的代码

c.2

打开VSCode,然后选择Open,打开刚才创建的文件夹

 c.3

此时刚才的文件夹就导入到了VSCode里面,然后可以在里面新建文件夹,新建文件,第一个标志是新建文件,第二个标志是新建文件夹,第三个标志是刷新

c.4点击第一个图标,新建一个.html的文件,在文件里面直接使用!然后回车就可以直接生成HTML骨架

c.5然后修改他的标题和在主体当中添加文字,需要注意的是写一部分代码我们就需要保存一下,VSCode是不会自动保存代码的,修改后没有保存的代码,文件上面是一个圆圈,修改后文件保存,文件上面是一个叉号

d.运行代码,右击选择默认的浏览器,点击进行运行就可以,新安装的是没有这个选项的,我们需要添加一个open in browser的拓展

 

 运行的快捷键是option+B,保存的快捷键是command+S,我们每次进行完修改都需要command+S保存一下,VSCode不会自动保存代码,但是运行的话只需要运行一次,然后在网页进行刷新就可以,不需要每次进行完修改就运行

3)语法规范

a.HTML的注释

> 什么是注释?

在之前上课学习时,同学们会在书写段落间记录内容的注解,方便下次看到此处理解

程序员在写代码时,也会加注释,方便下次看到此处时方便想起功能和含义

> 注释的作用:

为代码添加的具有解释性、描述性的信息,主要用来帮助开发人员理解代码

浏览器执行代码时会忽略所有的注释

> 注释的快捷键

在VSCode中:command+/

HTML中的代码注释效果如下:

b.HTML标签的构成

结构说明:

>  标签由<>、/、英文单词或者字母组成,并且把标签中<>包括起来的英文单词或字母称为标签名

> 常见标签由两部分组成,我们称之为:双标签。前部分叫开始标签,后部分叫结束标签,两部分之间包裹内容

> 少数标签由一部分组成,我们称之为单标签,自成一体,无法包裹内容<br> <hr>

c.HTML标签的关系

HTML标签与标签之间的关系可分为:

父子关系(嵌套关系)

兄弟关系(并列关系)

二、HTML标签

目标:

学习HTML排版、媒体、链接等基础标签,完成基础网页的开发

学习路径

1.排版标签

1)标题标签

a.场景:在新闻和文章的页面中,都离不开标题,用来突出显示文章主体

b.代码:h系列标签

c.语义:1~6级标题,重要程度依次递减

d.特点:

文字都有加粗

文字都有变大,并且从h1->h6文字逐渐减小

独占一行

  

2)段落标签

a.场景:在新闻和文章的页面中,用于分段显示

b.代码:<p>我是一段文字</p>

c.语义:段落

d.特点

段落之间存在间隙

独占一行

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=<device-width>, initial-scale=1.0">
    <title>段落标签</title>
</head>
<body>
    <p>阿卡贝拉(意大利语:Acappella)即无伴奏合唱。其起源于可追溯至中世纪的教会音乐,当时的教会音乐只以人声清唱,并不应用乐器音频示例:阿卡贝拉《千与千寻》</p>
    <p>“翻唱“是指将已经发表并由他人演唱的歌曲根据自己的风格重新演唱,包括重新填词,编曲。现在已有不少明星,都在翻唱他人的歌曲,不断在翻唱中突破自己,给大家带来不一样的风格,视频示例:有一种悲伤(翻唱)-《A Kind of Sorrow》</p>
</body>
</html>

我们写代码的时候如果文字过多,下面就会有一个滚动条,需要滚动代码来实现

为了方便,不需要滚动的话,可以设置为自动换行,就会在有限的屏幕里面自动换行显示文字和代码(Word Wrap)

3)换行标签

a.场景:让文字强制换行显示

b.代码:<br>

c.语义:换行

d.特点

单标签

让文字强制换行

4)水平线标签

a.场景:分割不同主题内容的水平线

b.代码:<hr>

c.语义:主题的分割转换

d.特点:

单标签

在页面中显示一条水平线

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>这是文章标题</h1>
    <hr>
    <p>阿卡贝拉(意大利语:Acappella)即无伴奏合唱。<br>其起源于可追溯至中世纪的教会音乐,当时的教会音乐只以人声清唱,并不应用乐器音频示例:阿卡贝拉《千与千寻》</p>
</body>
</html>

​​​​​​​ 

2.文本格式化标签

a.场景:需要让文字加粗、下划线、倾斜、删除线等效果

b.代码:

 c.突出重要性的强调语境,就用后面的标签

d.标签语义化

> 实际项目开发中选择标签的原则:标签语义化

即:根据语义选择对应正确的标签,如:需要写标题,就使用h系列标签,如:需要写段落,就使用p标签

> 好处:

对人:好理解,好记忆

对机器:有利于机器解析,对搜索引擎(SEO)有帮助

> 推荐

使用strong、ins、em、del表示的语义更强烈

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>文本格式化标签</title>
</head>
<body>
    <strong>加粗</strong>
    <b>加粗</b>
    <u>下划线</u>
    <ins>下划线</ins>
    <i>倾斜</i>
    <em>倾斜</em>
    <s>删除线</s>
    <del>删除线</del>
</body>
</html>

3.媒体标签

1)图片标签

a.场景:在网页中显示图片

b.代码:<img src = "" alt = "">

c.特点:

单标签

img标签需要展示对应的效果,需要借助标签的属性进行设置

d.标签属性

属性注意点:

d.1 标签的属性写在开始标签内部

d.2 标签上可以同时存在多个属性

d.3 属性之间以空格隔开

d.4 标签名与属性之间以空格隔开

d.5 属性之间没有顺序之分

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>图片标签</title>
</head>
<body>
    <img src="bridge.jpg">
</body>
</html>

e.图片标签的属性详细

e.1 src

主要存放图片的路径

e.2 alt

> 属性名:alt

> 属性值:替换文本

当图片加载失败时,才显示alt的文本

当图片加载成功时,不会显示alt的文本

e.3 title

> 属性名:title

> 属性值:提示文本 当鼠标悬停时,才显示的文本

注意点:title属性不仅仅可以用于图片标签,还可以用于其他标签

e.4 图片标签的width和height属性

属性名:width和height

属性值:宽度和高度(数字)

注意点:

如果只设置width或者height中的一个,另一个没设置的会自动等比例缩放(此时图片不会变形)

如果同时设置了width和height两个,若设置不当此时图片会变形

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>图片标签</title>
</head>
<body>
    <img src="bridge.jpg" alt="我是一张图片" title="这是一个title,鼠标悬停的时候显示" width="200">
</body>
</html>

  

图片路径正常的时候如上图所示,但是当图片加载错误的时候,就会显示一个失败的图片,此时鼠标悬停也能显示悬停文字

  

2)路径

a.场景

页面需要加载图片,需要先找到对应的图片,页面需要找到图片,也是需要通过路径才能找到

b.路径可分为:

> 绝对路径

绝对路径:指目录下的绝对位置,可直接到达目标位置,通常从盘符开始的路径

mac电脑的绝对路径,没有盘符,从/开始

例如:盘符开头:D:\day01\images\1.jpg

            完整的网络地址:https://www.itcast.cn/2018czgw/images/logo.gif

<body>
    <img src="/Users/hanvon/Desktop/Code/bridge.jpg">
</body>

>  相对路径

概念普及:

当前文件:当前的html网页

目标文件:要找到的图片

相对路径:从当前文件开始出发找目标文件的过程

相对路径分类:

同级目录:当前文件和目标文件在同一目录中

 代码步骤:直接写目标文件的名字即可

方法一:<image src = "目标图片.gif">

方法二:<image src = "./目标图片的.gif>

<body>
    <img src="bridge.jpg" width="200">
    <img src="./bridge.jpg" width="200">
</body>

下级目录:目标文件在下级目录中

<body>
    <img src="images/dog.jpg" width="200">
</body>

上级目录:目标文件在上级目录中

 ../是返回到上一级目录,需要注意的是../是返回到上一级目录,而不是返回到她所在的文件及,比如上图../是返回到了Demo这个目录下,而不是page这个文件夹,../之后还可以../page​​​​​​​

3)音频标签

a.场景:在页面中插入音频

b.代码:<audio src = "./music.mp3 controls><audio>

c.常见属性:

 d.注意点:

音频标签现在支持3种格式:MP3,Wav,Ogg

<body>
    <audio src="1.mp3" controls autoplay loop></audio>
</body>

4)视频标签

a.场景:在页面中插入视频

b.代码:<video src = "./video.mp4" controls></video>

c.常见属性:

<body>
    <video src="001今日课程介绍.mp4" controls autoplay loop width="400"></video>
</body>

 这样的话是没有办法自动播放的,需要我们添加muted实现,但是这个添加之后是静音播放,只能看视频

4.链接标签

a.场景:点击之后,从一个页面跳转到另一个页面

b.称呼:a标签、超链接、锚链接

c.代码:<a href = "./目标网页.html">超链接</a>

d.特点:

双标签,内部可以包裹内容

如果需要a标签点击之后去指定页面,需要设置a标签的href属性

<body>
    <!-- 第一种:跳转到线上的网址 -->
    <a href="https://www.baidu.com">跳转到百度</a>
    <br>
    <!-- 第二种:跳转到当前项目的网页 -->
    <a href="01-标题标签.html">挑战到当前项目的网页</a>
    <br>
    <!-- 第三种:不知道跳转到哪个网页,直接使用#,后续在进行替换 -->
    <a href="#">不知道跳转到哪个网页,后续进行替换</a>
</body>

点击第一个链接可以跳转到百度,点击第二个链接跳转到当前自己项目的页面,点击第三个不进行跳转 

e.链接标签的target属性

属性名:target

属性值:目标网页的打开形式

<body>
    <!-- 第一种:跳转到线上的网址 -->
    <a href="https://www.baidu.com">跳转到百度</a>
    <br>
    <!-- 第二种:跳转到当前项目的网页 -->
    <a href="01-标题标签.html">挑战到当前项目的网页</a>
    <br>
    <!-- 第三种:不知道跳转到哪个网页,直接使用#,后续在进行替换 -->
    <a href="#">不知道跳转到哪个网页,后续进行替换</a>
    <br>
    <!-- 跳转到新的窗口 可以使用target值去修改 默认是_self,覆盖掉元网页,可以设置为_blank,跳转到一个新的网页 -->
   <a href="https://www.baidu.com" target="_blank">百度一下</a>
</body>

这个样式就是当前这个链接标签页面还存在,百度页面是一个新的页面 

综合案例

1.招聘案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>招聘案例</title>
</head>
<body>
    <h1>腾讯高级web前端开发招聘</h1>
    <hr>
    <h2>职位描述</h2>
    <p>负责重点项目的前端技术方案和架构的研发和维护工作</p>
    <h2>岗位要求</h2>
    <p>5年以上前端开发经验,<strong>精通html5/css3/javascript等</strong>web开发技术</p>
    <p>熟悉bootstap,vue,angularjs,reactjs等框架</p>
    <p>代码风格严谨,能高保真还原设计稿,能兼容各种浏览器</p>
    <p>对web前端的性能优化以及web常见漏洞有一定的理解和相关实践</p>
    <p>具备良好的分析解决问题能力,能独立承担任务,有开发进度把控能力</p>
    <p>责任心强,思路清晰,抗压能力好,具备良好的对外沟通能力和团队协作能力</p>
    <h2>工作地址</h2>
    <p>上海市-徐汇区-腾云大厦</p>
    <img src = "map.jpg">
</body>
</html>

实现的效果


​​​​​​​

2.跳转案例

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>今日搜索热词</h1>
    <hr>
    <h2>1.阿卡贝拉</h2>
    <p>阿卡贝拉(意大利语:Acappella)即无节奏合唱。其起源可追溯至中世纪的教会音乐,当时的教会音乐只以人声清唱,并不应用乐器。音频示例:<a href="one.html">"阿卡贝拉《千与千寻》"</a></p>
    <h2>2.翻唱</h2>
    <p>“翻唱“是指将已经发表并由他人演唱的歌曲根据自己的风格重新演唱,包括重新填词,编曲。现在已有不少明星,都在翻唱他人的歌曲,不断在翻唱中突破自己,给大家带来不一样的风格。视频示例:<a href="two.html" target="_blank">由一种悲伤(翻唱(视频示例)</a></p>
</body>
</html>

one.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>阿卡贝拉《千与千寻》- AZA微唱团</h1>
    <hr>
    <h2>音频</h2>
    <audio src="1.mp3" controls autoplay ></audio>
</body>
</html>

two.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
   <h1>有一种悲伤(翻唱)-《A kind of Sorrow》 - Madilyn</h1>
   <hr>
   <h2>视频</h2>
   <video src="../001今日课程介绍.mp4" controls width="300"></video>
</body>
</html>

实现的效果是:

进入到index首页,点击第一个超链接,进入到第一个页面,还是在当前页面,覆盖掉原页面,点击第二个链接,进入到第二个页面,是进入到新的页面,不覆盖掉原页面。

三、继续学习HTML标签 

列表标签

表格标签

表单标签

语义话标签

字符实体

综合案例

1.列表标签

目标:能够使用无序列表、有序列表、自定义标签,实现网页中列表结构的搭建

学习路径:​​​​​​​

1.列表的应用场景

1)场景:在网页中按照行展示关联性的内容,如:新闻列表、排行表、账单等

2)特点:按照行的方式,整齐显示内容

3)种类:无序列表、有序列表、自定义列表

 

2.无序列表

1)场景:在网页中表示一组无顺序之分的列表,如:新闻列表

2)标签组成:

​​​​​​​

3)显示特点:

列表的每一项前默认圆点标识

4)注意点:

ul标签中只允许包含li标签

li标签中可以包含任意内容 

<body>
    <ul>
        <li>榴莲</li>
        <li>香蕉</li>
        <li>苹果</li>
        <li>菠萝</li>
    </ul>
</body>

3.有序列表

1)场景:在网页中表示一组有顺序之分的列表,如:排行表

2)标签组成:

3)显示特点

列表的每一项前面默认显示序号标识

4)注意点:

ol标签中只允许包含li标签

li标签可以包含任意内容 

<body>
    <ol>
        <li>香蕉</li>
        <li>苹果</li>
        <li>菠萝</li>
    </ol>
</body>

4.自定义列表

1)场景:在网页的底部导航中通常会使用自定义列表实现

2)标签组成:

3)显示特点:

dd前会显示默认缩进效果

4)注意点:

dl标签中只允许包含dt/dd标签

dt/dd标签中可以包含任意内容

<body>
    <dl>
        <dt>支持</dt>
        <dd>支持文档</dd>
        <dd>联系我们</dd>
        <dd>错误报告</dd>
        <dd>系统状态</dd>
    </dl>
</body>

2.表格标签 

目标:能够使用表格相关标签和属性,实现网页中表格结构的搭建

学习路径:

1.表格的基本标签

1)场景:在网页中以行+列的单元格的方式来展示数据,如学生成绩表

2)基本标签:


​​​​​​​

3)注意点:

标签的嵌套关系:

table>tr>td

<body>
    <table>
        <tr>
            <td>姓名</td>
            <td>成绩</td>
            <td>评语</td>
        </tr>
        <tr>
            <td>小哥哥</td>
            <td>100分</td>
            <td>小哥哥真帅气</td>
        </tr>
        <tr>
            <td>小姐姐</td>
            <td>100分</td>
            <td>小哥哥真漂亮</td>
        </tr>
        <tr>
            <td>总结</td>
            <td>郎才女貌</td>
            <td>郎才女貌</td>
        </tr>
    </table>
</body>

2.表格的相关属性

1)场景:设置表格基本展示效果

2)常见相关属性:

3)注意点:

实际开发时针对样式效果推荐使用CSS

直接给table设置属性,不需要给td或者tr设置属性

<body>
    <table border="2" width = "600" height = "300">
        <tr>
            <td>姓名</td>
            <td>成绩</td>
            <td>评语</td>
        </tr>
        <tr>
            <td>小哥哥</td>
            <td>100分</td>
            <td>小哥哥真帅气</td>
        </tr>
        <tr>
            <td>小姐姐</td>
            <td>100分</td>
            <td>小哥哥真漂亮</td>
        </tr>
        <tr>
            <td>总结</td>
            <td>郎才女貌</td>
            <td>郎才女貌</td>
        </tr>
    </table>
</body>

3.表格标题和表头单元格标签

1)场景:在表格中表示整体大标题和一列小标题

2)其他标签

3)注意点:

caption标签书写在table标签内部

th标签书写在tr标签内部,用于替换掉td 

<body>
    <table border="1">
        <caption><h2>学生成绩表</h2></caption>
        <tr>
            <th>姓名</th>
            <th>成绩</th>
            <th>评语</th>
        </tr>
        <tr>
            <td>小哥哥</td>
            <td>100分</td>
            <td>小哥哥真帅气</td>
        </tr>
        <tr>
            <td>小姐姐</td>
            <td>100分</td>
            <td>小哥哥真漂亮</td>
        </tr>
        <tr>
            <td>总结</td>
            <td>郎才女貌</td>
            <td>郎才女貌</td>
        </tr>
    </table>
</body>

4.表格的结构标签(了解)

1)场景:让表格的内容结构分组,突出表格的不同部分(头部、主体、底部),使语义更加清晰

2)结构标签:

3)注意点:

表格结构标签内部用于包裹tr标签

表格的结构标签可以省略

<body>
    <table border="1">
        <caption><h2>学生成绩表</h2></caption>
        <thead>
            <tr>
                <th>姓名</th>
                <th>成绩</th>
                <th>评语</th>
            </tr>
        </thead>
       <tbody>
            <tr>
                <td>小哥哥</td>
                <td>100分</td>
                <td>小哥哥真帅气</td>
            </tr>
            <tr>
                <td>小姐姐</td>
                <td>100分</td>
                <td>小哥哥真漂亮</td>
            </tr>
       </tbody>
      <tfoot>
        <tr>
            <td>总结</td>
            <td>郎才女貌</td>
            <td>郎才女貌</td>
        </tr>
      </tfoot>
       
    </table>
</body>

设备了表格的结构标签和没有设置效果是一样的,但是对于浏览器来说效果更高

5.合并单元格

1)场景:将水平或垂直多个单元格合并成一个单元格

2)合并单元格的步骤

a.明确合并哪几个单元格

b.通过左上原则,确定保留谁删除谁

上下合并---->只保留最上的,删除其他

左右合并-----> 只保留最左的,删除其他

c.给保留的单元格设置:跨行合并(rowspan)或者夸列合并(colspan)

注意点:

只有同一个结构标签中的单于格才能合并,不能跨结构标签合并(不能跨:thead 、tbody、tfoot)

<body>
    <table border="1">
        <caption><h2>学生成绩表</h2></caption>
        <thead>
            <tr>
                <th>姓名</th>
                <th>成绩</th>
                <th>评语</th>
            </tr>
        </thead>
       <tbody>
            <tr>
                <td>小哥哥</td>
                <td rowspan="2">100分</td>
                <td>小哥哥真帅气</td>
            </tr>
            <tr>
                <td>小姐姐</td>
                <td>小哥哥真漂亮</td>
            </tr>
       </tbody>
      <tfoot>
        <tr>
            <td>总结</td>
            <td colspan="2">郎才女貌</td>
        </tr>
      </tfoot>
    </table>
</body>

 3.表单标签

使用场景:网页的登陆、注册和搜索等

目标:能够使用表单相关标签和属性,实现网页中表单类网页结构搭建

学习路径:

1.input标签

1)场景:在网页中显示收集用户信息的表单效果,如:登陆页、注册页

2)标签名:input

input标签可以通过type属性值的不同,展示不同效果

3)type属性值:

需要注意的是:

radio标签在一个的情况下,选择之后就不能进行取消,checkbox标签选择之后可以取消,file文件,一点直接可以跳转进行文件的选择

<body>
    <!-- 写什么就显示什么 -->
    文本框:  <input type="text">     
    <br>
    <br>
    密码框:  <input type="password">
    <br>
    <br>
    单选框: <input type="radio">
    <br>
    <br>
    多选框: <input type="checkbox">
    <br>
    <br>
    上传文件: <input type="file">
    
</body>

4)input系列标签-文本框

a.场景:在网页中显示输入单行文本的表单控件

b.type属性值:text

c.常用属性:

<body>
    用户名:  <input type="text" placeholder="请输入用户名">
    <br>
    <br>
    密码:  <input type="password" placeholder="请输入密码">
</body>

 用户输入的时候提示文字消失,显示用户输入的东西,当用户删除完框里面的内容,文本内容没有时,就显示提示文字

5)input系列标签 - 单选框

a.场景:在网页中显示多选一的单选表单控件

b.type属性值:radio

c.常用属性值:

注意点:

name属性对于单选框有分组功能

有相同name属性值的单选框为一组,一组中只能同时有一个被选中

<body>
   性别:  <input type="radio" name="sex" checked> 男
         <input type="radio" name = "sex"> 女
   复选框: <input type="checkbox" checked>
</body>

 

男女只能同时选中一个,不能两个同时选中

6)input系列标签-文件选择

a.场景:在网页中显示文件选择的表单控件

b.type属性值:file

c.常用属性:

<body>
     上传文件:  <input type="file" multiple>
</body>

  

7)input系列标签-按钮

a.场景:在网页中显示不同功能的按钮表单控件

b.type属性值:

c.注意点:

> 如果需要实现以上按钮功能,需要配合form标签来使用

> form使用方法:用form标签把表单标签一起包裹起来即可

<body>
   账号:  <input type="text">
   <br>
   <br>
   密码:  <input type="password">
   <br>
   <br>

   <input type="submit">
   <input type="reset">

</body>

submit标签和reset标签上面都自动带有字,而且不需要和js交互就能实现提交给服务器的功能和重置的功能,但是需要配合form来使用,不然我们不知道需要提交哪些内容,需要form来控制提交的范围

<body>
    <form>
        账号:  <input type="text">
        <br>
        <br>
        密码:  <input type="password">
        <br>
        <br>
     
        <input type="submit" value="免费注册">
        <input type="reset">
        <input type="button" value="普通按钮">
    </form>
</body>

普通的按钮是没有文字显示的,我们可以通过value属性来给按钮上面添加文字,所以如果想要修改提交的默认文字,我们也可以设置value属性来修改文字

2.button按钮标签

1)场景:在网页中显示用户点击的按钮

2)标签名:button

3)type属性值(同input的按钮系列)

4)注意点:

> 谷歌浏览器中button默认是提交按钮

> button标签是双标签, 更便于包裹其他内容:文字、图片等

<body>
    <form>
        账号:  <input type="text">
        <br>
        <br>
        密码:  <input type="password">
        <br>
        <br>
        <button>我是按钮</button>
        <button type="submit">提交按钮</button>
        <button type="reset">重置按钮</button>
        <button type="button">我是普通按钮,没有任何功能</button>
    </form>
   
</body>

button和刚才的input标签type属性功能一样,同样也需要放到form标签中去使用

3.select下拉菜单标签

1)场景:在网页中提供多个选择项的下拉菜单表单控件

2)标签组成:

> select标签:下拉菜单的整体

> option标签:下拉菜单的每一项

3)常见属性:

selected:下拉菜单的默认选择

<body>
    <select>
        <option>北京</option>
        <option>上海</option>
        <option>广东</option>
        <option selected>深圳</option>
    </select>
</body>

没有设置默认选择的时候,第一个是默认选择项,设置了默认选择以后,设置的默认选择项是展示项

4.textarea文本域标签

1)场景:在网页中提供可输入多行文本的表单控件

2)标签名:textarea

3)常见属性:

> cols:规定了文本域内可见宽度

> rows:规定了文本域内可见行数

4)注意点:

> 右下角可以拖拽改变大小

> 实际开发时针对样式效果推荐用CSS设置

<body>
    <textarea>
        
    </textarea>
</body>

直接使用textarea标签就可以

​​​​​​​ 

5.label标签

1)场景:常用于绑定内容与表单标签的关系

2)标签名:label

3)使用方法:

a.

> 使用标签label把内容(如:文本)包裹起来

> 在表单标签上添加id属性

> 在label标签的for属性中设置对应的id属性值

b.

> 直接使用label标签把内容(如:文本)和表单标签一起包裹起来

> 需要把label标签的for属性删除即可

<body>
    <!-- label标签主要还单选标签配合使用,实现点击文字的时候能够选中按钮 -->
    性别:
    <!-- 第一种方式 -->
    <input type="radio" name="sex" id="nan"> <label for="nan">男</label>
    <!-- 第二种方式 -->
    <label><input type="radio" name="sex"> 女</label>
</body>

实现的效果,我点击文字,前面的圆圈也会被选中 

4.语义话标签

目标:能够认识开发中常用的没有语义布局标签(div、span)和有语义的布局标签

学习路径:

1.没有语义的布局标签

1)场景:实际开发网页时会大量频繁的使用到div和span这两个没有语义的布局标签

> div标签:一行只显示一个(独占一行)

> span标签:一行可以显示多个

<body>
    这是div标签
    <div>这是div标签</div>
    <div>这是div标签</div>
    这是span标签
    <span>这是span标签</span>
    <span>这是span标签</span>
</body>

文字加上这两个标签和没有加标签效果是一样的 

2.有语义的布局标签(了解)

1)场景:在HTML5版本中,推出了一些有语义的布局标签供开发者使用

2)标签:

3)以上标签显示特点和div一致,但是比div多了不同的语义

<body>
    <header>网页头部</header>
    <header>网页导航</header>
    <header>网页底部</header>
    <header>网页侧边栏</header>
    <header>网页区块</header>
    <header>网页文章</header>
</body>

 

5.字符实体

目标:能通过字符实体在网页中显示特殊符号

学习路径:

1.HTML中的空格合并现象

1)场景:如果html代码中同时并列出现多个空格、换行、缩进等,最终浏览器只会解析出一个空格

2.常见字符实体

1)场景:在网页中展示特殊符号效果时,需要使用字符实体来代替

2)结构:&英文

3)常见的字符实体:


​​​​​​​

<body>
      这是一个文本,
    我们很幸运

</body>

<body>
      这是一个文本,         我们很幸运
</body>

如果我们只是单纯的对文字加入空格,或者是对文字换行写,都是不起效果的,这个时候需要加入字符

<body>
      这是一个文本,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我们很幸运
</body>

 

 6.综合案例

1.学生信息表

<body>
    <!-- caption是不加粗的,th是自带加粗效果的 -->
    <table border="2" width = "600" height = "300">
       <caption><h2>学生信息表</h2></caption>
       <tr>
            <th>年级</th>
            <th>姓名</th>
            <th>学号</th>
            <th>班级</th>
       </tr>
       <tr>
         <td rowspan="2">高三</td>
         <td>张三</td>
         <td>110</td>
         <td>三年二班</td>
       </tr>
       <tr>
         <td>赵四</td>
         <td>120</td>
         <td>三年三班</td>
       </tr>
       <tr>
         <td>评语</td>
         <td colspan="3">你们都很优秀</td>

       </tr>

    </table>
</body>

实现的效果是:


​​​​​​​

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>表单的使用</title>
</head>
<body>
    <h1>青春不常在,抓紧谈恋爱</h1>
    <hr>
    <form>
        昵称: <input type="text" placeholder="请输入昵称">
        <br>
        <br>
        性别: <label><input type="radio" name="sex" checked>男</label> <label><input type="radio" name = "sex">女</label>
       <br>
       <br>
        所在城市:
        <select>
            <option>上海</option>
            <option>广州</option>
            <option>深圳</option>
        </select>
        <br>
        <br>
        婚姻状况:<label><input type="radio" name="status" checked>未婚</label> <label><input type="radio" name="status">已婚</label> 
                <label><input type="radio" name="status">保密</label>
                <br>
                <br>
        喜欢的类型:<label><input type="checkbox" checked>可爱</label>       
        <label><input type="checkbox" checked>性感</label>  
        <label><input type="checkbox">御姐</label>  
        <label><input type="checkbox">萝莉</label>  
        <label><input type="checkbox">小鲜肉</label>
        <label><input type="checkbox">大叔</label>  
        <br>
        <br>
        个人介绍:
        <br>
        <br>
        <textarea></textarea>
        <dl>
            <dt><strong>我承诺</strong></dt>
            <ul>
                <li>年满18岁、单身</li>
                <li>抱着严肃的态度</li>
                <li>真诚寻找另一半</li>
            </ul>
        </dl>
        <input type="checkbox">我同意所有条款
        <br>
        <br>
        <input type="submit" value="免费注册">
        <input type="reset" value="重置">
   
    </form>
</body>
</html>

实现的效果为:


​​​​​​​

猜你喜欢

转载自blog.csdn.net/qq_43658148/article/details/130587346