HTML 基础

基本概念

  • HTML(Hyper Text Markup Language)超文本标记语言,负责网页的内容
  • 超文本: 除了文本以外,我们还可以向网页中插入图片、超链接、表格、表单、音频、视频等
  • HTML 由大量的标记/标签构成,分为:
    • 双标记标签:<head></head>
    • 单标记标签:<br/>或 <br>,两种写法都可以
  • 完整的网页结构:
    <!-- 表示当前文档是html5版本 让浏览器使用h5的规范解析 -->
    <!DOCTYPE html>
    <!--表示网页的开始与结束 lang="en"表示网页是一个英文网站 zh表示中文-->
    <html lang="en">
    <!--网页头部,存放一些配置信息-->
    <head>
        <meta charset="UTF-8"> <!--配置编码,为了认识中文-->
        <title>我是网页标题</title> <!-- 配置网页的标题 -->
    </head>
    <body> <!--网页展示的内容-->
    第一个网页的内容
    </body>
    </html>
    
  • HTML 文件的后缀名是 .html 或 .htm,会按顺序从上往下、从左往右依次解析执行
  • HTML 属性
    属性:也称为特征,描述标签某一方面的特点
    html 有很多的属性和值,用来修改元素的样式和状态
    写法:<标签 属性名 1=“属性值 1” 属性名 2=“属性值 2”></标签>
    要求:
    1. 属性的声明必须在开始标签中
    2. 一个元素可以有多个属性,多个属性不区分先后顺序,使用空格隔开即可
    3. 属性值要包裹在双引号中
    4. 单值属性:只有一个与属性名同名值,值可以省略不写,如 readonly 只读 disabled禁用

注释

  1. 用来解释代码且不会执行的文本
  2. 注释格式: <!-- 被注释掉的内容 -->
  3. 快捷键: Ctrl+/ 添加注释,再按一次取消注释
  4. 注释不能嵌套注释,也不可以写在标签里!

常用快捷键

  • Ctrl + D  复制当前行
  • Ctrl + Y 删除当前行
  • Home 光标移至行首
  • End 光标移至行尾
  • Shift + Enter 光标在任意位置都可以向下添加一个空白行
  • Shift + Alt + 上下键 快速上下调整当前行的位置
  • 选中多行 Tab 统一设置缩进
  • Shift + Tab 回退缩进

转义符号

字符命名实体数字实体说明
 &nbsp;&#160;不间断空格(防止自动换行)
<&lt;&#60;小于号(标签开始符)
>&gt;&#62;大于号(标签结束符)
&&amp;&#38;和号(用于转义其他实体)
"&quot;&#34;双引号(在属性值中使用)
&apos;&#39;单引号(在属性值中使用)

文本相关标签

  • <b>加粗文字</b>      加粗文字
  • <i>斜体文字</i>        斜体文字
  • <u>下划线文字</u>  下划线文字
  • <s>删除线文字</s>   删除线文字
  • <hn>n级标题</hn>    n为1到 6 独占一行,字体加粗,有垂直行间距
  • <p>段落</p>             独占一行,有垂直行间距
  • <hr>                          独占一行的灰色水平分割线

空格折叠现象:连续的多个空格或换行会折叠成一个空格显示,使用<br>换行
生成假文:输入 lorem 按 Tab 补全即可

分区元素

分区标签:可以理解为一个区域,对多个具有相同或相似结构的标签进行统一管理

  • <div></div>          行内分区:独占一行 div作为典型代表,默认宽度为父级宽度的100%,高度为0靠内容撑起来
  • <span></span>    块级分区:不换行,用于选中一行中的一部分内容

HTML5 新增了一些带有语义的分区标签

  • <header></header>定义网页或一个区域的头部
  • <nav></nav>定义网页的导航部分
  • <main></main>定义网页的主要内容
  • <section></section>定义网页的一个区块或章节
  • <article></article>定义网页中独立完整的内容,比如博客文章或新闻报道
  • <aside></aside>定义网页的侧边栏或者附属信息
  • <footer></footer>定义网页或一个区域的页脚部分
    在这里插入图片描述
<!-- 目前div的使用频率较高   -->
<div class="header">顶部条</div>
<div class="nav">导航栏</div>
<div class="aside">侧边栏</div>
<div class="main">主体</div>
<div class="article">文章</div>
<div class="footer">尾部</div>
<hr>
<!-- h5新增的一些带有语义的分区标签 -->
<header>头部</header>
<nav>导航栏</nav>
<main>主体</main>
<article>文章</article>
<section>区域</section>
<aside>侧边栏</aside>
<footer>页脚</footer>

