一. 引言

1.1 HTML概念

  • 网页, 是网站中的一个页面, 是构成网站的基本元素, 是承载各种网站应用的平台. 通俗的说, 网站就是由网页组成的, 通常我们看到的网页都是以html或html后缀结尾的文件, 俗称HTML文件

1.2 HTML5

  • 目前网页常用
  • 提供了一些新的元素和一些有趣的新特性, 同时也建立了一些新的规则. 这些元素, 特性和规则的建立 提供了许多新的网页功能, 如使用网页实现动态渲染图形, 图表, 图像和动画, 以及不需要安装任何插件直接使用网页播放视频等
  • 优势:
    • 世界知名浏览器厂商对HTML5的支持

      • 微软, Google, 苹果, Opera, Mozilla
    • 市场的需求
    • 跨平台

1.3 W3C标准

  • W3C

  • W3C标准包括
    • 结构化标准语言

      • HTML, XML
    • 表现标准语言
      • CSS
    • 行为标准
      • DOM, ECMAScript

二. HTML简介

2.1 什么是HTML

  • HTML全称: Hyper Text Markup Language(超文本标记语言)

    • 超文本: 包括文字, 图片, 音频, 视频, 动画等
    • 标记: 标签, 不同的标签实现不同的功能
    • 语言: 人与计算机的交互工具

2.2 HTML能做什么

  • HTML使用标记标签来描述网页, 展示信息给用户

2.3 HTML书写规范

  • HTML标签是以尖括号包围的关键字
  • HTML标签通常是成对出现的, 有开始就有结束
  • HTML通常都有属性, 格式: 属性="属性值"(多个属性之间空格隔开)
  • HTML标签不区分大小写, 建议全小写

2.4 IDEA快捷键

  • 生成注释: Ctrl + Shift + / 或者 Ctrl + /
  • 生成标签: Tab

三. HTML基本标签

3.1 结构标签

<html>: 根标签
<head>: 网页头标签
<title>: 网页的标题</title>
</head>
<body>: 网页正文</body>
</html>
<body text="#f00"></body> text: 设置网页正文中所有文字的颜色
<body bgcolor="#00f"></body> bgcolor:设置网页的背景色
<body background="1.png"></body> background:设置网页的背景图
  • 颜色的表示方式:

    • 方式一: 用表示颜色的英文单词, 例: red, green, blue
    • 方式二: 用16进制表示颜色, 例: #000000, #ffffff, #325687, #377405
  • 文件路径
    • ./ 表示当前目录下
    • ../ 表示父目录
    • / 表示根目录

3.2 排版标签

  • 可用于实现简单的页面布局
  • 注释标签: < !--注释-->
  • 换行标签: < br>
  • 段落标签: < p>文本文字< /p>
    • 特点: 段与段之间有空行
    • 属性: align对齐方式(left, center, right)
  • 水平线标签: < hr/>
    • 属性:

      • width: 水平线的长度(两种: 第一种, 像素表示; 第二种, 百分比表示)
      • size: 水平线的粗细(像素表示, 例如: 10px, 或者数字表示)
      • color: 水平线的颜色
      • align: 水平线的对齐方式
<!--换行-->
换<br>行
<!--段落 默认居左-->
<p>段落1</p>
<p align="center">段落2</p>
<p align="right">段落3</p>
<!--水平线 默认居中-->
<hr width="50%" align="left" color="#f00" size="7">

3.3 块标签

  • 使用CSS+DIV是目前流行的一种布局方式
  • 块标签
    • 无论内容有多少, 该标签独占一行
    • (p, h1-h6...)
  • 行内标签
    • 内容撑开宽度, 左右都是行内标签的可以排在一行
    • (a, strong, em...)

3.4 基本文字标签

  • font标签处理网页中文字的显示方式
<font size="7"></font>用于设置字体的大小, 最小1号, 最大7号
<font color="#f00"></font>用于设置字体的颜色
<font face="宋体"></font>>用于设置字体的样式

