HTML详解

目录

1.初识HTML

HTML:Hyper Text Markup Language(超文本标记语言)
超文本包括:文字、图片、音频、视频、动画等

  • HTML发展史:1993-2013(HTML5)

  • HTML5提供了一些新的元素和一些有趣的新特性,同时也建立了一些新规则。这些元素、特性和
    规则的建立,提供了许多新的网页功能,如使用网页实现动态渲染图形、图表、图像和动画,以
    及不需要安装任何插件直接使用网页播放视频等。

  • HTML5的优势:
    世界知名浏览器厂商对HTML5的支持(微软、Google、苹果、Opera、Mozilla)
    市场的需求
    跨平台

  • W3C标准
    W3C:
    World Wide Web Consortium(万维网联盟)
    成立于1994年,Web技术领域最权威和具影响力的国际中立性技术标准机构
    http://www.w3.org/““
    http://www.chinaw3c.org/
    W3C标准包括
    结构化标准语言(HTML、XML)
    表现标准语言(CSS)
    行为标准(DOM、ECMAScript)

  • 常见IDE
    1.记事本
    2.Dreamweaver
    3.IDEA
    4.Webstorm

  • HTML基本结构

  • 网页基本信息
    1.DOCTYPE声明
    2.title标签
    3.meta标签

<!-- DOCTYPE :告诉浏览器,我们要使用什么规范 -->
<!DOCTYPE html>
<html lang="en">

<!-- head标签代表网页头部 -->
<head>
    <!-- meta描述性标签,它用来描述我们网站的一些信息 -->
    <!-- meta一般用来做SEO-->
    <meta charset="UTF-8">
    <meta name="keywords" content="JavaWeb">
    <meta name="description" content="HTML">

    <!-- title网页标题-->
    <title>我的第一个网页</title>
</head>

<!-- body标签代表网页主体 -->
<body>
Hello World!
</body>
</html>

2.网页基本标签

  • 标题标签
  • 段落标签
  • 换行标签
  • 水平线标签
  • 字体样式标签
  • 注释和特殊符号
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>基本标签</title>
</head>
<br>

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

<!-- 段落标签 -->
<p>在我的怀里</p>
<p>在你的眼里</p>
<p>那里春风沉醉</p>
<p>那里绿草如茵</p>
<p>月光把爱恋</p>
<p>洒满了湖面</p>

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

<!-- 粗体 斜体-->
粗体:<strong>i love you </strong>
斜体:<em>i love you </em><br/>

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

<br/>
&gt;
<br/>
&lt;
<br/>
&copy;版权所有

<!-- 特殊符号记忆方式
 &  ;
 -->

<hr/>

<!-- br换行标签 -->
在我的怀里,在你的眼里<br/>
那里春风沉醉,那里绿草如茵<br/>
月光把爱恋,洒满了湖面<br/>
</body>
</html>

3.图像,超链接,网页布局

图像标签

常见的图像格式:
JPG
GIF
PNG
BMP

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图像标签学习</title>
</head>
<body>
<!-- img学习
 src : 图片地址
 相对地址(推荐使用),绝对地址
 ../  回到上一级目录
 alt : 图片名字(必填)
 -->

<img src="../html/resource/HTML基本结构.png" alt="图像" title="图像标签" width="300" height="300">


</body>
</html>

链接标签

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>链接标签学习</title>
</head>
<body>
<!-- a标签
 href : 必填,表示要跳转到那个页面
 target:表示窗口在哪里打开
 _blank 在新标签中打开
 _self 在自己的网页中打开
 -->

<a href="1.我的第一个网页.html">点击我跳转到页面一</a>
<a href="https://www.baidu.com/">点击我跳转到百度</a>

<br/>

<a href="1.我的第一个网页.html">
    <img src="../html/resource/HTML基本结构.png" alt="图像标签" title="图像标签" width="300" height="300">
</a>

</body>
</html>

超链接

1.页面间链接
从一个页面链接到另一个页面
2.锚链接
3.功能性链接

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>链接标签学习</title>
</head>
<body>
<!-- a标签
 href : 必填,表示要跳转到那个页面
 target:表示窗口在哪里打开
 _blank 在新标签中打开
 _self 在自己的网页中打开
 -->

<a href="1.我的第一个网页.html">点击我跳转到页面一</a>
<a href="https://www.baidu.com/">点击我跳转到百度</a>

<br/>

<a href="1.我的第一个网页.html">
    <img src="../html/resource/HTML基本结构.png" alt="图像标签" title="图像标签" width="300" height="300">
</a>

<!-- 锚链接
 1.需要一个锚标记
 2.跳转到标记
 #
 -->

<a href="#top">回到顶部</a>

<a href="4.链接标签.html#down">回到底部</a>

<!-- 功能性链接
 邮件链接:mailto:

 -->
<a href="mailto:12345678@qq.com">点击联系我</a>

<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=24736743&site=qq&menu=yes">
    <img border="0" src="http://wpa.qq.com/pa?p=2:24736743:53" alt="你好" title="你好">
</a>

</body>
</html>