其实在用户看来是没有区别的,只不过这样会大大提高代码的可读性与模块复用性、也有利于检索

URL 路径

URL(Uniform Resource Locator)统一资源定位符,俗称路径,用来标识资源的位置

相对路径

  1. 从当前 html 文件的位置出发去找资源
  2. 如果 html 与资源在同一个目录下,直接写资源的名字,如:1.png
  3. 如果资源在 html 的下一级目录,先写目录名再写目录里的资源,如:img/2.png
  4. 如果资源在 html 的上一级目录,先回到上一级再找资源,如: . ./3.png

绝对路径

从根目录处开始找资源,不需要当前文件的位置

  1. 优点:节省本地服务器的存储空间
  2. 缺点:资源不稳定,如果远程服务器删除此资源,本地服务器就引用不到了,且并不安全
  3. 网络资源:从协议开始,如:
    https://cn.bing.com/images/search?q=%e5%9b%be%e7%89%87&id=457EC80FCD5EE9AB67B2B3E8F5624312D6F6400B&FORM=IACFIR

表格

  • <table></table>  表示整个表格 包含表格的全部内容
  • <tr></tr>             表示表格中的一行 table row
  • <td></td>           表示表格中的一个单元格 table datacell
    单元格是真正存放数据的地方,一行有几个单元格,表示一行有几列
  • <caption></caption> 表格的标题
  • <th></th> 行/列的标题 文字加粗居中显示

表格属性:

  • border=“1px” 给表格添加边框
  • style=“border-collapse: collapse” 表格默认的边框是带有间距的,想去掉可以加这句代码
    合并单元格(写在 td 里,被合并的单元格一定得删掉!)
  • colspan="n"跨列 从当前单元格开始,向右合并 n 个单元格(n 也包含当前单元格)
  • rowspan="n"跨行 从当前单元格开始,向下合并 n 个单元格(n 也包含当前单元格)

代码示例:

<table border="1px" style="border-collapse: collapse">
  <caption>购物车</caption>
  <tr>
    <th>商品编号</th>
    <th>商品名称</th>
    <th>商品价格</th>
  </tr>
  <tr>
    <td style="text-align: center">1</td>
    <td>荣耀X60</td>
    <td>2601</td>
  </tr>
  <tr>
    <td style="text-align: center">2</td>
    <td>三折叠 怎么折都有面</td>
    <td>27399</td>
  </tr>
  <tr>
    <td>总价</td>
    <td colspan="2">30000</td>
  </tr>
</table>

效果:
在这里插入图片描述

超链接

<a> 标签用于向页面插入超链接

  • href 表示要链接的资源路径
  • 超链接可以链接网络与内部资源,还可以链接图片
  • 通过 a 标签包裹 img 标签可以实现图片超链接
  • 锚点:先给对应的 html 内容添加 id,再通过#id 值选中,即可跳转到锚点位置,#表示直接跳转到页面顶部
<!-- 跳转到本地资源 -->
<a href="p2_文本处理.html">跳转到今日的第2个页面</a>
<a href="p4_图片插入.html">跳转到今日的第4个页面</a>
<!-- 跳转到外部资源 -->
<a href="https://www.baidu.com/">百度首页</a>
<a href="https://www.tmooc.cn/">TMOOC首页</a>
<!-- 跳转至本地的图片资源 -->
<a href="2.png">即将打开一张图片</a>
<!-- 图片链接   -->
<a href="https://www.baidu.com/">
  <img src="2.png" alt="" width="300px">
</a>
<hr>
<!--锚点 书签-->
<h1>西游记</h1>
<a href="#c1">快速跳转至第1章</a>
<a href="#c2">快速跳转至第2章</a>
<a href="#c3">快速跳转至第3章</a>
<hr>
<h3 id="c1">第一章 石猴出世</h3><!--p*30>lorem-->
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid beatae distinctio dolorem doloremque earum
    error fugit in ipsum itaque laboriosam libero modi molestias necessitatibus, nulla quibusdam quos similique
    veritatis vero.</p>
<h3 id="c2">第二章 蓬莱学艺</h3><!--p*30>lorem-->
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid beatae distinctio dolorem doloremque earum
    error fugit in ipsum itaque laboriosam libero modi molestias necessitatibus, nulla quibusdam quos similique
    veritatis vero.</p>
<h3 id="c3">第三章 龙宫借宝</h3><!--p*30>lorem-->
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid beatae distinctio dolorem doloremque earum
    error fugit in ipsum itaque laboriosam libero modi molestias necessitatibus, nulla quibusdam quos similique
    veritatis vero.</p>
