HTML基础

HTML简介

  • HTML(Hypertext Makeup Language)超文本标记语言
  • 它负责网页的三要素之中的结构
  • HTML使用标签的形式来标识网页中的不同组成部分
  • 所谓超文本指的是超链接,使用超链接可以让我们从一个页面跳转到另一个页面

HTML标签

  • HTML中的标记指的就是标签
  • HTML使用标记标签来描述网页
  • 结构
<标签名>标签内容</标签名>
<标签名/>
  • 标签一般成对出现,但是也存在一些自结束标签
<!--成对出现的标签举例-->
<p></p>
<!--自结束标签举例-->
<img/>

元素

  • 我们还将一个完整的标签成为元素
  • 这里我们可以讲元素和标签认为是一个同义词

HTML属性

1.在标签中(开始标签或自结束标签)还可以设置属性
2.属性是一个名值对(x=y)
3.属性用来设置标签中的内容如何显示
4.属性和标签名或其他属性应该使用空格隔开
5.属性不能瞎写,应该根据文档中的规定来编写,
6.有些属性有属性值,有些没有。如果有属性值,属性值应该使用引号引起来

HTML的注释

<!--    -->

1.注释中的内容会被浏览器所忽略,不会在网页中直接显示,但是可以在源码中查看注释
2.注释用来对代码进行解释说明的
3.开发中一定要养成良好的编写注释的习惯,注释要求简单明了
5.注释还可以将一些不希望显示的内容隐藏
6.注释不能嵌套

HTML的发展

  • 1993年6月:HTML第一个版本发布
  • 1995年11月:HTML2.0
  • 1997年1月:HTML3.2(W3C推荐)
  • 1999年12月:HTML4.01(W3C推荐)
  • 2000年底:XHTML1.0(W3C推荐)
  • 2014年10月:HTML5(W3C推荐)

进制问题

十进制(日常使用)

  • 特点:满10进1
  • 计数:0 1 2 3 4 5 6 7 8 9 10 11 12 13 ... 19 20
  • 单位数字:10个 (0-9)

二进制(计算机底层的进制)

  • 特点:满2进1
  • 计数:0 1 10 11 100 101 110 111
  • 单位数字:2个 (0-1)
  • 扩展:
    • 所有数据在计算机底层都会以二进制的形式保存

    • 可以将内存想象为一个有多个小格子组成的容器,每一个小格子中可以存储一个1或一个0,这一个小格子在内存中被称为1位(bit)

      • 8bit = 1byte(字节)
        1024byte = 1kb(千字节)
        1024kb = 1mb(兆字节)
        1024mb = 1gb(吉字节)
        1024gb = 1tb(特字节)
        1024tp = 1pb

八进制(很少用)

  • 特点:满8进1
  • 计数: 0 1 2 3 4 5 6 7 10 11 12 ... 17 20
  • 单位数字:8个 (0-7)

