HTML基础

一、初识HTML

  • 什么是HTML

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

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

微信图片_20220606101829

  • HTML5的优势
    • 世界知名浏览器厂商对HTML5的支持
      • 微软
      • Google
      • 苹果
      • Opera
      • Mozilla(火狐)
    • 市场需求
    • 天然跨平台
  • W3C标准
    • W3C
    • W3C标准包括
      • 结构化标准语言(HTML、XML)
      • 表现标准语言(CSS)
      • 行为标准(DOM文档对象模型、ECMAScript[javaScript])
  • 常见IDE
    • 记事本、Dreamweaver、IDEA、WebStorm...
  • HTML标签
    • <body>、</body>等成对的标签分别叫做开放标签和闭合标签
    • 单独呈现的标签,如
      叫做自闭合标签

二、基本网页信息及注释

<!--DOCTYPE(文档类型):告诉浏览器,我们要使用什么规范,此处使用的是HTML5,去掉也可以,默认为html5 -->
<!DOCTYPE html>
<!--注释快捷键:ctrl+/-->
<html lang="en">
<!--head标签代表网页的头部-->
<head>
    <!--  meta描述性标签,它用来描述网站的一些信息  -->
    <!--  meta标签一般用来做SEO  -->
    <meta charset="UTF-8">
    <meta name="keywords" content="韩信"/>
    <meta name="description" content="描述"/>
    <!--  title网页标题  -->
    <title>我的第一个网页</title>
</head>
<!--body标签代表网页的主体-->
<body>
hello world
</body>
</html>

三、网页基本标签

  • 标题标签
  • 段落标签
  • 换行标签
  • 水平线标签
  • 字体样式标签
  • 注释和特殊符号
<!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按tab-->
<p>我走过玉门关外祁连山上飘的雪</p>
<p>也走过长城边上潇潇吹过来的风</p>
<p>山河边英雄遁入林间化成一场雨天地间</p>

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

<!--换行标签,一般要写上闭合-->
<!--换行标签和p标签的行间隙不同,比p标签紧凑-->
我走过玉门关外祁连山上飘的雪<br/>
也走过长城边上潇潇吹过来的风<br>
山河边英雄遁入林间化成一场雨天地间<br/>
<!--精体、斜体-->
粗体:<strong>i love you</strong>
斜体:<em>i love you</em>
<br/>
<!--特殊符号-->
<h1>特殊符号</h1>
空&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格:不使用特殊符号,不管有多少空格,默认为一个空格,使用&+nbsp+;
<br/>
大于号&gt;:&+gt+;
<br/>
小于号&lt;:&+lt+;
<br/>
版权符号:&copy;&+copy+;
<!--
    特殊符号记忆方式
    &+内容+;
    通过提示就能知道是什么符号了
-->
</body>
</html>

四、图像标签

  • 常见的图像格式

    • JPG、GIF、PNG、BMP

    187698138467568eaa1d33348cc2920

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图像标签</title>
</head>
<body>
<!--img学习
src:图片地址
    相对路径:../代表上一级目录,推荐使用相对路径
    绝对路径:使用绝对路径在IDEA中无法显示,路径的问题
-->
<img src="../resources/images/a9.jpg" alt="test" title="悬停文字" height="300" width="300" />
</body>
</html>

五、链接标签

image-20220607094246005

  • 分类一

    • 文本超链接
    • 图像超链接
  • 分类二

    • 页面间链接
      • 从一个网页链接到另一个页面
    • 锚链接
    • 功能性链接
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图像标签</title>
</head>
<body>
<!--img学习
src:图片地址
    相对路径:../代表上一级目录,推荐使用相对路径
    绝对路径:使用绝对路径在IDEA中无法显示,路径的问题