<a href="#">快速跳转至页面顶部</a>

表单

表单提供了一些可视化的输入控件,会自动收集整理用户输入的内容,并提交给服务器
<form></form> 表示表单的开始与结束

属性描述
action=“url”向哪个地址提交数据,如果不写会提交给当前页面,也可以写一个#号占位
type控件类型
name控件名
value可以设置输入框的默认值,如果是按钮,则设置的是按钮上显示的文本
placeholder提示占位文本
maxlength设置输入的最大长度
readonly设置文本控件只读,能看不能改,数据可以提交
disabled设置控件为禁用(控件变为灰色的了,且数据不可以提交)
checked单/多选框使用此属性可以设置指定选项被默认选中
<input type="text"> 文本输入框
<input type="password"> 密码框
<input type="radio"> 单选框 注意设置name与value属性!
<input type="checkbox">多选框 注意设置name与value属性!
<input type="date">日期
<input type="file">文件
<input type="color">颜色
<input type="range">范围
<input type="submit" value="提交按钮">    
<input type="reset" value="重置按钮">    
<input type="button" value="普通按钮">

按钮的另外一种写法:

<button>按钮</button>

下拉选框: selected 可以设置默认选中

<select name="city">       
  <option value="1" selected>北京</option>        
  <option value="2">上海</option>        
</select>

label 关联控件:用于 form 中文本和控件的关联,单击文本如同单击控件

<input type="checkbox" id="agree">    
<label for="agree">我同意相关的服务协议</label>

多行文本域:用于输入多行文本内容,常用于留言板意见栏等

  • resize:none 不允许拖拽修改多行文本域的大小
  • rows 设置行数(高度) cols设置列数(宽度)但这两个属性不推荐后期可以用CSS做
<textarea style="resize: none;" rows="4" cols="50"></textarea>

总体代码:

<body>
    <!--form表示整个表单 action="#"表示将收集到的数据提交至当前页-->
    <!-- name设置控件的名字,不设置名字的控件无法提交值 -->
    <!--input控件: type属性用来设置控件的类型
       text文本框 password密码框 radio单选框 checkbox复选框
       date日期 color颜色 range范围 file文件
       submit提交按钮 reset重置按钮 button普通按钮-->
    <form action="#">
        姓名1:<input type="text" name="uname1"> <br>
        姓名2:<input type="text" name="uname2"> <br>
        <!-- value默认用来保存控件的值,也可以用于设置输入框的默认值 -->
        姓名3:<input type="text" name="uname3" value="rose"> <br>
        <!-- 单值属性:readonly只读(只能看不能改)  disabled禁用(不能改,且无法提交值)  -->
        姓名4:<input type="text" name="uname4" value="rose" readonly> <br>
        姓名5:<input type="text" name="uname5" value="rose" disabled> <br>
        <!-- placeholder占位提示文本 -->
        姓名6:<input type="text" name="uname6" placeholder="请输入用户名"> <br>
        <hr>
        密码:<input type="password" placeholder="请输入密码" name="pwd" maxlength="6"> <br>
        <!-- 多个单选选项必须设置相同的name才可以被分到同一组,实现单选!
             每个选项必须设置value才能提交值,不然提交的值都是on -->
        性别:
        <input type="radio" name="gender" value="1">男
        <input type="radio" name="gender" value="0" checked>女
        <br>
        爱好:
        <input type="checkbox" name="hobby" value="cf">吃饭
        <input type="checkbox" name="hobby" value="sj" checked>睡觉
        <input type="checkbox" name="hobby" value="dyx" checked>打游戏
        <input type="checkbox" name="hobby" value="java">学Java
        <br>
        生日:<input type="date" name="birthday"> <br>
        颜色:<input type="color" name="lc"> <br>
        范围:<input type="range" name="fw"> <br>
        文件:<input type="file" name="wj">
        <br>
        喜欢的城市:<select name="city">
            <option value="bj">北京</option>
            <option value="sh">上海</option>
            <option value="cc" selected>长春</option>
            <option value="gz">广州</option>
        </select>
        <br>
        <!-- 关联效果:点击文字即可选中复选框 -->
        <input type="checkbox" id="ok">
        <label for="ok">我同意以上协议</label>
        <br>
        <!-- 关联效果:点击文字即可选中输入框,且输入框有输入光标 I -->
        <label for="nickname">昵称:</label>
        <input type="text" id="nickname">
        <br>
        <!-- 多行文本域 -->
        留言板:<textarea cols="30" rows="3" style="resize: none;">请留言~</textarea>
        <hr>
        <input type="submit" value="点我提交">
        <input type="reset" value="点我重置">
        <input type="button" value="普通按钮">
        <button>h5新按钮</button>
    </form>
