HTML学习笔记

一、web 基础认知

1、web 基础概念

  • 网站——在因特网上根据一定的规则,使用HTML等制作的用于展示特定内容相关的网页集合
  • 网页(HTML文件)——由文字、图像和超链接等元素构成,包括音频、视频以及Flash等
  • 浏览器——网页显示、运行的平台
  • 浏览器内核——排版引擎、解释引擎、渲染引擎

2、web 标准

  • 由结构标准,表现标准和行为标准构成
标准说明
结构用于对网页元素进行整理和分类(HTML)
表现用于设置网页元素的版式、颜色,大小等外观样式(CSS)
行为用于对网页模型的定义及交互的编写(JavaScript)

二、认识 HTML

1、HTML 的定义

  • HTML(Hyper Text Markup Language):超文本标记语言
  • HTML基本骨架格式
<!-- 页面中最大的标签——根标签 -->
<html>
    <!-- 头部标签 -->
    <head>     
        <!-- 标题标签 -->
        <title></title> 
    </head>
    <!-- 文档的主体 -->
    <body>
    </body>
</html>

注意:HTML标签名、类名、标签属性和大部分属性值统一用小写

标签名定义说明
htmlHTML标签页面中最大的标签(根标签)
head文档的头部head标签中必须要设置title标签
title文档的标题网页标题
body文档的主体元素包含文档的所有内容,页面内容基本是放在body里面
  • HTML元素标签分类
    • 常规元素(双标签)
    • 空元素(单标签)
  常规元素(双标签)
  <标签名> 内容 </标签名>   例:<body>我是文字</body>
  空元素(单标签)
  <标签名 />   例:<br /><br>
  • HTML标签关系
    • 嵌套关系:父子级,包含关系
    • 并列关系:兄弟级,并列关系
    • 如果两个标签之间的关系是嵌套关系,子元素最好缩进一个tab键(如果是并列关系,最好上下对齐)

2、文档类型

  • 文档类型用来说明所用的XHTML或者HTML是什么版本,<!DOCTYPE html>告诉浏览器按照HTML5标准解析页面。

3、页面语言

  • lang 指定该 html 标签内容所用的语言
<html lang="en">  
en 定义语言为英语 zh-CN定义语言为中文
  • lang的作用
    • 根据根据lang属性来设定不同语言的css样式,或者字体
    • 告诉搜索引擎做精确的识别
    • 让语法检查程序做语言识别
    • 帮助翻译工具做识别
    • 帮助网页阅读程序做识别

4、字符集(拓展)

  • 字符集(Character set)是多个字符的集合,计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。

    • UTF-8是目前最常用的字符集编码方式
    • 让 html 文件是以 UTF-8 编码保存的, 浏览器根据编码去解码对应的html内容
      <meta charset="UTF-8" />
      
  • meta viewport的用法

    • 通常 viewport 是指视窗、视口。浏览器上(也可能是一个 app 中的 webview)用来显示网页的那部分区域。在移动端和pc端视口是不同的,pc端的视口是浏览器窗口区域,而在移动端有三个不同的视口概念:布局视口、视觉视口、理想视口
    • meta 有两个属性 name 和 http-equiv
  • name属性的取值

    • keywords(关键字) 告诉搜索引擎,该网页的关键字
    • description(网站内容描述) 用于告诉搜索引擎,你网站的主要内容。
    • viewport(移动端的窗口)
    • robots(定义搜索引擎爬虫的索引方式) robots用来告诉爬虫哪些页面需要索引,哪些页面不需要索引
    • author(作者)
    • generator(网页制作软件)
    • copyright(版权)
  • http-equiv有以下参数
    http-equiv相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容

    • content-Type 设定网页字符集(html4用法,不推荐)
    • Expires(期限) ,可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输
    • Pragma(cache模式),是用于设定禁止浏览器从本地机的缓存中调阅页面内容,设定后一旦离开网页就无法从Cache中再调出
    • Refresh(刷新),自动刷新并指向新页面
    • cache-control(请求和响应遵循的缓存机制)
<meta name="viewport" content="width=device-width, initial-scale=1.0">