-->
<img src="../resources/images/a9.jpg" alt="test" title="悬停文字" height="300" width="300" />
<a href="4.链接标签.html#down">跳转到.链接标签的底部</a>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>链接标签学习</title>
</head>
<body>
<!--锚标记-->
<a name="top"></a>
<a href="#down">跳转到down</a>
<!--a标签
href:表示要跳转到哪个页面,默认不写是跳转到顶部
target:表示窗口在哪里打开
    _blank:在新标签页中打开
    _self:在自身网页打开,默认的
-->
<a href="1.我的第一个网页.html" target="_blank" >点击跳转到我的第一个网页</a>
<br>        
<a href="https://www.baidu.com" target="_self">点击跳转到百度</a>
<br>
<a href="1.我的第一个网页.html"><img src="../resources/images/a9.jpg" alt="" width="500"></a>
<img src="../resources/images/a9.jpg"/>
<img src="../resources/images/a9.jpg"/>
<img src="../resources/images/a9.jpg"/>
<img src="../resources/images/a9.jpg"/>
<img src="../resources/images/a9.jpg"/>
<img src="../resources/images/a9.jpg"/>
<!--锚链接
1.需要一个锚标记<a name=""></a>
2.跳转到标记#
-->
<a href="#top">回到顶部</a>
<a name="down"></a>
<!--功能性链接
邮件链接:mailto:
QQ链接:QQ推广里直接发起聊天链接
-->
<a href="mailto:songping5201314@outlook.com">点击联系我</a>
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=1163952121&site=qq&menu=yes">
    <img border="0" src="http://wpa.qq.com/pa?p=2:54940882:52" alt="点击这里给我发消息" title="点击这里给我发消息"/>
</a>
</body>
</html>

六、块元素和行内元素

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

七、列表标签

  • 什么是列表
    • 列表就是信息资源的一种展示形式。它可以使信息结构化和条理化,并以列表的样式显示出来,以便浏览器能更快捷地获得相应的信息。
  • 列表的分类
    • 无序列表
    • 有序列表
    • 自定义列表
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>列表学习</title>
</head>
<body>
<!--有序列表-->
<!--ol:order lists-->
<ol>
    <li>java
        <ol>
            <li>java1</li>
            <li>java2</li>
            <li>java3</li>
        </ol>
    </li>
    <li>c</li>
    <li>c++</li>
    <li>c#</li>
    <li>php</li>
</ol>
<hr/>
<!--无序列表 ul:unorder lists-->
<ul>
    <li>java
        <ul>
            <li>java1</li>
            <li>java2</li>
            <li>java3</li>
        </ul>
    </li>
    <li>c</li>
    <li>c++</li>
    <li>c#</li>
    <li>php</li>
</ul>
<hr/>
<!--自定义列表:
dl->definition lists标签
dt->definition title标签标题
dd->definition description标签选项
一般用于公司底部
-->
<dl>
    <dt>语言</dt>
    <dd>c+</dd>
    <dd>c#</dd>
    <dd>php</dd>
    <dd>java</dd>
    <dt>位置</dt>
    <dd>青岛</dd>
    <dd>深圳</dd>
    <dd>北京</dd>
    <dd>上海</dd>
</dl>
</body>
</html>

八、表格

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

image-20220608150922232

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表格学习</title>
</head>
<body>
<!--表格:table
行 tr
列 td(table data cell)
-->
<table border="1px">
    <tr>
        <!-- colspan跨列   -->
        <td colspan="3">1-1</td>
    </tr>
    <tr>
        <!-- rowspan跨行       -->
        <td rowspan="2">2-1</td>
        <td>2-2</td>
        <td>2-3</td>
    </tr>
    <tr>
        <td>3-2</td>
        <td>3-3</td>
    </tr>
</table>
</body>
</html>

