【前端】——HTML5基础知识(小白教程)

本文详细介绍了HTML5的基础知识,包括HTML的结构、字符集、元数据、语义标签、列表、超链接、图片、内联框架、音频、视频、表格和表单。重点讲解了字符实体、元数据的charset属性、语义标签的使用,以及表单的input控件和label标签。此外,还介绍了表格的创建和单元格合并,以及如何创建和使用表单。

什么是 HTML?

  • HTML 是用来描述网页的一种语言。
  • HTML 指的是超文本标记语言 (Hyper Text Markup Language)
  • HTML 不是一种编程语言,而是一种标记语言
  • 标记语言是一套标记标签 
  • HTML 使用标记标签来描述网页

一、HTML骨架 

<!doctype html>
<html lang=“en”>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
    </body>
</html>

1.!doctype html(文档声明)

<!doctype html>
  •  文档声明用来告诉浏览器当前网页的版本
  • <!doctype html>就是声明网页是HTML5版本的

2.html(超文本标记语言)

<html></html>
  • html的根标签(元素),网页中的所有内容都要写根元素的里边 
  • lang表示语言:“en”表示英文“zh-CN”表示中文简体...等,哪种语言对内容没影响,但会告诉浏览器这是什么语言的网站,协助浏览器完成翻译等操作

3.head(头部)

<head></head>

head是网页的头部,head中的内容不会在网页中直接出现,主要用来帮助浏览器或搜索引擎来解析网页 

4.body(主体)

<body></body>

body是htm1的子元素,表示网页的主体,网页中所有的可见内容都应该写在body里 

5.charset(字符集)

 字符编码

所有的数据在计算机中存储时都是以二进制形式存储的,文字也不例外。

所以一段文字在存储到内存中时,都需要转换为二进制编码当我们读取这段文字时,计算机会将编码转换为字符,供我们阅读

编码

将字符转换为二进制码的过程称为编码

解码

将二进制码转换为字符的过程称为解码

字符集

编码和解码所采用的规则称为字符集(相当于密码本)

乱码

如果编码和解码所采用的字符集不同就会出现乱码问题。

可以通过meta标签来设置网页的字符集,避免乱码问题

<meta charset="utf-8">

meta标签用来设置网页的元数据,这里meta用来设置网页的字符集,避免乱码问题 

utf-8:万国码

6.title(网页标题)

<title></title>

title中的内容会显示在浏览器的标题栏,搜索引擎会主要根据title中的内容来判断网页的主要内容 


二、字符实体与语义标签

1. 实体

语法:&实体的名字;

有些时候,在HTML中不能直接书写一些特殊符号,如:

  • 多个连续的空格(在网页中编写的多个空格默认情况会自动被浏览器解析为一个空格)
  • 比如字母两侧的大于小于号(可能会被认为是标签并解析)

如果我们需要在网页中书写这些特殊的符号,则需要使用html中的实体(转义字符)如:

实体名字显示结果描述
&nbsp;

空格

&gt;>大于号
&lt;<小于号
&copy©版权

更多实体:HTML 字符实体HTML ISO-8859-1 参考手册


2.meta(元数据)

  • meta标签必须放在head标签中
  • meta主要用于设置网页中的一些元数据,元数据并不是给用户看的

属性:

1.charset

<meta charset="utf-8">

以上代码表示设置字符集

2.http-equiv(设置http首部)

equiv(等效)

<meta http-equiv="refresh"content="3;url=网页">

 以上代码表示3秒后跳转到该网页

refresh(刷新)

content(内容)“n;url=”(链接)

3.name

<meta name="description"content="腾讯网从2003年创立至今,已经成为集新闻信息,区域垂直生活服务、社会化媒体资讯和产品为一体的互联网媒体平台。腾讯网下设新闻、科技、财经、娱乐、体育、汽车、时尚等多个频道,充分满足用户对不同类型资讯的需求。同时专注不同领域内容,打造精品栏目,并顺应技术发展趋势,推出网络直播等创新形式,改变了用户获取资讯的方式和习惯。">

 description(描述)

content


3.语义标签

  • 在网页中HTML专门用来负责网页的结构所以在使用html标签时,应该关注的是标签的语义,而不是它的样式

文本格式化标签

