首页 > 技术文章 > HTML基础

leizia 2021-01-10 19:04 原文

HTML


一:初识HTML

什么时HTML?
Hyper Text Markup Language (超文本标记语言)

超文本包括:文字、图片、音频、视频、动画等
W3C ?
World Wide Web Consortium  (万维网联盟)

W3C标准包括:*
结构标准语言(XHTML、XML)
表现标准语言(CSS)
行为标准(DOM、ECMAScript)

HTML基本结构:

<html>
    <!--网页头部-->
    <head>
        <title>我的第一个网页</title>
    </head>
    <!--主体部分-->
    <body>
        我的第一个网页
    </body>
</html>
<body></body> <!--成对的标签,分别叫 开放标签 和 闭合标签-->
<hr/> <!--单独呈现的标签(空元素),意为用 / 来关闭空元素-->
<!DOCTYPE html>  <!--DOCTYPE:告诉浏览器,我们要使用什么规范-->
<html lang="en">  <!--总标签-->
<head>  <!--head标签代表网页头部-->
    
    <!--meta描述性标签,它用来描述我们网站的一些信息-->
    <!--meta一般用来做SEO-->
    <meta charset="UTF-8">
    <meta name="keywords" content="学习前端">
    <meta name="description" content="html基础学习">
    
    <title>我的第一个网页</title>  <!--title标签代表网页标题-->
</head>
<body>  <!--body标签代表网页主体-->

</body>
</html>

二:网页基本标签

标题标签

<!--标题标签-->
<h1>一级标签</h1>
<h2>二级标签</h2>
<h3>三级标签</h3>
<h4>四级标签</h4>
<h5>五级标签</h5>
<h6>六级标签</h6>

段落标签

<!--段落标签-->
<p>两只老虎,跑得快。</p>
<p>     跑得快。</p>
<p>     跑得快。</p>

换行标签

<!--换行标签,自闭合标签-->
两只老虎跑的快<br/>
跑得快<br/>
跑得快<br/>

水平线标签

<!--水平线标签-->
<hr/>

字体样式标签

<!--字体样式标签-->
<!--粗体,斜体-->
<strong>粗体</strong>
<em>斜体</em>

注释和特殊符号

<!--字体样式标签-->
<!--粗体,斜体-->
<strong>粗体</strong>
<em>斜体</em>

<!--特殊符号-->
<!--空格:&nbsp; -->
空格&nbsp;&nbsp;空格

<!--大于号:&gt; -->
<!--小于号:&lt; -->

<!--版权符号©:&copy; -->
版权所有&copy;

<!--特殊符号记忆方式:
先输入&
再输入任意字母,例如a
即可看到对应符号
分号;结束
-->

整体:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>基本标签</title>
</head>
<body>

<!--标题标签-->
<h1>一级标签</h1>
<h2>二级标签</h2>
<h3>三级标签</h3>
<h4>四级标签</h4>
<h5>五级标签</h5>
<h6>六级标签</h6>

<!--段落标签-->
<p>两只老虎,跑得快。</p>
<p>     跑得快。</p>
<p>     跑得快。</p>

<!--换行标签,自闭合标签-->
两只老虎跑的快<br/>
跑得快<br/>
跑得快<br/>

<!--水平线标签-->
<hr/>

<!--字体样式标签-->
<!--粗体,斜体-->
<strong>粗体</strong>
<em>斜体</em>

<!--特殊符号-->
<!--空格:&nbsp; -->
空格&nbsp;&nbsp;空格

<!--大于号:&gt; -->
<!--小于号:&lt; -->

<!--版权符号©:&copy; -->
版权所有&copy;

<!--特殊符号记忆方式:
先输入&
再输入任意字母,例如a
即可看到对应符号
分号;结束
-->

</body>
</html>

三:图像、超链接、网页布局

图像标签

常见的图像格式:

