文章目录
HTML:Hyper Text Markup Language
首先声明:本篇文章基于狂神说Java展开学习~
What is HTML
- 超文本标记语言
Version
html5,与之前的时候需要flash插件去播放视频,但在html5中提供了很多新功能,如不需要插件直接使用网页播放视频,使用网页实现动态渲染图形,图标,图像和动画。
Standard
- W3C
- World Wide Web Consortium 万维网联盟
- web技术领域最权威和具影响力的国际中立性技术标准机构 扩展还有一个IEEE
- W3C标准包括
- 结构化标准语言(HTML XML)
- 表现标准语言(CSS)
- 行为标准(DOM、ECMAScript)
Software
在idea中打开非常方便,自动生成结构,在右上角可以直接打开浏览器调试
Study
注释符号:<!-- -->
<!-- DOCTYPE:告诉浏览器,使用的规范-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body> <!--开放标签
这里上下成对出现 分别又自己的名字 -->
</body> <!--闭合标签-->
</html>
base label
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!-- 地址栏中的名称-->
<title>666</title>
</head>
<body>
<!--标题标签-->
<h1>一级标题</h1>
<h2>two</h2>
<h3>three</h3>
<h4>four</h4>
<h5>five</h5>
<h6>six</h6>
<!--段落标签 : 注意如果不加标签则会导致内容在一行显示,现在是进行分段 每个标签里面的内容作为一段出现-->
<p>一去二三里</p>
<p>岩村四五家</p>
<p>亭台六七座</p>
<p>八九十之花</p>
<!--水平线标签-->
<hr/>
<!--换行标签 : 间隙比段落标签变小 只是单纯的换行 属于一段中的内容-->
一去二三里<br/>
岩村四五家<br/>
亭台六七座<br/>
八九十之花<br/>
<!--粗体,斜体-->
<h1>字体样式标签</h1>
粗体 : <strong>i love u</strong> <br>
斜体 : <em>i love u</em>
<hr>
<!--特殊符号-->
空格: 空格 <br>
大于号: > <br>
小于号: < <br>
版权符号: ©版权所有happy superman
</body>
</html>
效果图:
image label
常见图像格式:
JPG
GIF
PNG
BMP 这是一个位图
图像标签组成及其属性
<img src="path" alt="text" title="text" width="x" height="y"/>
属性解释:
src:图像地址 (必填)
alt:图像的代替文字 当src找不到图像的时候显示(必填)
title:鼠标悬停提示文字
width:宽度
height:高度
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图像标签学习</title>
</head>
<body>
<!--img学习
src:图片地址
相对地址 , 绝对地址
../ 代表上一级目录
-->
<img src="../resource/image/HZNUCTF.jpg" alt="哈皮" title="悬停文字" width="300" height="300">
</body>
</html>
link label
<a href="path" target="目标窗口位置">链接文本或图像</a>
属性解释:
href:链接路径
target:链接在哪个窗口打开 常用值:_self _blank
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>链接标签学习</title>
</head>
<body>
<!--使用name作为标记-->
<a name="top"></a>
<!--a标签
href:必填 表示要跳转到那个页面
target:表示窗口在哪里打开
_blank:在新窗口打开
_self:在当前界面打开
-->
<a href="2基本标签.html" target="_blank">点击我跳转到页面2</a>
<a href="https://www.baidu.com" target="_self">点击我跳转到百度</a>
<br>
<a href="2基本标签.html">
<img src="../resource/image/HZNUCTF.jpg" alt="哈皮" title="悬停文字" width="300" height="300">
</a>
<br>
<p>
<a href="2基本标签.html">
<img src="../resource/image/HZNUCTF.jpg" alt="哈皮" title="悬停文字" width="300" height="300">
</a>
</p><p>
<a href="2基本标签.html">
<img src="../resource/image/HZNUCTF.jpg" alt="哈皮" title="悬停文字" width="300" height="300">
</a>
</p><p>
<a href="2基本标签.html">
<img src="../resource/image/HZNUCTF.jpg" alt="哈皮" title="悬停文字" width="300" height="300">
</a>
</p><p>
<a href="2基本标签.html">
<img src="../resource/image/HZNUCTF.jpg" alt="哈皮" title="悬停文字" width="300" height="300">
</a>
</p><p>
<a href="2基本标签.html">
<img src="../resource/image/HZNUCTF.jpg" alt="哈皮" title="悬停文字" width="300" height="300">
</a>
</p><p>
<a href="2基本标签.html">
<img src="../resource/image/HZNUCTF.jpg" alt="哈皮" title="悬停文字" width="300" height="300">
</a>
</p><p>
<a href="2基本标签.html">
<img src="../resource/image/HZNUCTF.jpg" alt="哈皮" title="悬停文字" width="300" height="300">
</a>
</p>
<!--锚链接
1. 需要一个锚标记
2. 跳转到标记 #
-->
<a href="#top">回到顶部</a>
<!--做一个锚链接的标记-->
<a name="down"></a>
<!--功能性链接
邮件链接:mailto:
QQ链接:在QQ推广中添加
-->
<a href="mailto:test.qq.com">点击联系我</a>
</body>
</html>
list label
列表就是信息资源的一种展示形式,使信息结构化 条理化
分类:
无序列表
有序列表
定义列表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>列表学习</title>
</head>
<body>
<!--有序列表 order list-->
<ol>
<li>Java</li>
<li>Python</li>
<li>运维</li>
<li>前端</li>
<li>C/C++</li>
</ol>
<hr>
<!--无序列表 unordered list-->
<ul>
<li>Java</li>
<li>Python</li>
<li>运维</li>
<li>前端</li>
<li>C/C++</li>
</ul>
<hr>
<!--自定义列表
dl:标签
dt:列表名称
dd:;列表内容
-->
<dl>
<dt>1</dt>
<dd>2</dd>
<dd>3</dd>
<dd>4</dd>
<dd>5</dd>
<dd>6</dd>
</dl>
</body>
</html>
table label
表格:
为什么使用?
简单通用
结构稳定
基本结构:
单元格
行
列
跨行
跨列
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表格学习</title>
</head>
<body>
<!--表格table
行 tr table raws
列 td
-->
<table border="1px">
<tr>
<!-- colspan 跨列-->
<td colspan="3">1-1</td>
<td>1-1</td>
<td>1-1</td>
</tr>
<tr>
<!-- rowspan 跨行-->
<td rowspan="2">2-1</td>
<td>2-2</td>
<td>2-3</td>
</tr>
<tr>
<!-- <td>3-1</td>-->
<td>3-2</td>
<td>3-3</td>
</tr>
</table>
</body>
</html>
效果:
example:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表格学习</title>
</head>
<body>
<!--表格table
行 tr table raws
列 td
-->
<table border="1px">
<tr>
<!-- colspan 跨列-->
<td colspan="3">学生成绩</td>
</tr>
<tr>
<!-- rowspan 跨行-->
<td rowspan="2">狂神</td>
<td>语文</td>
<td>100</td>
</tr>
<tr>
<!-- <td>3-1</td>-->
<td>数学</td>
<td>100</td>
</tr>
<tr>
<!-- rowspan 跨行-->
<td rowspan="2">哈皮</td>
<td>语文</td>
<td>100</td>
</tr>
<tr>
<!-- <td>3-1</td>-->
<td>数学</td>
<td>100</td>
</tr>
</table>
</body>
</html>
media elements
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>媒体元素学习</title>
</head>
<body>
<!--视频和音频-->
<!--controls 控制按钮-->
<!--autoplay 自动播放-->
<video src="../resource/video/haha.mp4" controls autoplay></video>
<audio src="../resource/audio/baba.mp3" controls autoplay></audio>
</body>
</html>
page frame
<!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_inside_frame
内联框架
<iframe src="path" name="mainFrame"></iframe>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>内联框架</title>
</head>
<body>
<!--iframe内联框架
src:地址
w-h:宽度 高度
可以f12审查元素 看到w-h
-->
<iframe src="https://www.bilibili.com/" frameborder="0" width="1000px" height="1000px"></iframe>
<iframe src="//player.bilibili.com/player.html?aid=55631961&bvid=BV1x4411V75C&cid=97257967&page=11" scrolling="no" border="0" frameborder="no"
framespacing="0" allowfullscreen="true">
</iframe>
<!--拓展跳转使用
设置name之后
当点击之后target寻找name进行跳转 在开辟的空间内打开指定链接
-->
<iframe src="" name="hello" frameborder="0" width="1000px" height="1000px"></iframe>
<a href="2基本标签.html" target="hello">点击我进行指定跳转</a>
</body>
</html>
submit form by post or get
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录注册表单学习</title>
</head>
<body>
<!--表单form
action:表单提交的位置 可以是网站 也可以是一个请求处理地址
method:post get 提交方式
get方式提交:我们可以在url中看到我们提交的信息 不安全 但是高效
post方式提交: 比较安全 可以传输大文件
-->
<h1>注册</h1>
<form action="2基本标签.html" method="post">
<!-- 文本输入框:<input type="text">-->
<p>名字:<input type="text" name="username"></p>
<!-- 密码框:<input type="password" name="pwd">-->
<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>
<!--表单form
action:表单提交的位置 可以是网站 也可以是一个请求处理地址
method:post get 提交方式
get方式提交:我们可以在url中看到我们提交的信息 不安全 但是高效
post方式提交: 比较安全 可以传输大文件
-->
<h1>注册</h1>
<form action="2基本标签.html" method="post">
<!-- 文本输入框:<input type="text">
value是默认值
-->
<p>名字:<input type="text" name="username" value="哈皮好帅" maxlength="8" size="30"></p>
<!-- 密码框:<input type="password" name="pwd">-->
<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>
<!--表单form
action:表单提交的位置 可以是网站 也可以是一个请求处理地址
method:post get 提交方式
get方式提交:我们可以在url中看到我们提交的信息 不安全 但是高效
post方式提交: 比较安全 可以传输大文件
-->
<h1>注册</h1>
<form action="2基本标签.html" method="get">
<!-- 文本输入框:<input type="text">-->
<!-- value相当于默认值-->
<!-- readonly表示只能读 不能修改-->
<!-- hidden表示隐藏域 看不见 但是可以正常提交默认值-->
<p>名字:<input type="text" name="username" value="哈皮好帅" maxlength="8" size="30" readonly></p>
<!-- 密码框:<input type="password" name="pwd">-->
<p>密码:<input type="password" name="pwd" hidden value="123456"></p>
<!-- 单选框-->
<p>性别:
<!-- name进行对单选框打组-->
<!-- value表示单选框的值 提交时的内容是value 外面的文字只是一个提示-->
<!-- disabled表示禁用 不能选-->
<input type="radio" value="boy" name="sex" checked disabled>男
<input type="radio" value="girl" name="sex">女
</p>
<!-- 多选框-->
<p>爱好:
<input type="checkbox" value="sleep" name="hobby">睡觉
<!-- checked默认选中-->
<input type="checkbox" value="code" name="hobby" checked>敲代码
<input type="checkbox" value="chat" name="hobby">聊天
<input type="checkbox" value="ball" name="hobby">篮球
</p>
<!-- 按钮-->
<p>按钮:
<!-- 但是没有变化 需要js去写效果-->
<input type="button" name="btn1" value="点击变色">
<!-- 这个图片具有和提交相同的效果-->
<input type="image" src="../resource/image/HZNUCTF.jpg">
</p>
<!-- 下拉框,列表框-->
<p>国家:
<select name="列表名称">
<!-- selected表示默认选择-->
<option value="China" selected>中国</option>
<option value="usa">美国</option>
<option value="eth">瑞士ETH</option>
<option value="Italu">意大利</option>
</select>
</p>
<!-- 文本域-->
<p>反馈:
<!-- cols列 rows行-->
<textarea name="textarea" cols="30" rows="10">文本内容</textarea>
</p>
<!-- 文件域-->
<p>文件上传:
<!-- 通过name属性才能上传执行 键值对的形式-->
<input type="file" name="files">
<input type="button" value="上传" name="upload">
</p>
<!-- 邮件验证-->
<p>邮箱:
<!-- 会验证邮件的格式 但是验证比较low 一般都上用javaScript去验证-->
<input type="email" name="email">
</p>
<p>URL
<input type="url" name="url">
</p>
<p>数字
<!-- 范围0到100 且只能为10的倍数-->
<input type="number" name="num" max="100" min="0" step="10">
商品数量:
<!-- 范围0到100 且只能为10的倍数-->
<input type="number" name="num" max="100" min="0" step="1">
</p>
<!-- 滑块
可以读取值调节音量
-->
<p>音量:
<input type="range" name=voice min="0" max="100" step="1">
</p>
<!-- 搜索框-->
<p>搜索:
<input type="search" name="search">
</p>
<!-- 增强鼠标可用性-->
<p>
<label for="mark">你点我试试</label>
<input type="text" id="mark">
</p>
<p>
<input type="submit">
<input type="reset" value="清空表单">
</p>
</form>
</body>
</html>
from verify
- 为什么进行表单验证?
减轻服务器的一些负担,减少一些无效的表单请求
保证数据的安全性
注意在html的验证是初级的,高级的验证用js去实现
- placeholder 设置默认参数 提示信息
<p>密码:<input type="password" name="pwd" placeholder="请输入密码"></p>
- requried 必须填写该字段的验证 非空判断
<p>密码:<input type="password" name="pwd" placeholder="请输入密码" required></p>
- pattern 自己设置正则表达式验证
<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]+)+$/">
</p>
Summary
我是哈皮,祝您每天嗨皮,我们下期再见~