语义标签说明
加粗<strong></strong>更推荐使用<strong></strong>标签加粗,语义更强烈
倾斜<em></em>更推荐使用<em></em>标签加粗,语义更强烈
删除线<del></del>更推荐使用<del></del>标签加粗,语义更强烈
下划线<ins></ins>更推荐使用<ins></ins>标签加粗,语义更强烈
我是<strong>strong</strong><br />
我是<em>倾斜线</em><br />
我是<del>删除线</del><br />
我是<ins>下划线</ins><br />

效果

 块元素(block element)

  • 在网页中一般通过块元素来对页面进行布局

行内元素(inline element)

  • 行内元素主要用来包裹文字
  • 一般情况下会在块元素中放行内元素,而不会在行内元素中放块元素
  • <q>元素中不能放任何的块元素

行内块元素


4. 内容修正

浏览器在解析网页时,会自动对网页中不符合规范的内容进行修正,比如:

  • 标签写在了根元素的外部
  • <p>元素中嵌套了块元素
  • 根元素中出现了除head和body以外的子元素

这个通过浏览器中的查看网页源代码并不能看到效果,但是使用F12进行开发者调试时是能够看到上述几种情况被修正的结果。不过虽然浏览器能够对不规范的页面内容进行修正,还是不建议编写不规范的代码,因为这对后期代码维护或团队代码协作将是非常不好的后果和体验。


5. 布局标签(这里不做详细介绍)

结构化语义标签

  • header表示网页的头部(页眉)
  • main表示网页的主体部分(一个页面中只会有一个main)
  • footer表示网页的底部(页脚)
  • nav表示网页中的导航
  • aside和主体相关的其他内容(侧边栏)
  • article表示一个独立的文章
  • section表示一个独立的区块,上边的标签都不能表示时使用section
  • div 块元素,没有任何的语义,就用来表示一个区块,一个div独占一行,可以理解为一个大盒子,目前来讲,div还是主要的布局元素
  • span 行内元素,没有任何的语义,一般用于在网页中选中文字,可以理解为小盒子

6.列表

在html中可以创建列表,html列表一共有三种:

(1)无序列表 

 使用ul标签创建无序列表, 用li创建列表项

  • <ul></ul>中只能嵌套<li></li>,直接在<ul></ul>标签中输入其他标签或者文字的做法是不被允许的。

  • <li>与</li>之间相当于一个容器,可以容纳所有元素。

<ul>
    <li>first column</li>
    <li>second column</li>
    <li>third column</li>
    <li>forth column</li>
    <li>fifth column</li>
</ul>

(2)有序列表

使用ol标签创建无序列表, 用li创建列表项

  • <ol></ol>中只能嵌套<li></li>,直接在<ol></ol>标签中输入其他标签或者文字的做法是不被允许的。

  • <li>与</li>之间相当于一个容器,可以容纳所有元素。

<ol>
    <li>first column</li>
    <li>second column</li>
    <li>third column</li>
    <li>forth column</li>
    <li>fifth column</li>
</ol>

(3)自定义列表

使用dl标签来创建定义列表,使用dt表示定义的内容,使用dd来对内容进行解释说明

  • <dl></dl>中只能嵌套<dt>和<dd>,直接在<dl></dl>标签中输入其他标签或者文字的做法是不被允许的。

  • <dt>和<dd>之间相当于一个容器,可以容纳所有元素。

<dl> 
    <dt>Beast of Bodmin</dt>
    <dd>A large feline inhabiting Bodmin Moor.</dd>
    <dt>Morgawr</dt>
    <dd>A sea serpent.</dd>
    <dt>Owlman</dt>
    <dd>A giant owl-like creature.</dd>
</dl>


7.超链接

  • 超链接可以让我们从一个页面跳转到其他页面,或者是当前页面的其他的位置
  • 使用a标签来定义超链接,href属性指定跳转的目标路径,属性值可以是一个外部网站的地址,也可以写一个内部页面的地址
  • 超链接是也是一个行内元素,在a标签中可以嵌套除它自身外的任何元素

外部地址

<a href="网址">链接名字</a>

 表示在本页面打开网址

href(Hypertext Reference)(超文本引用)

<a href="网址" target="_blank">链接名字</a>

表示在本页面打开网址,属性名target(目标),属性值_blank当此属性值变为 self则在本页面打开网址

内部地址

当我们需要跳转一个服务器内部的页面时,一般我们都会使用相对路径,会以./../开头

  • ./ 表示当前文件所在目录,可以省略不写
  • ../表示当前文件所在目录的上一级目录

  在1.1.html中输入

<a href=“./2.file/3.file/3.1.html">3.1.html</a>

 或