5、HTML标签语义化

  • 方便代码的阅读和维护,样式丢失的时候能让页面呈现清晰的结构

  • 有利于SEO,搜索引擎根据标签来确定上下文和各个关键字的权重

  • 方便其他设备解析,如盲人阅读器根据语义渲染网页

  • 拓展:规定页面上所有链接的默认 URL 和设置整体链接的打开状态

<head>
    <base href="http://www.baidu.com" target="_blank">
    <base target="_self">
</head>
<body>
    <a href="">测试</a> 跳转到百度
</body>

三、HTML基本标签

1、排版标签

  • 与css搭配使用,显示网页结构的标签,是网页布局最常用的标签
1)标题标签
  • HTML提供了6个等级的网页标题,即<h1> ~ <h6>,重要性依次递减。
  • 特点:
    • 加了标题的文字会变得加粗,字号也会依次变大
    • 一个标题独占一行。
    <h1>1级标题</h1>
    <h2>2级标题</h2>
    <h3>3级标题</h3>
    <h4>1级标题</h4>
    <h5>1级标题</h5>
    <h6>1级标题</h6>
    
2)段落标签
  • 用于定义段落,可以把 HTML 文档分割为若干段落。
  • 特点:
    • 文本在一个段落中会根据浏览器窗口的大小自动换行。
    • 段落和段落之间保有空隙。
    <p>我是一段文字</p>
    
3)水平线标签
  • 分割不同主题内容的水平线
  • 特点:
    • <hr>是一个单标签
    • 在页面中显示一条水平线
4)换行标签
  • 将某段文本强制换行显示
  • 特点:
    • <br>是一个单标签
    • <br>标签只是简单地开始新的一行,段落之间则会插入一些垂直的间距
5)div和span标签
  • 没有语义,是网页布局最主要的2个盒子(网页布局)
  • 特点:一行只能放一个<div>,一行可以放多个<span>
    <div> 这是头部 </div>
    <span>今日价格</span>
    

2、文本格式化标签

  • 为文字设置粗体、斜体或下划线等效果,使文字以特殊的方式显示
语义标签
加粗<strong></strong>或者<b></b>
倾斜<em></em>或者<i></i>
删除线<del></del>或者<s></s>
下划线<ins></ins>或者<u></u>

3、媒体标签

1)图片标签
  • 在HTML标签中,<img>标签用于定义HTML页面中的图像。src<img>标签的必须属性,用于指定图像文件的路径和文件名
  • 代码:
    <img src="" width="" height="" border="" title="">
    
  • 注意:
    • 标签可以拥有多个属性,必须写在开始标签中,位于标签名后面
    • 属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开
    • 采取键值对的格式 key=“value” 的格式
属性属性值说明
src目标图片的路径必须属性
alt替换文本图像不能显示时的替换文本
title提示文本鼠标悬停时显示的内容
width像素图像的宽度
height像素图像的高度
border像素图像边框的粗细
  • 路径问题:
路径分类符号说明
同一级路径只需要输入图像文件的名称即可,如<img src="baidu.png">在这里插入图片描述
下一级路径“/”图像文件位于HTML文件同级文件夹下(例如文件夹名称为:images),如<img src="images/baidu.png">在这里插入图片描述
上一级路径“…/”在文件名之前加入"…/“,如果是上两级,则需要使用”…/…/",以此类推,如<img src="../baidu.png">在这里插入图片描述
2)音频标签
  • 在页面中插入音频
  • 代码:
    <audio src="./music.mp3" controls></audio>
    
    属性名功能
    src音频的路径
    controls显示播放的控件
    autoplay自动播放(部分浏览器不支持)
    loop循环播放
3)视频标签
  • 在页面中插入视频
  • 代码:
    <video src="./video.mp4" controls></video>
    
    属性名功能
    src视频的路径
    controls显示播放的控件
    autoplay自动播放(谷歌浏览器中需配合muted实现静音播放)
    loop循环播放