3.5 文本格式化标签

  • 使用标签实现标签的样式处理
<b>粗体</b>
<br>
<strong>加粗</strong>
<br>
<em>强调字体</em>
<br>
<i>斜体</i>
<br>
<small>小号字体</small>
<br>
<big>大号字体</big>
<br>
5<sup>2</sup>(上标)
<br>
H<sub>2</sub>O(下标)
<br>
<del>删除线</del>

3.6 标题标签

  • 随着数字增大字体逐渐变小, 字体是加粗的, 内置字号, 默认占据一行
<h1>h1标题(最大)</h1>
<h2>h2标题</h2>
<h3>h3标题</h3>
<h4>h4标题</h4>
<h5>h5标题</h5>
<h6>h6标题(最小)</h6>

3.7 列表标签(清单标签)

  • 无序列表: 使用一组无序的符号定义, < ul>< /ul>
<!--无序列表
ul: unordered list
-->
无序列表<br>
<ul>
<li>无序列表</li>
<li>无序列表</li>
<li>无序列表</li>
</ul> <ul type="circle">
<li>空心圆</li>
</ul>
<ul type="disc">
<li>实心圆</li>
</ul>
<ul type="square">
<li>黑色方块</li>
</ul>
  • 有序列表: 使用一组有序的符号定义, < ol>< ol>
<!--有序列表
ol: order list
-->
有序列表<br>
<ol>
<li>有序列表</li>
<li>有序列表</li>
<li>有序列表</li>
</ol> <ol type="1">
<li>数字类型</li>
</ol>
<ol type="A">
<li>大写字母类型</li>
</ol>
<ol type="a">
<li>小写字母类型</li>
</ol>
<ol type="I">
<li>大写古罗马</li>
</ol>
<ol type="i">
<li>小写古罗马</li>
</ol>
  • 嵌套列表: 无序列表与有序列表相互嵌套使用
<ul>
<li>嵌套列表</li>
<ol>
<li>嵌套列表</li>
</ol>
</ul>
  • 自定义列表
<!--自定义列表
dl: definition term
-->
<dl>
<dt>语言</dt> <dd>Java</dd>
<dd>python</dd>
<dd>C</dd>
<dd>Linux</dd>
<dt>位置</dt> <dd>北京</dd>
<dd>上海</dd>
<dd>广州</dd>
<dd>深圳</dd>
</dl>

3.8 图形标签

  • 在页面指定位置处引入一幅图片, < img>
src: 引入图片的地址
alt: 提示信息, 如果图片未能正确显示, 则显示提示信息
title: 鼠标悬停图片上提示的信息
width: 图片的宽度
height: 图片的高度
border: 图片的边框
align: 与图片对齐显示方式
hspace: 在图片左右设定空白
vspace: 在图片的上下设定空白 <p align="center">
前一行<br>
前面的文字<img src="./picture/002.png" alt="text" title="text" width="235" align="top" border="10" vspace="40" hspace="40">后面的文字
<br>后一行
</p>

3.9 链接标签

  • href: 在页面中使用链接标签跳转到另一页面

    • 标签: < a href="">< /a>
    • 属性: href跳转页面的地址(跳转到外网需要添加协议)
  • target属性: 设置跳转页面时的页面打开方式

    • _blank在新窗口打开
    • _self在原窗口打开
  • 锚链接: 跳转到指定位置

    • 定义位置: < a name="名称">< /a>, 使用name作为标记
    • 指向: < a href="#名称">< /a>, #+name属性值 跳转到name标记所在位置
  • 功能链接:

    • 邮件链接: < a href="mailto:邮箱">点击联系我< /a>

    • qq链接: 把跳转链接href中和图片标签src中的qq号换成真实的即可

      • <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=qq号&site=qq&menu=yes">
        <img border="0" src="http://wpa.qq.com/pa?p=2:qq号:53" alt="点击这里给我发消息" title="点击这里给我发消息"/>
        </a>