<a href="2.file/3.file/3.1.html">3.1.html</a>

以上代码表示打开3.1.html

在2.1.html中输入

<a href="../1.1.html">1.1.html</a>

以上代码表示打开1.1.html

锚点跳转

  • 可以使用javascript:;来作为href的属性,此时点击这个超链接什么也不会发生
  • 可以将#作为超链接的路径的占位符使用。
  • 空链接:可以直接将超链接的href属性值设置为#,这样点击超链接以后页面不会发生跳转,而是转到当前页面的顶部的位置,开发时使用
  • 可以跳转到页面的指定位置(锚点),只需将href的属性值改为#+某一元素的id或name属性值(唯一不重复)
<a id="a"></a>

以上代码表示a标签的id为a

下载链接:路径为一个.exe或者.zip文件等压缩包文件时,会下载文件

网页元素链接:

在网页中的各种元素,如文本、图像、表格、音频、视频等都可以添加超链接,方法是将原标签用a标签包裹起来,例:

<a><img></a>

8.图片

  • 图片标签用于向当前页面中引入一个外部图片
  • img标签是一个自结束标签,这种元素属于替换元素(块和行内元素之间,具有两种元素的特点)
<img src="" alt="" title="" width="" height="" border="">

属性

  • src(source):属性值为路径(路径规则和超链接是一样的)
  • alt(alternate,代替):图片的描述,这个描述默认情况下不会显示,有些浏览器会在图片无法加载时显示,搜索引擎会根据alt中的内容来识别图片
  • titile:鼠标放在图像上显示的文字
  • width:图片的宽度(单位是像素)
  • height :图片的高度(单位是像素)
  • border:可以给图片设置边框粗细
  •  宽度和高度中如果只修改了一个,则另一个会等比例缩放

注意

一般情况在pc端,不建议修改图片的大小,需要多大的图片就裁多大(否则影响像素)
但是在移动端,经常需要对图片进行缩放(大图缩小)

图片格式
jpeg(jpg)

  • 支持的颜色比较丰富
  • 不支持透明效果
  • 不支持动图
  • 一般用来显示照片

gif

  • 支持的颜色比较单一
  • 支持简单透明
  • 支持动图

png

  • 支持的颜色丰富
  • 支持复杂透明
  • 不支持动图
  • 专为网页而生

webp

  • 这种格式是谷歌新推出的专门用来表示网页中的图片的一种格式
  • 具备其他图片格式的所有优点,而且文件还特别的小
  • 缺点:兼容性不好

base64

  • 将图片使用base64编码,这样可以将图片转换为字符,通过字符的形式来引入图片

图片格式的选择

  • 图片效果一样的,选文件小的
  • 图片效果不一样的,选图片效果好的
  • 尽可能的兼顾和平衡图片效果和文件大小

9.内联框架

iframe内联框架,用于向当前页面中引入一个其他页面,

  • src:指定要引入的网页的路径
  • frameborderd:指定内联框架的边框,属性值为0是无框,1为有框
<iframe src="https://beansprouts.neocities.org/" frameborder="1"></iframe>

音频

  • audio标签用来向页面中引入一个外部的音频文件
  • 音视频文件引入时,默认情况下不允许用户自己控制播放停止

属性:

  • src:相对路径
  • controls:是否允许用户控制播放
  • autoplay:音频文件是否自动播放,如果设置了autoplay,则音乐在打开页面时会自动播放,但是目前来讲大部分浏览器都不会自动对音乐进行播放
  • loop(循环):音乐是否循环播放
<audio src="相对路径" controls autoplay loop></audio>

source

除了通过src属性来指定外部文件的路径以外,还可以通过source元素来指定文件的路径

<audio controls autoplay loop>
    对不起,您的浏览器不支持播放音频!请升级浏览器!
	<source src="./source/audio.mp3">
	<source src="./source/audio.ogg">
</audio>

IE11下,能够正常播放

 IE8下,出现我们自定义的提示信息

 

 embed

IE8下不支持audio元素,但是可以使用 embed元素在文档中的指定位置嵌入外部内容。

<embed src="">

视频

使用video标签来向网页中引入一个视频,使用方式和audio基本上是一样的

<video controls>
    <source src="https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm" type="video/webm">
    <source src="https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4" type="video/mp4">
    <embed src="https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4" type="video/mp4">
</video>

IE11下,能够正常播放, IE8下,也能正常播放