4、链接标签(重点)

  • 点击之后,从一个页面跳转到另一个页面

  • 代码:

    <a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>
    <!-- target="_self"  默认窗口弹出方式 -->
    <!-- target="_blank" 新窗口弹出 -->
    
    属性作用
    href链接目标的 url 地址,必须属性为标签应用 href 属性时,有超链接的功能
    target链接页面的打开方式,有 _self 和 _blank 两种,其中 _self 为默认值,在当前窗口跳转,即覆盖原网页,_blank 为在新窗口中打开方式,即保留原网页
  • 注意:src 和 href 的区别——src 是引入资源的,href 是跳转url的

    • src用于替换当前元素,href用于在当前文档和引用资源之间确立联系
    • src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内
    • href是Hypertext Reference的缩写,指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接。
  • 其他:

    • 外部链接——需要添加 http:// www.baidu.com
    • 内部链接——直接链接内部页面名称即可,比如 < a href=“index.html”> 首页
    • 如果没有确定链接目标时,则href="#",表示该链接暂时为一个空链接
    • 网页中各种网页元素,如图像、表格、音频、视频等都可以添加超链接
  • 锚点定位:

    • 通过创建锚点链接,用户能够快速定位到目标内容
    <!-- 1、使用相应的id名标注跳转目标的位置。 (找目标) -->
    <h3 id="two">第2集</h3> 
    <!-- 2、使用<a href="#id名">链接文本</a>创建链接文本(被点击的) -->
    <a href="#two">   
    

5、注释标签

  • 注释的作用
    • 为代码添加的具有解释性、描述性的信息,主要用来帮助开发人员理解代码
    • 浏览器执行代码时会忽略所有的注释
  • 注意:注释内容前后各一个空格字符,注释位于要注释代码的上面,单独占一行
    <!-- 注释语句 -->  
    <!-- 快捷键是:ctrl + / 或者 ctrl +shift + / -->  
    

四、表格标签

1、表格标签

  • 场景:在网页中以行+列的单元格的方式整齐展示和数据,如:学生成绩表

  • 基本标签:

    <table>
      <tr>
        <td>单元格内容</td>
        ...
      </tr>
      ...
    </table>
    
  • 表头单元格标签<th>:一般表头单元格位于表格的第一行或第一列,且文本加粗居中,用表头标签<th></th>替代相应的单元格标签<td></td>即可

  • 表格标题<caption>:通常这个标题会被居中且显示于表格之上,<caption>标签必须紧随<table>标签之后,此标签只在表格里面才有意义

    <table>
       <caption>表格的标题</caption>
    </table>
    
  • 注意点:标签的嵌套关系:table > tr > td

3、表格属性(了解)

属性名属性值描述
alignleft、center、right规定表格相对周围元素的对齐方式
border1或者""规定表格单元是否拥有边框,默认为"" ,表示没有边框
cellpadding像素值规定单元边沿与其内容之间的空白,默认1像素
cellspacing像素值规定单元格之间的空白,默认2像素
width像素值或百分比规定表格的宽度
height像素值或百分比规定表格的高度

4、合并单元格

  • 将水平或垂直多个单元格合并成一个单元格

  • 合并按照先上后下,先左后右的顺序,合并后删除多余的单元格

  • 给保留的单元格设置:跨行合并(rowspan)或者跨列合并(colspan)

    属性名属性值说明
    rowspan合并单元格的个数跨行合并,将多行的单元格垂直合并
    colspan合并单元格的个数跨列合并,将多行的单元格垂直合并
  • 注意点:只有同一个结构标签中的单元格才能合并,不能跨结构标签合并(不能跨:thead、tbody、tfoot)

5、表格总结

标签名定义说明
<table></table>表格标签就是一个四方的盒子
<tr></tr>表格行标签行标签要再table标签内部才有意义
<td></td> 单元格标签单元格标签是个容器级元素,可以放任何东西
<th></th> 表头单元格标签它还是一个单元格,但是里面的文字会居中且加粗
<caption></caption>表格标题标签表格的标题,跟着表格一起走,和表格居中对齐
clospanrowspan合并属性用来合并单元格

6、表格结构划分

  • 将表格分成三个部分:题头、正文和脚注
  • 注意:
    • <thead></thead>:用于定义表格的头部,用来放标题之类的东西, 内部必须拥有 标签
    • <tbody></tbody>:用于定义表格的主体,放数据本体
    • <tfoot></tfoot>:放表格的脚注之类
    • 以上标签都是放到<table>标签中