行内元素和块元素

  • 块元素
    无论内容多少,,该元素独占一行
    (p、h1-h6…)
  • 行内元素
    内容撑开宽度,左右都是行内元素的可以排在一行
    (a、strong、em…)

4.列表,表格,媒体元素

列表

  • 什么是列表
    列表就是信息资源的一种展示形式。它可以使信息结构化和条理化,并以列表的样式显示出来,以便
    浏览者能更快捷地获得相应的信息
  • 列表的分类
    有序列表
    无序列表
    定义列表
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>列表学习</title>
</head>
<body>

<!-- 有序列表
应用范围:试卷,问答...
-->
<ol>
    <li>Java</li>
    <li>Python</li>
    <li>Linux</li>
    <li>JavaWeb</li>
    <li>C</li>
    <li>C++</li>
</ol>

<hr/>
<!-- 无序列表
 应用范围:导航,侧边栏...
 -->
<ul>
    <li>Java</li>
    <li>Python</li>
    <li>Linux</li>
    <li>JavaWeb</li>
    <li>C</li>
    <li>C++</li>
</ul>

<!-- 自定义列表
dl:标签
dt:列表名称
dd:列表内容
-->
<dl>
    <dt>学科</dt>
    <dd>Java</dd>
    <dd>Python</dd>
    <dd>Linux</dd>
    <dd>JavaWeb</dd>

    <dt>位置</dt>
    <dd>西安</dd>
    <dd>武汉</dd>
    <dd>重庆</dd>
</dl>
</body>
</html>

表格

  • 为什么使用表格
    简单通用
    结构稳定
  • 基本结构
    单元格


    跨行
    跨列
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表格</title>
</head>
<body>

<!--表格table
行 tr
列 td
-->
<table border="1px">
    <tr>
        <!--colspan 跨列-->
        <td colspan="6">1-1</td>
    </tr>
    <tr>
        <!--rowspan 跨行-->
        <td rowspan="2">2-1</td>
        <td>2-2</td>
        <td>2-3</td>
        <td>2-4</td>
        <td>2-5</td>
        <td>2-6</td>
    </tr>
    <tr>
        <td>3-1</td>
        <td>3-2</td>
        <td>3-3</td>
        <td>3-4</td>
        <td>3-5</td>
        <td>3-6</td>
    </tr>
</table>
</body>
</html>

视频和音频

视频元素
video
音频元素
audio

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>媒体元素学习</title>
</head>
<body>
<!-- 音频和视频
 src: 资源路径
 controls: 控制条
 autoplay: 自动播放
 -->

<video src="../resource/video/*.mp4" controls autoplay></video>
<audio src="../resource/audio/*.mp3" controls autoplay></audio>

</body>
</html>

页面结构分析

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>页面结构分析</title>
</head>
<body>

<header>
    <h2>网页头部</h2>
</header>

<section>
    <h2>网页主体</h2>
</section>

<footer>
    <h2>网页脚部</h2>
</footer>

</body>
</html>

iframe内联框架

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>内联框架iframe</title>
</head>
<body>

<!-- iframe 内联框架
src: 地址
w-h: 宽度高度
-->

<iframe src="https://www.baidu.com/" name="hello" frameborder="0" width="1000px" height="1000px"></iframe>
<a href="1.我的第一个网页.html" target="hello"></a>

</body>
</html>

5.表单及表单应用(重点)

表单语法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单学习登录注册</title>
</head>
<body>

<h1>注册</h1>
<!-- 表单form
action: 表单提交的位置,可以是网站,也可以是一个请求处理地址
method: post,get 提交方式
get方式提交:我们可以在Url中看到我们提交的信息,不安全,但高效
post方式提交:比较安全,传输大文件
-->
<form action="1.我的第一个网页.html" method="get">

    <!-- 文本输入框:input type="text" -->
    <p>名字:<input type="text" name="username"></p>

    <!-- 密码框:input type="password" -->
    <p>密码:<input type="password" name="pwd"></p>
    
    <p>
        <input type="submit">
        <input type="reset">
    </p>
</form>

</body>
</html>

表单元素格式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单学习登录注册</title>
</head>
<body>