其他

通过iframeembed的方式引入视频。以某艺为例,提供了视频链接的HTML代码和通用代码,不过,embed需要flash的支持 

<iframe
        src="http://open.iqiyi.com/developer/player_js/coopPlayerIndex.html?vid=0c53ddd55f262c6d416afa9d1f49dc55&tvId=1008748400&accessToken=2.ef9c39d6c7f1d5b44768e38e5243157d&appKey=8c634248790d4343bcae1f66129c1010&appId=1368&height=100%&width=100%"
        frameborder="0" allowfullscreen="true" width="100%" height="100%"></iframe>
<embed
       src="//player.video.iqiyi.com/0c53ddd55f262c6d416afa9d1f49dc55/0/0/v_19rrcuh1jw.swf-albumId=1008748400-tvId=1008748400-isPurchase=0-cnId=undefined"
       allowFullScreen="true" quality="high" width="480" height="350" align="middle" allowScriptAccess="always"
       type="application/x-shockwave-flash"></embed>

表格

「1. 表格」

现在还是较为常用的一种标签,但不是用来布局,常见显示、展示表格式数据。因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候表格运用是否熟练就显得很重要,一个清爽简约的表格能够把繁杂的数据表现得很有条理。

「2. 创建表格」

<table>
  <tr>
    <td>单元格内的文字</td>
    ...
  </tr>
  ...
</table>

table、tr、td,他们是创建表格的基本标签,缺一不可

  • table用于定义一个表格标签。

  • tr标签 用于定义表格中的行,必须嵌套在 table标签中。

  • td 用于定义表格中的单元格,必须嵌套在<tr></tr>标签中。

  • 字母 td 指表格数据(table data),即数据单元格的内容,现在我们明白,表格最合适的地方就是用来存储数据的。td像一个容器,可以容纳所有的元素。

 

表头单元格标签th:一般表头单元格位于表格的第一行或第一列,并且文本加粗居中,只需用表头标签<th></th>替代相应的单元格标签<td></td>即可。 

表格标题caption通常这个标题会被居中且显示于表格之上。caption 标签必须紧随 table 标签之后。这个标签只存在表格里面才有意义。

<table>
   <caption>我是表格标题</caption>
</table>

 「3. 表格属性」

三参为0,平时开发时这三个参数border、cellpadding、cellspacing为0

「4. 合并单元格」

合并的顺序我们按照   先上 后下     先左  后右 的顺序 ,合并完之后需要删除多余的单元格。

  • 跨行合并:rowspan="合并单元格的个数"

  • 跨列合并:colspan="合并单元格的个数"

「5. 总结表格」

「6. 表格划分结构」

   对于比较复杂的表格,表格的结构也就相对的复杂了,所以又将表格分割成三个部分:题头、正文和脚注。而这三部分分别用:thead,tbody,tfoot来标注, 这样更好的分清表格结构,例:

<table>
    <thead>
        <th></th>
        <th></th>
        <th></th>
    </thead>
        <tbody>
            <tr></tr>
            <tr></tr>
            <tr></tr>
        </tbody>
    <tfoot></tfoot>
</table>

注意:

  1. <thead></thead>:用于定义表格的头部。用来放标题之类的东西。<thead> 内部必须拥有<tr> 标签!
  2.  <tbody></tbody>:用于定义表格的主体。放数据本体 。
  3.  <tfoot></tfoot>放表格的脚注之类。
  4.  以上标签都是放到table标签中。

表单

在HTML中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域3个部分构成。表单目的是为了收集用户信息。

表单控件:

                 包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等。

提示信息:
                一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。
表单域:  
             它相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的url地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器。

「1. input 控件」

<input type="属性值" value="">
  • input 输入的意思

  • <input />标签为单标签

  • type属性设置不同的属性值用来指定不同的控件类型

  • 除了type属性还有别的属性

用户名: <input type="text" /> 
密码:<input type="password" />

 效果:

 单选框

性别:<input type="radio" name=“性别” />男<input type="radio" name=“性别”/>女

 

 相同name属性值的标签之间可以实现都选一

复选框

爱好:<input type="checkbox" />吃饭<input type="checkbox" />睡觉<input type="checkbox" />打豆豆

value属性

  • value 默认的文本值。有些表单想刚打开页面就默认显示几个文字,就可以通过这个value 来设置,在文本框中显示,在其他type中不显示,起告诉后台的作用