十六进制(

  • 一般显示一个二进制数字时,都会转换为十六进制
  • 特点:满16进1
  • 计数:0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 ... 1a 1b 1c 1d 1e 1f 20 ..
  • 单位数字:16个(0-f)

编码问题

编码

  • 在计算机内部,文件都是以二进制编码保存的。
  • 所谓的二进制编码就是指1和0,也就是我们的所有内容都需要转换为1和0
  • 将字符转换为二进制码的过程称为编码
  • 将二进制码转换为字符的过程称为解码

字符集

  • 这就带来一个问题,中国的编码是什么到底谁说了算
  • 所以我们还需要一个东西称为字符集,字符集规定了如何将文本转换为二进制编码
  • 常见的字符集:ASKII、ISO8859-1、GBK、GB2312、UTF-8

乱码

  • 如果我们保存文件时使用的时utf-8进行编码,而浏览器读取页面使用GB2312,这样就会导致页面中的内容不能正常显示,也就是我们所说的乱码。
  • 所以我们只需要统一两者使用的字符集就可以解决乱码问题。
  • 这里为了页面有更好的使用性,我们一般使用UTF-8

解决

  • 保存文件的编码我们可以直接通过编辑器指定,在VScode中,可以通过单击界面下方显示字符集(一般显示的是UTF-8)来指定文件的编码,接下来就是要告诉浏览器使用什么字符集去解析文件
  • 在HTML5中只需要使用meta标签即可完成这个任务
<meta charset="utf-8">

文档声明

文档声明简介

  • 文档声明用来告诉浏览器当前网页的版本
  • html5的文档声明
<!doctype html>
<!Doctype HTML>

怪异模式

  • 为了兼容一些旧的页面,浏览器中设置了两种解析模式
    • 标准模式(Standards Mode)
    • 怪异模式(Quirks Mode)
  • 怪异模式解析网页时会产生一些不可预期的行为,所以我们应该避免怪异模式的出现
  • 避免的最好方式就是在页面中编写正确的doctype

HTML网页的基本结构

<!-- 文档声明,声明当前网页的版本 -->
<!doctype html>

<!-- html的根标签(元素),网页中的所有内容都要写根元素的里边 -->
<html>

    <!-- head是网页的头部,head中的内容不会在网页中直接出现,主要用来帮助浏览器或搜索引擎来解析网页 -->
    <head>

        <!-- meta标签用来设置网页的元数据,这里meta用来设置网页的字符集,避免乱码问题 -->
        <meta charset="utf-8">
        
        <!-- title中的内容会显示在浏览器的标题栏,搜索引擎会主要根据title中的内容来判断网页的主要内容 -->
        <title>网页的标题</title>

    </head>

    <!-- body是html的子元素,表示网页的主体,网页中所有的可见内容都应该写在body里 -->
    <body>

        <!-- h1网页的一级标题 -->
        <h1>网页的大标题</h1>

    </body>

</html>

实体

  • 在网页中编写的多个空格默认情况会自动被浏览器解析为一个空格

  • 在HTML中有些时候,我们不能直接书写一些特殊符号, 比如:多个连续的空格,比如字母两侧的大于和小于号

  • 如果我们需要在网页中书写这些特殊的符号,则需要使用html中的实体(转义字符)

  • 实体的语法:

            &实体的名字;
  • 常见的实体:
                &nbsp; 空格
                &gt; 大于号
                &lt; 小于号
                &copy; 版权符号 

meta标签

meta标签的作用

meta主要用于设置网页中的一些元数据,元数据不是给用户看,而是给浏览器看的

meta标签常见属性

  • charset 指定网页的字符集
  • name 指定的数据的名称
  • content 指定的数据的内容
  • keywords 表示网站的关键字,可以同时指定多个关键字,关键字间使用,隔开
    示例:
                    <meta name="Keywords" content="网上购物,网上商城,手机,笔记本,电脑,MP3,CD,VCD,DV,相机,数码,配件,手表,存储卡,京东"/>
                    <meta name="keywords" content="网购,网上购物,在线购物,网购网站,网购商城,购物网站,网购中心,购物中心,卓越,亚马逊,卓越亚马逊,亚马逊中国,joyo,amazon">
  • description 用于指定网站的描述, 网站的描述会显示在搜索引擎的搜索的结果中
    示例:
                    <meta name="description" content="京东JD.COM-专业的综合网上购物商城,销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品.便捷、诚信的服务,为您提供愉悦的网上购物体验!"/>
  • 将页面重定向到另一个网站
<meta http-equiv="refresh" content="3;url=https://www.baidu.com">

title标签

title标签的内容会作为搜索结果的超链接上的文字显示

语义化标签

简介

在网页中HTML专门用来负责网页的结构
所以在使用html标签时,应该关注的是标签的语义,而不是它的样式

标题标签

  • h1 ~ h6 一共有六级标题
  • 从h1~h6重要性递减,h1最重要,h6最不重要
  • h1在网页中的重要性仅次于title标签,一般情况下一个页面中只会有一个h1
  • 一般情况下标题标签只会使用到h1-h3,h4-h6很少用
  • 标题标签都是块元素
  • 简单来说, 在页面中独占一行的元素称为块元素(block element)
  • 示例:
<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>

hgroup标签

  • hgroup标签用来为标题分组,可以将一组相关的标题同时放入到hgroup
  • 示例:
<hgroup>
            <h1>回乡偶书二首</h1>
            <h2>其一</h2>
      </hgroup>

p标签

  • p标签表示页面中的一个段落
  • p也是一个块元素
  • 示例:
<p>在p标签中的内容就表示一个段落</p>

em标签

  • em标签用于表示语音语调的一个加重
  • 在页面中不会独占一行的元素称为行内元素(inline element)
  • 示例
<p>今天天气<em>真</em>不错!</p>
  • 注:语义化标签对无障碍阅读(例如为盲人提供的屏幕阅读器)等技术有着重要的作用,千万不能忽视!

strong标签

  • strong表示强调,重要内容!
  • 示例
<p>你今天必须要<strong>完成作业</strong>!</p>

引用标签

blockquote

  • blockquote 表示一个长引用
 鲁迅说:
      <blockquote>
          这句话我是从来没有说过的!
      </blockquote>

q

  • q表示一个短引用
 子曰<q>学而时习之,乐呵乐呵!</q>

换行标签

  • br标签表示页面中的换行
 <p>在p标签中的内容就 <br> 表示一个段落</p>

块元素与行内元素(内联元素)简介

块元素(block element)

  • 在网页中一般通过块元素来对页面进行布局

行内元素(inline element)

  • 行内元素主要用来包裹文字

块元素与行内元素的使用

  • 一般情况下会在块元素中放行内元素,而不会在行内元素中放块元素
  • 块元素中基本上什么都能放
  • p元素中不能放任何的块元素

布局标签(结构化语义标签)

  • header 表示网页的头部
  • main 表示网页的主体部分(一个页面中只会有一个main)
  • footer 表示网页的底部
  • nav 表示网页中的导航
  • aside 和主体相关的其他内容(侧边栏)
  • article 表示一个独立的文章
  • section 表示一个独立的区块,上边的标签都不能表示时使用section
  • div 没有语义,就用来表示一个区块,目前来讲div还是我们主要的布局元素
  • span 行内元素,没有任何的语义,一般用于在网页中选中文字
<header></header>
<main></main>
<footer></footer>

<nav></nav>
<aside></aside>
<article></article>
<section></section>

 <div></div>

 <span></span>

列表(list)

  • 在html中也可以创建列表,html列表一共有三种:
    1、有序列表
    2、无序列表
    3、定义列表
  • 有序列表,使用ol(ordered list)标签来创建无序列表
    使用li表示列表项
<ol>
        <li>结构</li>
        <li>表现</li>
        <li>行为</li>
    </ol>
  • 无序列表,使用ul(unordered list)标签来创建无序列表
    使用li表示列表项
<ul>
        <li>结构</li>
        <li>表现</li>
        <li>行为</li>
    </ul>
  • 定义列表,使用dl标签来创建一个定义列表
    使用dt来表示定义的内容
    使用dd来对内容进行解释说明
<dl>
        <dt>结构</dt>
        <dd>结构表示网页的结构,结构用来规定网页中哪里是标题,哪里是段落</dd>
        <dd>结构表示网页的结构,结构用来规定网页中哪里是标题,哪里是段落</dd>
        <dd>结构表示网页的结构,结构用来规定网页中哪里是标题,哪里是段落</dd>
    </dl>
  • 列表之间可以互相嵌套
   <ul>
        <li>
            aa
            <ul>
                <li>aa-1</li>
                <li>aa-2
                    <ul>
                        <li>aa-1</li>
                        <li>aa-2</li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>

超链接

超链接的含义

超链接可以让我们从一个页面跳转到其他页面, 或者是当前页面的其他的位置

定义超链接

  • 使用 a 标签来定义超链接
  • 属性:
    1.href 指定跳转的目标路径,值可以是一个外部网站的地址,也可以写一个内部页面的地址
    • 在开发中可以将#作为超链接的路径的展位符使用
    • 可以使用 javascript:; 来作为href的属性,此时点击这个超链接什么也不会发生
    • 可以直接将超链接的href属性设置为#,这样点击超链接以后页面不会发生跳转,而是转到当前页面的顶部的位置
    • 只需将href属性设置 #目标元素的id属性值,就可以跳转到页面的指定位置,
<a href="#">这是一个新的超链接</a>
<br><br>
<a href="javascript:;">这是一个新的超链接</a>

2.target属性,用来指定超链接打开的位置
可选值:
_self 默认值 在当前页面中打开超链接
_blank 在一个新的要么中打开超链接

<a href="https://www.baidu.com">超链接</a>
<a href="07.列表.html">超链接2</a>
  • 超链接是也是一个行内元素,在a标签中可以嵌套除它自身外的任何元素
  • 补充: id属性(唯一不重复的)
    • 每一个标签都可以添加一个id属性
    • id属性就是元素的唯一标识,同一个页面中不能出现重复的id属性

图片标签

  • 图片标签用于向当前页面中引入一个外部图片
  • 使用img标签来引入外部图片,img标签是一个自结束标签
  • img这种元素属于替换元素(块和行内元素之间,具有两种元素的特点)
  • img标签的属性属性:
    1. src 属性指定的是外部图片的路径(路径规则和超链接是一样的)
    2. alt 图片的描述,这个描述默认情况下不会显示,有些浏览器会图片无法加载时显示,搜索引擎会根据alt中的内容来识别图片,如果不写alt属性则图片不会被搜索引擎所收录
    3.width 图片的宽度 (单位是像素)
    4.height 图片的高度
    5.宽度和高度中如果只修改了一个,则另一个会等比例缩放
  • 注意:
    一般情况在pc端,不建议修改图片的大小,需要多大的图片就裁多大
    但是在移动端,经常需要对图片进行缩放(大图缩小)
  • 图片的格式:
名称 特点 用途
jpeg(jpg) 1.支持的颜色比较丰富
2.不支持透明效果
3.不支持动图
一般用来显示照片
gif 1.支持的颜色比较少
2.支持简单透明
3.支持动图
颜色单一的图片,动图
png 1.支持的颜色丰富
2.支持复杂透明
3.不支持动图
颜色丰富,复杂透明图片(专为网页而生)
webp 1.这种格式是谷歌新推出的专门用来表示网页中的图片的一种格式
2.它具备其他图片格式的所有优点,而且文件还特别的小
3. 缺点:兼容性不好
base64 将图片使用base64编码,这样可以将图片转换为字符,通过字符的形式来引入图片 一般都是一些需要和网页一起加载的图片才会使用base64
  • 使用图片的一般原则
    1.效果一样,用小的
    2.效果不一样,用效果好的

内联框架

用途

用于向当前页面中引入一个其他页面

标签

<iframe></iframe>

属性

src 指定要引入的网页的路径
frameborder 指定内联框架的边框

<iframe src="https://www.qq.com" width="800" height="600" frameborder="0"></iframe>

音视频

音频

  • audio 标签用来向页面中引入一个外部的音频文件的

  • 音视频文件引入时,默认情况下不允许用户自己控制播放停止

  • 属性:

    1. controls 是否允许用户控制播放
    2. autoplay 音频文件是否自动播放
      • 如果设置了autoplay 则音乐在打开页面时会自动播放, 但是目前来讲大部分浏览器都不会自动对音乐进行播放

    3.loop 音乐是否循环播放
    4.src指定外部文件路径

    1. 除了通过src来指定外部文件的路径以外,还可以通过source来指定文件的路径
<audio controls>
        <source src="./source/audio.mp3">
        <source src="./source/audio.ogg">
        <embed src="./source/audio.mp3" type="audio/mp3" width="300" height="100">
    </audio>

视频

使用video标签来向网页中引入一个视频, 使用方式和audio基本上是一样的

  <video controls>
        <source src="./source/flower.webm">
        <source src="./source/flower.mp4">
        <embed src="./source/flower.mp4" type="video/mp4">
    </video>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HTML基础 本文包括 HTML基本知识与结构 HTML常见标签 标签写法与嵌套的讨论 HTML、CSS、java...
    廖少少阅读 6,357评论 2 21
  • 学习目标: 了解常用浏览器 掌握WEB标准 理解标签语义化 掌握常用的排版标签 掌握常用的文本格式化图像链接等标签...
    淡淡疯阅读 4,999评论 0 3
  • 学习目标: 了解常用浏览器 掌握WEB标准 理解标签语义化 掌握常用的排版标签 掌握常用的文本格式化图像链接等标签...
    Mr大喵喵阅读 5,288评论 0 4
  • 想你,心事如枝头黄叶 和一个凋零的季节对抗 融进每条纹路里的执着 刻满你路过时无限情深 这个冬日,暖阳被雪冻僵 山...
    金钗银环阅读 8,872评论 224 350
  • 童年,是每个人心中的一方净土。杨柳岸,放纸鸢,牧童吹笛声,悠扬绵长;花丛中,追黄碟,竹林鸟雀声,声声入耳。古往今来...
    晓白鹿阅读 4,423评论 0 2