九、视频和音频

  • 视频元素
    • video
  • 音频元素
    • audio
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>媒体元素学习</title>
</head>
<body>
<!--音频和视频-->
<!--video
controls:是一个属性,向用户显示控件,比如播放按钮
autoplay:自动播放,在某些浏览器(例如 Chrome )中,如果没有 muted 属性,则自动播放不起作用,在微软浏览器中,需要在设置中设置允许自动播放视频
-->
<video  src="../resources/videos/23.高等数学强化课第二十三次直播【微信公众号:小盆考研】免费分享.mp4" controls autoplay height="200px" width="300px"></video>
<!--audio-->
<audio src="../resources/musics/小蓝背心%20-%20目及皆是你.mp3" controls autoplay></audio>
</body>
</html>

十、页面结构分析

image-20220608155150463

image-20220608160136816

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>页面结构分析</title>
</head>
<body>
<header>
    <h1>页面头部</h1>
</header>
<nav>
    <h1>导航</h1>
</nav>
<section>
    <h1>页面主体</h1>
</section>
<article>
    <h1>独立的文章区域</h1>
</article>
<aside> 
    <h1>侧边栏</h1>
</aside>
<footer>
    <h1>页面脚部</h1>
</footer>
</body>
</html>

十一、iframe内联框架

image-20220608161707444

  • blibli可以copy视频的嵌入代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>内联框架</title>
</head>
<body>
<!--iframe 内联框架
src:地址
w-h:高度、宽度
name:标识符,可通过a标签的target属性设置跳转目标
许多网站设置了拒绝被嵌套,如www.baidu.com
-->
<!--<iframe src="7.媒体元素.html" frameborder="0" weight="500px" height="250px"></iframe>-->
<iframe src="" name="hello" frameborder="0" weight="500px" height="250px"></iframe>
<a href="https://www.cnblogs.com/sp520/" target="hello">点我</a>
<iframe src="//player.bilibili.com/player.html?aid=55631961&bvid=BV1x4411V75C&cid=97257967&page=11" scrolling="no"/>
</body>
</html> 

十二、表单

image-20220615140048214

  • get方式提交:我们可以在url中看到我们提交的信息,不安全,但高效率

image-20220615144415772

  • post:比较安全,可以传输大文件,可通过后台进行查看

image-20220615144226906

<!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="9.内联标签.html" method="post">
    <!--文本输入框:<input type="text"> -->
    <p>名字:<input type="text" name="username"></p>
    <!--密码输入框:<input type="password"> -->
    <p>密码:<input type="password" name="password"></p>
    <p>
        <input type="submit">
        <input type="reset">
    </p>
</form>
</body>
</html>
  • 表单input元素格式
    • 所有表单属性都需要name属性,否则上传的时候就没有对应的键,上传的数据都是以键值对的方式

image-20220616114250185

  • input类元素

    • radio:单选按钮,name相同则为同一个组,表单提交是提交radio选中的项的value
    • check:多选按钮,也有组的概念,name代表组
    • button:普通按钮,value为控件显示的名称,单击不可提交
    • image:图片按钮,需要src来赋值,单击可提交
    • submit:提交按钮,value可给按钮重新赋显示值
    • reset:重置按钮,value可给按钮重新赋显示值
    • file:文件域,用于上传文件
    • 验证
      • email:邮箱验证
      • url:url验证
      • number:数字验证,可设置最大最小值及步长
    • range:滑块,可用于音量大小调节等
    • search:搜索框,和text差不多,比text多了一个小叉号
  • 表单中的其他元素

    • 下拉框select,子选项是option标签,selected为默认选项

    • 文本域,就是多选文本,有cols列和rows行的属性