<font color="red" size="5"><a name="top">顶部</a></font><a href="Demo06.html" target="_blank">跳转到另一个页面</a>
<br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br>
<font color="blue" size="5"><a name="middle">中部</a></font><br><br><br><br>
<br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br>
<h4><a href="#top">回到顶部</a></h4>
<h4><a href="#middle">回到中部</a></h4>

3.10 表格标签

  • 普通表格 (table, tr(行), td(列))
<table border="1" width="200">
<tr>
<td>第一列</td>
<td>第二列</td>
<td>第三列</td>
</tr>
<tr>
<td>第一列</td>
<td>第二列</td>
<td>第三列</td>
</tr>
</table>
  • 表格的列标签(th): 内容有加粗和居中效果
<table border="1" width="200">
<tr>
<th>第一列</th>
<th>第二列</th>
<th>第三列</th>
</tr>
<tr>
<th>第一列</th>
<th>第二列</th>
<th>第三列</th>
</tr>
</table>
  • 表格的列合并属性(colspan): 在同一行内同时合并多个列
<table border="1" width="200">
<tr>
<th colspan="2"></th>
<th></th>
</tr>
</table>
  • 表格的行合并属性(rowspan): 在同一列内同时合并多个行
<table border="1" width="200">
<tr>
<th rowspan="2">第一列</th>
<th>第二列</th>
<th>第三列</th>
</tr>
</table>

3.11 媒体标签

<!--音频和视频
音频: audio
视频: video
src: 资源路径
controls: 控制条
autoplay: 自动播放
-->
<video src="./resource/video/min.mp4" controls autoplay></video> <audio src="./resource/audio/Empire%20Of%20Angels.mp3" controls autoplay></audio>

3.12 页面结构分析

  • header: 标记头部区域的内容(用于页面或页面中的一块区域)
  • footer: 标记脚部区域的内容(用于页面或页面中的一块区域)
  • section: Web页面中的一块独立区域
  • article: 独立的文章内容
  • aside: 相关内容或应用(常用于侧边栏)
  • nav: 导航类辅助内容
<header>
<h2>网页头部</h2>
</header> <section>
<h2>网页主体</h2>
</section> <footer>
<h2>网页脚部</h2>
</footer>

四. 综合案例

<!--表格table
行tr
列td
-->
<table border="1">
<tr>
<!--colspan 跨列-->
<th colspan="3">学生成绩</th>
</tr>
<tr>
<!--rowspan 跨行-->
<td rowspan="3">张三</td>
<td>语文</td>
<td>100</td>
</tr>
<tr>
<td>数学</td>
<td>100</td>
</tr>
<tr>
<td>英语</td>
<td>100</td>
</tr>
<tr>
<!--rowspan 跨行-->
<td rowspan="3">李四</td>
<td>语文</td>
<td>100</td>
</tr>
<tr>
<td>数学</td>
<td>100</td>
</tr>
<tr>
<td>英语</td>
<td>100</td>
</tr>
</table>

五. html表单标签

  • html表单用于收集不同类型的用户输入数据

5.1 form元素常用属性

  • action表示动作, 值为服务器的地址, 把表单的数据提交到该地址上处理
  • method请求方式: get和post
    • get:

      • 地址栏: 请求参数都在地址后拼接path?name="张三"&password="123456"
      • 不安全
      • 效率高
      • get请求大小有限制, 不同浏览器有不同, 但是大约是2KB; 一般情况用于查询数据
    • post:
      • 地址栏: 请求参数单独处理
      • 安全可靠些
      • 效率低
      • post请求大小理论上无限; 一般用于插入删除修改等操作
  • enctype: 表示是表单提交的类型
    • 默认值: application/x-www-form-urlencoded 普通表单
    • multipart/form-data 多部分表单 (一般用于文件上传)

5.2 input元素

  • 作为表单中的重要元素, 可根据不同type值呈现为不同状态