JPG、GIF、PNG、BMP(位图)...
<img src"path" alt="text" title="text" width="x" height="y"/>
src:图像地址
alt:图像的替代文字(当图片文件不存在时)
title:鼠标悬停提示文字
width:图像宽度
height:图像高度

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图像标签</title>
</head>
<body>
<!--
src:图片地址(必填)
    分为:绝对路径,相对路径(推荐)
    ../   上一级目录
    
alt:图片名字(必填)
-->
<img src="../resources/imags/264933.jpg" alt="小太阳" title="小太阳" width="1920px" height="1080px">
</body>
</html>

链接标签

<a href="path" target="目标窗口位置">链接文本或图像(可以将图片标签嵌入进来)</a>
href:链接路径
target:链接在哪个窗口打开
目标窗口位置:常用值:_self、_blank

页面间链接

从一个页面链接到另一个页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>链接标签</title>
</head>
<body>
<!--a标签:
href:必填,表示要跳转到哪个页面
target:表示窗口在哪里打开
       _blank: 在新标签页打开     blank /blæŋk/ 空白的
       _self:在当前页面打开

-->
<a href="html02.html">点击跳转</a>
<a href="https://www.baidu.com">点击跳转到百度</a>
<br/>

<!--图片超链接-->
<a href="html04.html">
    <img src="../resources/imags/264933.jpg" alt="小太阳">
</a>
</body>
</html>

锚链接

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>链接标签</title>
</head>
<body>

<!--锚标记-->
<a name="top">顶部</a>

<p>
    <img src="../resources/imags/264933.jpg" alt="小太阳" title="小太阳" width="500px" height="500px">
</p>

<p>
    <img src="../resources/imags/264933.jpg" alt="小太阳" title="小太阳" width="500px" height="500px">
</p>

<p>
    <img src="../resources/imags/264933.jpg" alt="小太阳" title="小太阳" width="500px" height="500px">
</p>

<p>
    <img src="../resources/imags/264933.jpg" alt="小太阳" title="小太阳" width="500px" height="500px">
</p>

<p>
    <img src="../resources/imags/264933.jpg" alt="小太阳" title="小太阳" width="500px" height="500px">
</p>

<p>
    <img src="../resources/imags/264933.jpg" alt="小太阳" title="小太阳" width="500px" height="500px">
</p>

<!--锚链接(返回到顶部)
1.需要一个锚标记
    <a name="top">顶部</a>
2.跳转到标记
    href="#:通过井号跳转到标记"
-->
<a href="#top">回到顶部</a>

<!--跳转到其他页面的标记处-->
<a href="html03.html#down">跳转到html03.html页面的down标记处</a>

</body>
</html>

功能性链接

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>链接标签</title>
</head>
<body>

<!--功能性链接
    邮件链接:href="mailto:邮件地址"
    QQ链接:搜索QQ推广,登录,推广工具
-->
    
<!--邮件链接-->
<a href="mailto:ssh2613@163.com">点击联系我</a>

<!--QQ推广链接-->
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=&site=qq&menu=yes"><img border="0" src="../resources/imags/counseling_style_53.png" alt="你好,加我。领取小电影!" title="你好,加我。领取小电影!"/></a>

</body>
</html>

行内元素和块元素

块元素

无论内容多少,该元素独占一行

行内元素

内容撑开宽度,左右都是行内元素的可以排在一行

四:列表、表格、媒体元素

列表

什么是列表?
列表就是信息资源的一种展示形式,它可以使信息结构化和条理化,并以列表的样式展示出来,以便浏览者更快捷的获得相应的信息

列表分类:

l 代表list:列表

无序列表

<!--无序列表
    应用范围:导航,侧边栏
-->
<ul>
    <li>java</li>
    <li>c</li>
    <li>c++</li>
    <li>python</li>
</ul>

有序列表

<!--有序列表
    应用范围:试卷,问答
-->
<ol>
    <li>java</li>
    <li>c</li>
    <li>c++</li>
    <li>python</li>
</ol>

自定义列表

<!--自定义列表
    dl:标签
    dt:列表名称
    dd:列表内容

    应用范围:公司网页底部