<!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="9.内联标签.html" method="post">
    <!--文本输入框:input type="text"
    value="韩信"  默认初使值
    maxlength="8"  最多能写多少个字符
    size="100"    文本框的长度
     -->
    <p>名字:<input type="text" name="username" value="韩信" maxlength="8" size="100"></p>
    <!--密码输入框:<input type="password"> -->
    <p>密码:<input type="password" name="password"></p>
    <!--单选框标签
    input type="radio"
    name="sex"   组  name一样,则在同一个组里
    value="boy"  值 选中提交的值
    -->
    <p>性别:<input type="radio" name="sex" value="boy" checked/>男<input type="radio" name="sex" value="girl"/>女</p>
    <!--多选框type="checkbox"
        name代表组
    -->
    <p>爱好:
        <input type="checkbox" value="sleep" name="hobby">睡觉
        <input type="checkbox" value="code" name="hobby">代码
        <input type="checkbox" value="game" name="hobby" checked>游戏
        <input type="checkbox" value="girl" name="hobby">女
    </p>
    <!--按钮
                value可给按钮标签赋值
       按钮       input type="button":点击不提交
       图片按钮    input type="image" :点击可提交
       提交按钮    input type="submit“
       重置按钮    input type="reset"
       -->
    <p>按钮:
        <input type="button" value="按钮" name="btn1">
        图片按钮:
        <input type="image" src="../resource/images/微信图片_20220616134924.png" value="value" name="btn2">
    </p>
    <p>
        <input type="submit" value="上交数据">
        <input type="reset">
    </p>
    <!--文件域 需要name属性    -->
    <p><input type="file" name="files"></p>
    <!--邮箱验证,可以验证是不是邮箱格式    -->
    <p>邮箱<input type="email" name="mail"></p>
    <!--url验证,可以验证是不是url格式    -->
    <p>url<input type="url" name="url"></p>
    <!--数字验证,可以验证是不是数字格式
       max最大值
       min最小值
       step步长,框内的数字必须为步长的倍数
       -->
    <p>数字<input type="number" name="number" max="100" min="5" step="10"></p>
    <!--滑块
     type="range"
     max
     min
    -->
    <p>音量<input type="range" name="voice" max="100" min="0" step="50"></p>
    <!--搜索框
        和文本框差不多,多了一个小叉号
    -->
    <p>搜索<input type="search" name="search"></p>
    <!--下拉框,列表框    -->
    <p>下拉框
        <select name="列表名称">
            <option value="China">中国</option>
            <option value="Beijing">中国北京</option>
            <option value="Hanguo" selected>韩国</option>
            <option value="Shanghai">中国上海</option>
        </select>
    </p>
    <!--文本域
        多行文本
        有cols列和rows行的属性
        -->
    <p>反馈:
        <textarea name="textarea" cols="30" rows="10">文本内容</textarea>
    </p>
</form>
</body>
</html>
  • 表单补充

    • 属性
      • 禁用:disabled,禁用,禁用后不上传数据
      • 只读:readonly,不能修改值
      • 隐藏域:hidden,将组件隐藏,数据可上传,隐藏域的作用就是在不被用户看到的情况下传递参数
    • label标签:增强鼠标的可用性,可实现鼠标点击跳转,需要先定义id,for属性指向id
    <p><label for="pwd">密码:</label><input type="password" name="password" id="pwd"></p>
    
  • 表单的初级验证

    • 为什么要进行表单验证:

      • 减小服务器压力,减少服务器处理的信息量,错误信息在前端就过滤掉了
      • 保证数据的安全性
    • 常用方式

      • placeholder:属性,用户的提示信息,主要用于可输入文本的控件
       <p>名字:<input type="text" name="username"  maxlength="8" size="100" placeholder="请输入用户名"></p>
      
      • required:属性,中文翻译是“必填的”,非空判断,表示不能为空
      <p>名字:<input type="text" name="username"  maxlength="8" size="100" placeholder="请输入用户名" required></p>
      
      • pattern:属性,正则表达式,正则表达式可直接在网上搜索
      <p>邮箱<input type="email" name="mail" pattern="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></p>
      

十三、总结

  • 下图中特殊符号直接转换了
    • 空格为
    • 大于为
    • 小于为
    • 版权符为

html

posted @ 2022-06-16 16:56  是韩信啊  阅读(43)  评论(0编辑  收藏  举报