<form action="success.html" method="get">
单行文体框: <input type="text" name=""><br>
密码框: <input type="password" name=""><br>
单选按钮: <input type="radio" name="sex" value="male">男<input type="radio" name="sex" value="female">女<br>
多选框: <input type="checkbox" name=""><br>
日期框: <input type="date" name=""><br>
时间框: <input type="time" name=""><br>
日期和时间框: <input type="datetime" name=""><br>
电子邮件输入: <input type="email" name=""><br>
数值输入: <input type="number" name=""><br>
文件上传: <input type="file" name=""><br>
隐藏域: <input type="hidden" name=""><br>
取值范围: <input type="range" name=""><br>
取色按钮: <input type="color" name=""><br>
<hr>
表单提交按钮: <input type="submit" name=""><br>
普通按钮: <input type="button" name="" value="普通"><br>
重置按钮: <input type="reset" name=""><br>
图片提交按钮: <input type="image" src="./picture/002.png" name=""><br>
</form>

5.3 select元素(下拉列表)

  • 单选下拉列表: < select>< /select>
  • 默认选中属性: selected
<form action="success.html" method="get">
学历:
<select name="edu">
<option value="1">小学</option>
<option value="2">初中</option>
<option value="3">高中</option>
<option value="4">专科</option>
<option value="5" selected>本科</option>
<option value="6">硕士</option>
</select>
</form>
  • 多选下拉列表属性: < select>< /select>
  • 多选列表: multiple="multiple"
<form>
<select name="hobby" multiple="multiple" size="2">
<option value="1">编程</option>
<option value="2">音乐</option>
<option value="3">运动</option>
<option value="4">美食</option>
<option value="5">游戏</option>
<option value="6">电影</option>
</select>
</form>

5.4 textarea元素(文本域)

  • 多行文本框: < textarea cols="列" rows="行">< /textarea>
<textarea name="ta" cols="10" rows="2">HTML 学习</textarea>

5.5 表单初级验证

  • 常用方式

    • placeholder: 提示信息
    • required: 非空判断
    • pattern: 正则表达式 (网址: )
<p>用户:
<input type="text" name="username" placeholder="请输入用户名" required>
</p>
<p>自定义邮箱:
<input type="text" name="email" pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$">
</p>

5.6 综合案例