</body>

必须掌握:

题目答案
value加在输入框上,是设置什么?设置显示的默认值,用户输入的值也保存在value属性中
value加在按钮上,是设置什么?设置按钮上显示的文字
value加在单选/多选/下拉选框选项上,是设置什么?设置选中当前选项时提交的值
只读/禁用属性是什么?有什么区别?readonly disabled 都是单值属性,都只允许看,不允许编辑,但禁用无法提交值
怎么设置单选/多选选项的默认选中?checked单值属性
怎么设置下拉选框选项的默认选中?selected单值属性
写单选时,必须要写的两个属性是什么?name:将所有选项分到同一组;value:不然提交的是on

音视频插入

音频标签<audio>
视频标签<video>

  • src= “插入资源的路径”
  • controls 显示播放控件 单值属性
  • muted 设置静音,必须设置静音才能自动播放 单值属性
  • autoplay 自动播放 单值属性
  • loop 循环播放 单值属性
<!--音频插入-->
<audio src="img/bird.mp3" controls></audio>
<!--视频插入-->
<video src="img/wdsj.mp4" style="width:500px;" controls muted autoplay loop></video>

图片的类型

  • 最常用的图片展示格式----JPG/JPEG
  • 透明图层展示格式----PNG
  • 表情包常用到的格式----GIF
  • 修图师常用的格式----PSD
  • 打印文档常用图片格式----TIFF
  • 画图工具和windows系统常用图片格式----BMP
  • 谷歌新出的图片格式----WEBP

总结

  1. <html> - 定义 HTML 文档的根元素
  2. <head> - 包含文档的元数据(如字符编码、页面标题、样式、脚本等)
  3. <body> - 包含文档的可见内容(文本、图像、链接、表单等)
  4. <meta> - 提供关于 HTML 文档的元数据(如字符编码、页面描述、关键词等)
  5. <title> - 定义 HTML 文档的标题(显示在浏览器标签页上)
  6. <b> - 定义粗体文本(不强调重要性)
  7. <s> - 定义不再准确或相关的文本(显示为删除线)
  8. <i> - 定义斜体文本(通常用于术语、外语短语等)
  9. <u> - 定义下划线文本(通常用于拼写错误的文本或需要关注的文本)
  10. <mark> - 定义需要标记或高亮显示的文本
  11. <br> - 插入换行符(强制换行)
  12. <hr> - 插入水平线(用于分隔内容)
  13. <h1>-<h6> - 定义 HTML 标题(<h1> 最高级别,<h6> 最低级别)
  14. <p> - 定义段落
  15. <ul> - 定义无序列表(使用项目符号)
  16. <ol> - 定义有序列表(使用数字或字母)
  17. <li> - 定义列表项(用于 <ul> 或 <ol> 中)
  18. <span> - 定义行内容器(用于样式化行内部分文本)
  19. <div> - 定义块级容器(用于分组和样式化内容)
  20. <header> - 定义文档或章节的页眉(通常包含导航栏、标题等)
  21. <nav> - 定义导航链接区域
  22. <main> - 定义文档的主要内容(不包含重复内容,如侧边栏、页眉、页脚等)
  23. <footer> - 定义文档或章节的页脚(通常包含版权信息、联系信息等)
  24. <aside> - 定义与主要内容相关但次要的内容(如侧边栏、广告等)
  25. <article> - 定义独立的、自包含的内容(如博客文章、论坛帖子等)
  26. <img> - 插入图像
  27. <a> - 定义超链接(用于导航到其他页面或资源)
  28. <table> - 定义表格
  29. <tr> - 定义表格行
  30. <th> - 定义表格表头单元格
  31. <td> - 定义表格数据单元格
  32. <caption> - 定义表格标题
  33. <form> - 定义 HTML 表单(用于用户输入)
  34. <input> - 定义表单输入字段(文本框、密码框、复选框、单选按钮等)
  35. <button> - 定义可点击按钮
  36. <select> - 定义下拉列表
  37. <option> - 定义下拉列表中的选项
  38. <textarea> - 定义多行文本输入框
  39. <label> - 定义表单控件的标签(用于提高可用性)
  40. <audio> - 嵌入音频内容
  41. <video> - 嵌入视频内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值