<h1>注册</h1>
<!-- 表单form
action: 表单提交的位置,可以是网站,也可以是一个请求处理地址
method: post,get 提交方式
get方式提交:我们可以在Url中看到我们提交的信息,不安全,但高效
post方式提交:比较安全,传输大文件
-->
<form action="1.我的第一个网页.html" method="get">

    <!-- 文本输入框:input type="text"
    value="java" 默认初始值
    maxlength="8" 最长能写几个字符
    size="30" 文本框的长度
    -->
    <p>名字:<input type="text" name="username"></p>

    <!-- 密码框:input type="password" -->
    <p>密码:<input type="password" name="pwd"></p>

    <!-- 单选框标签
    input type="radio"
    value:单选框的值
    name:表示组
    -->
    <p>性别:
        <input type="radio" value="boy" name="sex" checked />男
        <input type="radio" value="girl" name="sex"/>女
    </p>

    <!--多选框
    input type="checkbox"
    -->
    <p>爱好:
        <input type="checkbox" value="sleep" name="hobby">睡觉
        <input type="checkbox" value="code" name="hobby"checked />敲代码
        <input type="checkbox" value="chat" name="hobby">聊天
        <input type="checkbox" value="game" name="hobby">游戏
    </p>

    <!--按钮
    input type="button" 普通按钮
    input type="image"  图像按钮
    input type="submit"  提交按钮
    input type="reset"  重置按钮
    -->
    <p>按钮:
        <input type="button" name="btn1" value="点击变长">
        <input type="image" src="../resource/*.jpg">
    </p>

    <!-- 下拉框,列表框
    
    -->
    <p>下拉框:
        <select name="列表名称">
            <option value="选项的值">中国</option>
            <option value="选项的值">美国</option>
            <option value="选项的值">瑞士</option>
            <option value="选项的值">印度</option>
        </select>
    </p>
    
    <!--文本域-->
    <p>反馈
        <textarea name="textarea" cols="30" rows="10">文本内容</textarea> 
    </p>

    <!--文件域
    input type="file" name="files"
    -->
    <p>
        <input type="file" name="files">
        <input type="button" value="上传" name="upload">
    </p>
    
    <!--邮件验证-->
    <p>邮箱:
        <input type="email" name="email">
    </p>

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

    <!--数字-->
    <p>数字:
        <input type="number" name="num" max="100" min="0" step="10">
    </p>
    
    <!-- 滑块
    input type="range"
    -->
    <p>音量:
        <input type="range" name="voice" min="0" max="100" step="2">
    </p>

    <!--搜索框-->
    <p>搜索框:
        <input type="search" name="search">
    </p>    

    <p>
        <input type="submit">
        <input type="reset" value="清空表单">
    </p>
</form>
</body>
</html>

表单的应用

隐藏域 hidden
只读 readonly
禁用 disable

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单学习登录注册</title>
</head>
<body>

<h1>注册</h1>
<!-- 表单form
action: 表单提交的位置,可以是网站,也可以是一个请求处理地址
method: post,get 提交方式
get方式提交:我们可以在Url中看到我们提交的信息,不安全,但高效
post方式提交:比较安全,传输大文件
-->
<form action="1.我的第一个网页.html" method="get">

    <!-- 文本输入框:input type="text"
    value="java" 默认初始值
    maxlength="8" 最长能写几个字符
    size="30" 文本框的长度
    -->
    <p>名字:<input type="text" name="username" readonly></p>

    <!-- 密码框:input type="password" -->
    <p>密码:<input type="password" name="pwd" hidden></p>

    <!-- 单选框标签
    input type="radio"
    value:单选框的值
    name:表示组
    -->
    <p>性别:
        <input type="radio" value="boy" name="sex" checked  disable />男
        <input type="radio" value="girl" name="sex"/>女
    </p>

    <!--多选框
    input type="checkbox"
    -->
    <p>爱好:
        <input type="checkbox" value="sleep" name="hobby">睡觉
        <input type="checkbox" value="code" name="hobby"checked />敲代码
        <input type="checkbox" value="chat" name="hobby">聊天
        <input type="checkbox" value="game" name="hobby">游戏
    </p>

    <!--按钮
    input type="button" 普通按钮
    input type="image"  图像按钮
    input type="submit"  提交按钮
    input type="reset"  重置按钮
    -->
    <p>按钮:
        <input type="button" name="btn1" value="点击变长">
        <input type="image" src="../resource/*.jpg">
    </p>

    <!-- 下拉框,列表框
    
    -->
    <p>下拉框:
        <select name="列表名称">
            <option value="选项的值">中国</option>
            <option value="选项的值">美国</option>
            <option value="选项的值">瑞士</option>
            <option value="选项的值">印度</option>
        </select>
    </p>

    <!--文本域-->
    <p>反馈
        <textarea name="textarea" cols="30" rows="10">文本内容</textarea>
    </p>

    <!--文件域
    input type="file" name="files"
    -->
    <p>
        <input type="file" name="files">
        <input type="button" value="上传" name="upload">
    </p>

    <!--邮件验证-->
    <p>邮箱:
        <input type="email" name="email">
    </p>

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

    <!--数字-->
    <p>商品数量:
        <input type="number" name="num" max="100" min="0" step="10">
    </p>

    <!-- 滑块
    input type="range"
    -->
    <p>音量:
        <input type="range" name="voice" min="0" max="100" step="2">
    </p>

    <!--搜索框-->
    <p>搜索框:
        <input type="search" name="search">
    </p>

    <!--增强鼠标可用性-->
    <lable for="mark">你点我试试</lable>
    <input type="text" id="mark">
    
    <p>
        <input type="submit">
        <input type="reset" value="清空表单">
    </p>
</form>
</body>
</html>

6.表单初级验证(重点)

思考?为什么要进行表单验证
常用方式:
placeholder 提示信息
required 非空判断
pattern 正则表达式

<p>名字:<input type="text" name="username" placeholder="请输入用户名" required></p>

    <p>自定义邮箱:
        <input type="text" name="diyemail" pattern="/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/或\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
    </p>

HTML总结