-->
<dl>
    <dt>学科</dt>
    <dd>java</dd>
    <dd>c</dd>
    <dd>c++</dd>

    <dt>位置</dt>
    <dd>杭州</dd>
    <dd>重庆</dd>
</dl>

表格

简单通用,结构稳定
基本结构:
单元格、行、列、跨行、跨列
<!--表格table
    行 tr  rows
    列 td
    border : 边界
	column:列
	row:行
	span:跨度,范围
-->

<table border="1px">
    <tr>
        <td>id</td>
        <td>name</td>
        <td>password</td>
    </tr>
    <tr>
        <td>1</td>
        <td>zhangsan</td>
        <td>0000</td>
    </tr>

    <tr>
        <!--跨列colspan="跨的列数"-->
        <td colspan="4">员工信息</td>
    </tr>
    <tr>
        <!--跨行rowspan="跨的行数"-->
        <td rowspan="3">部门</td>
        <td>id</td>
        <td>name</td>
        <td>password</td>
    </tr>
    <tr>
        <td>1</td>
        <td>zhangsan</td>
        <td>0000</td>
    </tr>
</table>

媒体元素

视频

<!--音频和视频
	video /ˈvɪ di əʊ/ 视频,录像
    src:资源路径
    controls:控制条
    autoplay:自动播放
-->
<video src="../resources/video/202002241911.mp4" controls autoplay></video>

音频

<!--音频和视频
	audio /ˈɔːdi əʊ/ 声音的,音频的
    src:资源路径
    controls:控制条
    autoplay:自动播放
-->
<audio src="../resources/audio" controls autoplay></audio>

页面结构分析

元素名 描述
header 标题头部区域的内容(用于页面或页面中的一块区域)
footer 标记脚部区域的内容(用于整个页面或页面的一块区域)
section Web页面中的一块独立区域
article 独立的文章内容
aside 相关内容或应用(常用于侧边栏)
nav 导航类辅助内容

iframe内联框架

在一个网页内嵌入另一个网页
<iframe src="path" name="mainFrame"></iframe>

src:引用页面地址
name:框架标识名
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--iframe内联框架
    src:地址
    width:宽度
    height:高度

将百度页面嵌入到当前框架内显示
src定义要嵌入网页的地址,会直接将要嵌入到网页嵌入在里面
-->
<iframe src="https:www.baidu.com" name="baidu" frameborder="0" width="1887px" height="900px"></iframe>


<iframe src="" name="hello" frameborder="0" width="1900px" height="900px"></iframe>
<!--
    点击跳转时,将html05.html嵌入到hello框架内显示
	a标签一定要写target="内联框架标识名:name数值"
-->
<a href="html05.html" target="hello">点击跳转</a>

</body>
</html>

五:表单及表单应用(重点)

表单语法

method:规定如何发送表单数据,常用值:get | post
action:表示向何处发送表单数据

<form method="post" action="result.html">
    <p>名字:<input name="name" type="text"></p>
    <p>密码:<input name="pass" type="password"></p>
    <p>
        <input type="submit" name="Button" value="提交"/>
        <input type="reset" name="Reset" value="重置"/>
    </p>
</form>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--表单form
    action:表单提交的位置,可以是网站,也可以是一个请求处理地址
    method:
        get:我们可以在url中看到我们提交的信息,不安全,高效
        post:比较安全,传输大文件
-->
<form action="html07.html" method="get">
    <!--文本输入框:input type="text"-->
    <p>名字:<input name="name" type="text"></p>
    <!--密码框:input type="passsword"-->
    <p>密码:<input name="pass" type="password"></p>
    <p>
        <input type="submit" name="Button" value="提交"/>
        <input type="reset" name="Reset" value="重置"/>
    </p>
</form>
</body>
</html>

<form action="html07.html" method="get">
    <!--文本输入框:input type="text"
    size:文本框长度
    value:默认初始值
    maxlength:最长能写几个字符
    -->
    <p>名字:<input name="name" type="text" value="用户名" size="3"></p>
    <!--密码框:input type="passsword"-->
    <p>密码:<input name="pass" type="password" value="密码" maxlength="6"></p>

    <!--单选框标签
    input type="radio"
    value:单选框的值
    name:表示组
    -->
    <p>
        <input type="radio" name="sex" value="0"/>男
        <input type="radio" name="sex" value="1"/>女
    </p>