五、列表标签

  • 列表——容器里面装载着结构,样式一致的文字或图表的一种形式

  • 列表最大的特点就是整齐、整洁、有序,跟表格类似,但是它可组合自由度会更高

1、无序列表(重要)

  • 在网页中表示一组无顺序之分的列表
  • 标签组成:
    <ul>
      <li>列表项1</li>
      <li>列表项2</li>
      <li>列表项3</li>
    </ul>
    
  • 显示特点:
    • 列表的每一项前默认显示圆点标识
  • 注意:
    • <ul></ul>中只能嵌套<li></li>,直接在<ul></ul>标签中输入其他标签或者文字的做法是不被允许的
    • <li></li>之间相当于一个容器,可以容纳所有元素

2、有序列表

  • 在网页中表示一组有顺序之分的列表,如:排行榜
  • 标签的组成:
    <ol type="A"> 
      <li>列表一</li>
      <li>列表二</li>
      <li>列表三</li>
    </ol>
    
  • 显示特点:
    • 列表的每一项前默认显示序号标识
  • 注意:
    • <ol>标签中的type属性值为排序的序列号,不添加type属性时,有序列表默认从数字1开始排序
    • 常用的type属性值分别为是1,a,A,i,I
    • <ol reversed="reversed">中的reversed属性能够让有序列表中的序列倒序排列
    • <ol start="3">中的start属性值为3,有序列表中的第一个序列号将从3开始排列

3、自定义列表

  • 在网页的底部导航中通常会使用自定义列表实现
  • 自定义列表常用于对术语或名词进行解释和描述,自定义列表的列表项前没有任何项目符号
  • 标签组成:
    <dl>
      <dt>名词1</dt>
      <dd>名词1解释1</dd>
      <dd>名词1解释2</dd>
      ...
      <dt>名词2</dt>
      <dd>名词2解释1</dd>
      <dd>名词2解释2</dd>
      ...
    </dl>
    

在这里插入图片描述

六、表单标签

  • 在HTML中,一个完整的表单由<u>表单控件(表单元素)</u><u>提示信息</u><u>表单域</u>3个部分构成。表单目的是为了收集用户信息。
  • 表单控件:包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等
  • 提示信息:一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作
  • 表单域:它相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的url地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器

1、form表单域

  • 收集的用户信息怎么传递给服务器?答:通过form表单域
  • 目的:在HTML中,form标签被用于定义表单域,以实现用户信息的收集和传递,form中的所有内容都会被提交给服务器。
<form action="url地址" method="提交方式" name="表单名称">
  各种表单控件
</form>

常用属性:

  • 每个表单都应该有自己的表单域
属性属性值作用
actionurl地址指定接收并处理表单数据的服务器程序的url地址。
methodget/post设置表单数据的提交方式,其取值为get或post。
name名称指定表单的名称,以区分同一个页面中的多个表单。

GET 和 POST 的区别(拓展)

  • GET在浏览器回退时是无害的,而POST会再次提交请求
  • GET请求会被浏览器主动cache,而POST不会,除非手动设置
  • GET请求只能进行url编码,而POST支持多种编码方式
  • GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留
  • GET请求大小一般是(1024字节),http协议并没有限制,而与服务器,操作系统有关,POST理论上来说没有大小限制,http协议规范也没有进行大小限制,但实际上post所能传递的数据量根据取决于服务器的设置和内存大小
  • 对参数的数据类型,GET只接受ASCII字符,而POST没有限制
  • GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息