<h1>注册</h1>
<!--表单form
action: 表单提交的位置, 可以是网站, 也可以是请求处理地址
method: post, get 提交方式
get: 可以在url中看到我们提交的信息, 不安全, 高效
post: 比较安全
-->
<form action="1.我的第一个网页.html" method="get"> <!-- 1. 文本输入框: text
value="用户名" 默认初始值
maxlength="8" 最长写入字符个数
size="30" 文本框长度
readonly 只读
disabled 禁用
hidden 隐藏
-->
<p>用户:
<input type="text" name="username" placeholder="请输入用户名" required>
</p> <!-- 2. 密码框: password-->
<p>密码:
<input type="password" name="pwd" placeholder="请输入密码">
</p> <!-- 3. 单选框: radio
value: 单选框的值
name: 表示组
checked: 默认选项
-->
<p>性别:
<input type="radio" name="sex" value="male" checked>男
<input type="radio" name="sex" value="female">女
</p> <!-- 4. 多选框 checkbox
checked: 默认选项
-->
<p>爱好:
<input type="checkbox" name="hobby" value="study">学习
<input type="checkbox" name="hobby" value="music">音乐
<input type="checkbox" name="hobby" value="movie" checked>电影
<input type="checkbox" name="hobby" value="sport">运动
</p> <!-- 5. 普通按钮 button-->
<p>
<input type="button" name="btn1" value="按钮">
</p> <!-- 6. 图片按钮 image-->
<p>
<!-- <input type="image" src="./resource/image/001.png">-->
</p> <!-- 7. 文件域 file-->
<p>
<input type="file" name="files">
<input type="button" name="upload" value="上传">
</p> <!-- 8. 下拉框 select
multiple: 多行显示
size: 显示几行
selected: 默认选项
-->
<p>国家:
<select name="country">
<option value="US">美国</option>
<option value="China" selected>中国</option>
<option value="UK">英国</option>
<option value="GM">德国</option>
</select>
</p> <!-- 9. 文本域 textarea
cols: 列的数量
rows: 行的数量
-->
<p>
<textarea name="textarea" cols="20" rows="5" placeholder="请输入内容"></textarea>
</p> <!-- 10. 邮件 email-->
<p>邮箱:
<input type="email" name="email" placeholder="请输入邮箱">
</p> <!-- 11. 网址 url-->
<p>网址:
<input type="url" name="url" placeholder="请输入网址">
</p> <!-- 12. 数字 number-->
<p>分数:
<input type="number" name="number" max="100" min="0" step="1" placeholder="请输入分数">
</p> <!-- 13. 滑块 range-->
<p>音量:
<input type="range" name="range" max="100" min="0" step="2">
</p> <!-- 14. 搜索 search-->
<p>搜索:
<input type="search" name="search" placeholder="请输入要搜索的内容">
</p> <!-- 15. 增强鼠标可用性-->
<p>
<label for="mark">点我输入留言: </label>
<input type="text" id="mark" placeholder="请输入您的留言">
</p> <!-- 16. 自定义邮箱
https://c.runoob.com/front-end/854 -->
<p>自定义邮箱:
<input type="text" name="email" pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$" placeholder="请输入正确格式的邮箱">
</p> <!-- 17. 提交按钮 submit-->
<input type="submit" > <!-- 18. 重置按钮 reset-->
<input type="reset" value="清空表单"> </form>

六. HTML框架标签

  • 通过使用框架, 你可以在同一个浏览器窗口中显示不止一个页面, 每份HTML文档称为一个框架, 并且每个框架都独立于其他的框架
  • 使用框架的缺点:
    • 开发人员必须同时跟踪更多的HTML文档
    • 很难打印整张页面

6.1 框架结构标签frameset

  • 框架结构标签: 用于定义如何将窗口分割为框架
  • 每个frameset定义了一系列行或列
  • rows/columns的值规定了每行或每列占据屏幕的面积
    • < frameset rows="">< /frameset>
    • < frameset columns="">< /frameset>

6.2 框架标签frame

  • 每个frame引入一个html页面
<frameset cols="*,*,*">
<frame src="Demo01.html" />
<frame src="Demo02.html" />
<frameset rows="10%,*">
<frame src="Demo03.html">
<frame src="Demo04.html">
</frameset>
</frameset>

6.3 基本的注意事项

  • HTML5不支持frameset标签
  • 不能将body标签frameset标签同时使用
  • 假如一个框架有可见边框, 用户可以拖动边框来改变它的大小, 为了避免这种情况发生, 可以在< frame>标签中加入: noresize="noresize"

6.4 iframe(HTML5支持)

<!--iframe
src: 链接地址
name: 框架标识名
w-h: 宽度高度
-->
<iframe src="" name="baidu" frameborder="0" width="1000" height="800"></iframe>
<a href="https://www.baidu.com" target="baidu">点击跳转</a>

七. HTML的其他标签和特殊字符

7.1 其他标签

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<!--该网页的描述-->
<meta http-equiv="descripton" content="this is my page">
<!--该网页的编码-->
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--href: 引入css文件的地址-->
<link rel="stylesheet" type="text/css" href="./style.css">
<!--src: js的文件地址-->
<script type="text/javascript" src=""></script>

7.2 特殊字符

占位符: 空格 空&nbsp;格
大于号: > &gt;
小于号: < &lt;
版权: 版权信息 &copy;HTML学习