</form>
<form action="html07.html" method="get">   
<!--
    提交按钮:input type="submit"
    重置按钮:input type="reset"
    -->
    <p>
        <input type="submit" name="Button" value="提交"/>
        <input type="reset" name="Reset" value="重置"/>
    </p>


    <!--多选框
    input type="checkbox"
    -->
    <p>地址:
        <input type="checkbox" name="site" value="beijing">北京
        <input type="checkbox" name="site" value="shanghai">上海
        <input type="checkbox" name="site" value="hangzhou">杭州
    </p>

    <!--普通按钮
    input type="button"
    -->
    <p>
        <input type="button" name="确认" value="yes">点击按钮
    </p>

    <!--图片按钮
    input type="image"
    -->
    <p>
        <input type="image" name="yes" src="../resources/imags/264933.jpg">
    </p>
</form>
<form action="html07.html" method="get">    
<!--下拉框
    select:标签
        option:选项
    selected:默认选中项
    -->
    <p>国家:
    <select name="guojia" id="">
        <option value="xuanxiang">选项</option>
        <option value="china" selected>中国</option>
        <option value="hg">韩国</option>
        <option value="***">新加坡</option>
    </select>
    </p>

    <!--文本域
        textarea
        cols:列
        rows:行
    -->
    <p>反馈:
        <textarea name="text" cols="10" rows="10"></textarea>
    </p>

    <!--文件域
        input type="file" name=""
    -->
    <p>
        <input type="file" name="file">
    </p>
</form>
<form action="html07.html" method="get">   
	<!--邮箱验证
        input type="email" name=""
    -->
    <p>邮箱:
        <input type="email" name="email">
    </p>

    <!--url验证
        input type="url" name=""
    -->
    <p>url:
    <input type="url" name="url">
    </p>

    <!--数字验证
    input type="number" name=""
    max:最大值
    min:最小值
    step:每次增加的数量
    value:设置初始值
    -->
    <p>商品数量:
        <input type="number" name="number" max="10" min="1" step="2" value="0">
    </p>

    <!--滑块:
        input type="range" name=""
        应用范围:一般用于音量
        max:最大值
        min:最小值
        step:每次
    -->
    <p>音量:
        <input type="range" name="vol" max="100" min="0">
    </p>

    <!--搜索框
        input type="search" name=""     search  /sɜːtʃ/  搜索,搜寻
    -->
    <p>搜索:
        <input type="search" name="search">
    </p>

</form>

表单应用

隐藏域

<!--
hidden:隐藏框内内容不显示,但实际的值是存在且可提交的
-->
<p>
   密码:<input name="pass" type="password" value="密码" maxlength="6" hidden>
</p>

只读

<!--
readonly:设为只读,不能修改
-->
<p>
    名字:<input name="name" type="text" value="用户名" size="3" readonly>
</p>

禁用

<!--
disabled:禁用,不能进行操作
-->
<input type="radio" name="sex" value="0" disabled/>男

扩展:

增强鼠标可用性

    <!--
    label标签
    for:指定一个id,当点击“跳到”时,光标会跳到id所在的标签框内
    -->
    <label for="mian">跳到</label>
    <input type="text" id="mian" name="text">

六:表单初级验证(重点)

常用方式

placeholder提示信息

<!--
placeholder: 默认提示信息,当编辑新内容时,会被取代
应用在输入框中
-->
<input type="text" name="username" placeholder="请输入用户名">

required非空判断

<!--
required: 非空判断,必须填写
应用在输入框中
-->
<input type="text" name="" placeholder="请输入用户名" required>

pattern正则表达式

<!--
pattern: 正则表达式,使用正则表达式脚本规范验证
应用在输入框中
-->
<input type="text" name="" placeholder="请输入用户名" required pattern="/^[a-z0-9_-]{3,16}$/">

推荐阅读