2、input 标签

  • 在网页中显示收集用户信息的表单效果

    • input 输入的意思,<input />标签为单标签
    • type 属性设置不同的属性值用来指定不同的控件类型,除了 type 属性还有别的属性
    <input type="属性值" value="你好">
    
  • type 属性:

    属性属性值描述
    typetext单行文本输入框
    password密码输入框
    radio单选按钮
    checkbox复选按钮
    button普通按钮
    submit提交按钮
    reset重置按钮
    image图像形式的提交按钮
    file文件域
    name用户自定义控件名称
    value用户自定义默认文本值
    size正整数控件在页面中的显示宽度
    checkedchecked定义选择控件默认被选中项
    maxlength正整数控件允许输入的最多字符
    placeholder用户自定义提示用户输入内容的文本
    用户名: <input type="text" /> 
    密  码:<input type="password" />
    
  • value属性:
    value 默认的文本值。有些表单想刚打开页面就默认显示几个文字,就可以通过这个value 来设置。

    用户名:<input type="text"  name="username" value="请输入用户名"> 
    
  • name属性

    • name表单的名字, 这样,后台可以通过这个name属性找到这个表单。 页面中的表单很多,name主要作用就是用于区别不同的表单。
    • name属性后面的值,是我们自己定义的。
    • radio 如果是一组,我们必须给他们命名相同的名字 name 这样就可以多个选其中的一个啦
    <input type="radio" name="sex"  /><input type="radio" name="sex" />
  • checked属性
    表示默认选中状态。 较常见于单选按钮和复选按钮。

    性    别:
    <input type="radio" name="sex" value="" checked="checked" /><input type="radio" name="sex" value="" />
  • input 属性总结

    属性说明作用
    type表单类型用来指定不同的控件类型
    value表单值表单里面默认显示的文本
    name表单名字页面中的表单很多,name主要作用就是用于区别不同的表单。
    checked默认选中表示那个单选或者复选按钮一开始就被选中了

3、button 按钮标签

  • 在网页中显示用户点击的按钮
  • 标签名:button
  • type属性值(同input的按钮系列):
    标签名type属性值说明
    buttonsubmit提交按钮,点击之后提交数据给后端服务器
    buttonreset重置按钮,点击之后恢复表单默认值
    buttonbutton普通按钮,默认无功能,之后配合js添加功能

4、label 标签

  • <label>标签主要目的是为了提高用户体验,为用户提高最优秀的服务

  • 作用:用于绑定一个表单元素, 当点击<label>标签的时候, 被绑定的表单元素就会获得输入焦点

  • 使用方法

    • 第一种用法就是用<label>标签直接包含input表单,适合单个表单选择
    • 第二种用法for属性规定<label>与哪个表单元素绑定(通过id属性)
    <!-- 第一种 -->
    <label> 用户名: 
    <input type="radio" name="usename" value="请输入用户名">   
    </label>
    
    <!-- 第二种 -->
    <label for="sex"></label>
    <input type="radio" name="sex"  id="sex">
    

5、select下拉菜单标签

  • 在网页中提供多个选择项的下拉菜单表单控件
  • 标签组成:
    <select>
      <option>选项1</option>
      <option>选项2</option>
      <option>选项3</option>
      ...
    </select>
    
  • option中定义selected ="selected"时,当前项即为默认选中项。

6、textarea文本域标签

  • 通过<textarea>控件可以创建多行文本输入框
  • cols="每行中的字符数" rows="显示的行数"
    <textarea >
    文本内容
    </textarea>
    
  • 文本框和文本域区别
    表单名称区别默认值显示用于场景
    <input type="text">文本框只能显示一行文本单标签,通过value显示默认值用户名、昵称、密码等
    <textarea> 文本域可以显示多行文本双标签,默认值写到标签中间留言板

七、语义化标签

1、没有语义的布局标签

  • 实际开发网页时会大量频繁的使用到<div><span>这两个没语义的布局标签
  • <div>标签:一行只显示一个(独占一行)
  • <span>标签:一行可以显示多个

2、有语义的布局标签(了解)

  • 在HTML5新版本中,推出了一些有语义的布局标签供开发者使用
  • 标签:
    标签名语义
    header网页头部
    nav网页导航
    footer网页底部
    aside网页侧边栏
    section网页区块
    article网页文章

八、字符实体

1、HTML的空格合并现象

  • 如果在html代码中同时并列出现多个空格、换行、缩进等,最终浏览器只会解析出一个空格

2、常见字符实体

  • 在网页中展示特殊符号效果时,需要使用字符实体替代
    显示结果描述实体名称
     空格&nbsp;
    <小于号&lt;
    >大于号&gt;
    &和号&amp;
    "引号&quot;
    '撇号&apos;
    ¢分(cent)&cent;
    £镑(pound)&pound;
    ¥元(yen)&yen;
    欧元(euro)&euro;
    §小节&sect;
    ©版权(copyright)&copy;
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昵称只能一个月修改一次呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值