name属性

  • name表单的名字, 这样,后台可以通过这个name属性找到这个表单。 页面中的表单很多,name主要作用就是用于区别不同的表单。
  • name属性后面的值,是我们自己定义的。
  • radio  如果是一组,我们必须给他们命名相同的名字 name   这样就可以多个选其中的一个啦
  • name属性,我们现在用的较少,但是,当我们学ajax 和后台的时候,是必须的。
用户名: <input type="text" name="usename" value="请输入用户名"/><br />
密码:<input type="password" name="pwd" value=""/><br />
性别:<input type="radio" name=“sex” value="男"/>男<input type="radio" name=“sex vaule="女"/>女

效果:

 checked和maxlength属性

  • checked属性值唯一为checkded表示默认选中状态。 较常见于 单选按钮和复选按钮。

  • maxlength属性值表示用户最多可以输入的字数

submit和reset属性

  • submit属性为点击提交整个表单域的所有元素给后台服务器,显示为提交,可以通过value改变
  • reset属性为点击重置表单域,恢复默认状态,显示为重置,可以通过value改变

「2.  label标签」

  • label 标签为 input 元素定义标注(标签)。

  • label标签主要目的是为了提高用户体验。为用户提高最优秀的服务。

作用:用于绑定一个表单元素, 当点击label标签的时候, 被绑定的表单元素就会获得输入焦点。

如何绑定元素呢

  • 第一种用法就是用label标签直接包含input表单, 适合单个表单选择

第二种用法 for 属性规定 label 与哪个表单元素绑定(通过id)。

<!--第一种-->
<label> 用户名: 
    <input type="radio" name="usename" value="请输入用户名">   
</label>
<!--第二种-->
<label for="sex">男</label><input type="radio" name="sex"  id="sex">

「3.  textarea控件(文本域)」

  • 通过textarea控件可以轻松地创建多行文本输入框.

  • cols="每行中的字符数" rows="显示的行数"  我们实际开发不用

<textarea >
    文本内容
</textarea>

文本框和文本域区别 

「4.  select下拉列表」

  • 如果有多个选项让用户选择,为了节约空间,我们可以使用select控件定义下拉列表。

  • 在option 中定义selected =" selected "时,当前项即为默认选中项。

  • 我们实际开发会用的比较少

    <select>
      <option>选项1</option>
      <option>选项2</option>
      <option>选项3</option>
      ...
    </select>

综合案例 

    <h3>青春不常在,抓紧谈恋爱</h3><br />
    <table width="400" border="1">

        <tr>
            <td>性别</td>
            <td><input type="radio" name="sex" value="nan" id="nan" /><label for="nan">男</label><input type="radio" name="sex" value="nv" id="nv" /><label for="nv">女</label></td>
        </tr>
        <tr>
            <td>生日</td>
            <td>
                <select>
                    <option>选择年</option>
                    <option>2000</option>
                    <option>2003</option>
                </select>
                <select>
                    <option>选择月</option>
                    <option>1</option>
                    <option>2</option>
                </select>
                <select>
                    <option>选择日</option>
                    <option>1</option>
                    <option>14</option>
                </select>
            </td>
        </tr>
        <tr>
            <td>所在地区</td>
            <td><input type="text" name="section" value="请填写所在地区"</td>
        </tr>
        <tr>
            <td>婚姻状况</td>
            <td><input type="radio" name="hunyin" value="marry" />已婚<input type="radio" name="hunyin" value="unmarry" />未婚<input type="radio" name="hunyin" value="dismarry" checked="checked" />离婚</td>
        </tr>
        <tr>
            <td>喜欢的类型</td>
            <td>
                <input type="checkbox" name="type" />妩媚的
                <input type="checkbox" name="type" />性感的
                <input type="checkbox" name="type" />胸大的
                <input type="checkbox" name="type" />都喜欢
            </td>

        </tr>
        <tr>
            <td>自我介绍</td>
            <td><textarea>个人介绍</textarea>
            <td>
        </tr>
        <tr>
            <td></td>
            <td><input type="button" value="免费注册" /></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="checkbox" />我同意注册条款和会员加入准则</td>
        </tr>
        <tr>
            <td></td>
            <td><a href="#">我是会员,立即登录</a></td>
        </tr>


    </table>
    <h4>我承诺</h4>
    <ul>
        <li>年满18、单身</li>
        <li>抱着严谨的态度</li>
        <li>真诚寻找另一半</li>
    </ul>

效果 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值