1_Html的更多相关文章

  1. 小黑小波比.coding的使用

    1_Coding的演示 1_html的演示 1_先查看帮助 1.它支持的语言非常多.下面是链接地址 https://coding.net/u/bobo159357456/p/html/paas/hel ...

  2. HTM5新手学习的一些日常总结,相互交流和相互学习。

    第一天 一.HTML--网页的源码(超文本标签语言) HTML标签 标签式是HTML最基本单位和最重要的组成. 使<和>扩起来 标签都是闭合的(规范) HTML标签属性 是标签的一部分,用 ...

  3. HTML5周记(一)

    各位开发者朋友和技术大神大家好!博主刚开始学习html5 ,自本周开始会每周更新技术博客,与大家分享每周所学.鉴于博主水品有限,如发现有问题的地方欢迎大家指正,有更好的意见和建议可在评论下方发表,我会 ...

  4. HTML5的快速使用和css3的入门知识汇总

    各位开发者朋友和技术大神大家好!博主刚开始学习html5 ,自本周开始会每周更新技术博客,与大家分享每周所学.鉴于博主水品有限,如发现有问题的地方欢迎大家指正,有更好的意见和建议可在评论下方发表,我会 ...

  5. vue中嵌套页面(iframe)

    vue中嵌套iframe,将要嵌套的文件放在static下面.(要将打包文件整体放在statici里,我的文件名是canvas) src可以使用相对路径,也可使用服务器根路径http:localhos ...

  6. BOM的节点方法和属性

    一.HTML DOM >>>>>>>>>>>>>>>>>>>>具体可以参考W3S ...

随机推荐

  1. Schur不等式(舒尔不等式)

    舒尔( Schur \texttt{Schur} Schur)不等式1 具体内容 Schur \texttt{Schur} Schur 不等式: x , y , z x,y,z x,y,z 为非负实数 ...

  2. OI的起点

    经过几周的复制与粘贴建设与测试,我终于有了自己的博客! 本蒟蒻目前准初二,就读于深圳SFLS. 我以后会在这里发一些文章,希望大家多多支持.

  3. async和await详解

     async和await详解 1.非UI线程中执行 Test()函数带有async 和await ,返回值写成Task. 1 using System; 2 using System.Threadin ...

  4. mysql主从复制学习笔记

    一.musql主从复制原理 MySQL之间数据复制的基础是二进制日志文件(binary log file).一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以&q ...

  5. Unity3D学习笔记10——纹理数组

    目录 1. 概述 2. 详论 2.1. 实现 2.2. 注意 3. 参考 1. 概述 个人认为,纹理数组是一个非常有用的图形特性.纹理本质上是一个二维的图形数据:通过纹理数组,给图形数据再加上了一个维 ...

  6. CSS3 基础学习

    CSS基础学习 当前进度[P78] 参考资料 视频链接:https://www.bilibili.com/video/BV14J4114768 菜鸟教程:https://www.runoob.com/ ...

  7. 面向开发的内存调试神器,如何使用ASAN检测内存泄漏、堆栈溢出等问题

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 介绍 如何使用 ASAN 检测内存泄漏 检测悬空指针访问 检测堆溢出 C++ 中的new/delete不匹配 检测栈 ...

  8. java-重载、包修饰词以及堆栈管理

    1.方法的重写(Override):重新写.覆盖 1)发生在父子类中,方法名称相同,参数列表相同,方法体不同 2)重写方法被调用时,看对象的类型2.重写与重载的区别: 1)重写(Override): ...

  9. linux 旁路掉协议栈的处理点

    对于协议栈的发展,目前有三种处理趋势,一种是类似于使用dpdk的方式,然后将协议栈放到用户态来做,做得比较好的一般都是以bsd的协议栈为底子,可以参考的是腾讯开源的的方案,另外一种是,继续放在内核,但 ...

  10. ABC216H - Random Robots(容斥,状压DP)

    题面 有 K K K 个机器人初始分别位于数轴上 x 1 , x 2 , . . . , x K x_1,x_2,...,x_{K} x1​,x2​,...,xK​ 的整点位置. 接下来会经历 N N ...