HTML学习笔记

HTML(Hyper Text Markup Language) 超文本标记语言

一、基础认知

Web标准

  • 为什么需要Web标准?

    不同的浏览器渲染引擎不同,对于相同的代码解析的效果会存在差异。如果用户使用不同的浏览器打开我们的网页时所展示的效果是不同的就则体验极差,所以我们才需要Web标准。

  • Web标准分三个构成:

    构成 语言 说明
    结构 HTML 页面元素和内容
    表现 CSS 网页元素的外观和位置等页面样式
    行为 JavaScript 网页模型的定义与页面交互

HTML骨架结构

  • 网页中的固定结构是要通过HTML标签进行描述的
  • <html></html>标签是html文件的跟标签
  • <head></head> 网页的头
  • <title><title> 网页的标题,需要放置在<head></head> 标签内
  • <body></body>网页的主题内容
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>网页的标题</title>
</head>
<body>
    网页的主题内容
</body>
</html>

二、标签

标题标签:h1~h6

场景:

在新闻和文章的页面中都离不开标题,用来突出显示文章的主题。

代码:
<h1>1级标题</h1>
<h2>2级标题</h2>
<h3>3级标题</h3>
<h4>4级标题</h4>
<h5>5级标题</h5>
<h6>6级标题</h6>
标题标签
语义:

1~6级标题的重要程度依次递减

特点:
  • 文字都有加粗
  • 文字都有变大,并且h1->h6文字逐渐减小
  • 独占一行

段落标签:p

场景:

在新闻和文章的页面中,用于分段显示

代码:
<p>我是一段文字</p>
段落标签
语义:

段落

特点:
  • 段落之间存在间隙
  • 独占一行

换行标签:br

场景:

让文字强制换行显示

代码:
<br>
语义:

换行

特点:
  • 单标签
  • 让文字强制换行

水平线标签:hr

场景:

分隔不同主题内容的水平线

代码:
<hr>
语义:

主题的分隔转换

特点:
  • 单标签
  • 在页面中显示一条水平线

文本格式化标签

场景:

需要让文字加粗、下划线等效果

代码:
标签 说明
<b></b><strong></strong> 加粗
<u></u><ins></ins> 下划线
<i></i><em></em> 倾斜
<s></s><del></del> 删除线
文本格式化标签
语义:

突出重要性的强调语境

图片标签:img

场景:在网页中显示图片
代码:
<img src="./test.jpg" alt="图片加载失败" title="这是一张图片">

[图片上传失败...(image-7e236c-1700532998816)]
src属性用于设置图片的资源,可以是网络地址也可以是本地路径。

alt属性将会在图片加载失败时显示。

title属性将会在鼠标悬停在图片上市显示。

特点:
  • 单标签
  • img标签要展示图片,需要配合其属性进行设置!

音频标签:audio

场景:

在页面中插入音频

代码:
<audio src="./music.mp3" constols loop></audio>
音频标签
常见属性:
属性名 功能
src 音频的路径,可以是网络地址。
controls 显示播放控件
autoplay 自动播放(部分浏览器不支持)
loop 循环播放
注意点:
  • 音频标签目前只支持三种格式:MP3、Wav、Ogg

视频标签:video

场景:

在页面中插入视频播放器

代码:
<video src="./video.mp4" constrols autoplay muted loop></video>
视频标签
常见属性:
属性名 功能
src 视频的路径,可以是网络地址。
controls 显示播放控件
autoplay 自动播放(谷歌浏览器中需配合muted静音属性实现)
muted 静音
loop 循环播放
注意点:
  • 视屏标签目前支持三种格式:MP4、WebM、Ogg

超链接标签:a

场景:点击之后,从一个页面跳转到另一个页面
称呼:

a标签、超链接、锚链接

代码:
<a href="./target.html" target="_blank">点击跳转到目标页面</a>
常用属性:
属性名 功能
href 设置需要跳转的目标
target 设置目标页面的打开方式:_self=在当前窗口打开(默认值)、_blank=在新的窗口中打开。
特点:
  • 双标签,内部可以包裹内容。
  • 如果需要在点击之后跳转到指定页面需要配合href属性。

列表标签:ul、ol、dl

场景:

在网页中按照展示关联性的内容,如:新闻列表、排行榜等

特点:

按照行的方式整齐的显示内容

种类:
  • 无序列表
  • 有序列表
  • 自定义列表
代码:
  1. 无序列表

    <!-- 无序列表 ul父标签 + li子标签 -->
    <ul>
         <li>西瓜</li>
         <li>苹果</li>
         <li>菠萝</li>
         <li>哈密瓜</li>
    </ul>
    
无序列表
  1. 有序列表

    <!-- 有序列表 ol父标签 + li子标签 -->
    <ol>
         <li>西瓜</li>
         <li>苹果</li>
         <li>菠萝</li>
         <li>哈密瓜</li>
    </ol>
    
有序列表
  1. 自定义列表

    <!-- 自定义列表 dl标签:表示自定义列表的整体,用于包裹dt/dd标签;dt:表示自定义列表的主题;dd:表示自定义列表的针对主题每一项 -->
    <dl>
        <dt>帮助中心</dt>
        <dd>账户管理</dd>
        <dd>购物指南</dd>
        <dd>意见反馈</dd>
        <dd>联系客服</dd>
    
        <dt>产品列表</dt>
        <dd>HarmonyOS</dd>
        <dd>Android</dd>
        <dd>iOS</dd>
    </dl>
    
自定义列表

表格标签:table

场景:

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

涉及到的标签:
标签名 说明
table 表格的整体,可用于包裹多个tr
tr 表格的每一行,可用于包裹td
td 表格的单元格,可用于包裹内容
caption 用于给表格设置表名
thead 用于给表格设置表头
tbody 用于给表格设置表格的内容区域
tfoot 用于给表格设置页脚
注意点:
  • 标签的嵌套关系:table -> tr -> td
代码:
  1. 普通的写法

    <!-- 表格 table:表格的整体,用户包裹多个tr;tr:表格的每一行,可用于包裹td;td:表格的单元格,可用于包裹内容; -->
    <!-- 表格的属性:border=边框;width=宽度;height=高度 -->
    <table border="1" width="500" height="200">
        <tr>
            <td>学号</td>
            <td>姓名</td>
            <td>分数</td>
        </tr>
        <tr>
            <td>XH001</td>
            <td>迪丽热巴</td>
            <td>98</td>
        </tr>
        <tr>
            <td>XH002</td>
            <td>杨幂</td>
            <td>92</td>
        </tr>
        <tr>
            <td>XH003</td>
            <td>刘亦菲</td>
            <td>100</td>
        </tr>
    </table>
    
表格
  1. 设置表名和表格结构

    <table border="1" width="500" height="200">
        <caption><strong>学生成绩表</strong></caption>
        <thead>
            <tr>
                <th>学号</th>
                <th>姓名</th>
                <th>分数</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>XH001</td>
                <td>迪丽热巴</td>
                <td>98</td>
            </tr>
            <tr>
                <td>XH002</td>
                <td>杨幂</td>
                <td>92</td>
            </tr>
            <tr>
                <td>XH003</td>
                <td>刘亦菲</td>
                <td>100</td>
            </tr>
        </tbody>
        <tfoot>
            <tr>
                <td>总结</td>
                <td>都很漂亮</td>
                <td>都很漂亮</td>
            </tr>
        </tfoot>
    </table>
    
带结构的表格
  1. 单元格合并

    场景:将多个水平或垂直的单元格合并成一个单元格,可以跨行合并也可以跨列合并

    合并步骤:

    a. 明确合并哪几个单元格

    b. 通过左上原则,确定保留谁删除谁

     **·** 跨行合并时只保留最上方的单元格,删除其他的。
    
     **·** 跨列合并时只保留最左边的单元格,删除其他的。
    

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

    注意点: 只有同一个结构中的单元格才能合并,不能跨结构合并(tbody中的单元格不能和tfooter中的单元格合并)。

    代码:

    <table border="1" width="500" height="200">
        <caption><strong>学生成绩表</strong></caption>
        <thead>
            <tr>
                <th>学号</th>
                <th>姓名</th>
                <th>分数</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>XH001</td>
                <td>迪丽热巴</td>
                <td>98</td>
            </tr>
            <tr>
                <td>XH002</td>
                <td>杨幂</td>
                <td rowspan="2">92</td>
            </tr>
            <tr>
                <td>XH003</td>
                <td>刘亦菲</td>
            </tr>
        </tbody>
        <tfoot>
            <tr>
                <td>总结</td>
                <td colspan="2">都很漂亮</td>
            </tr>
        </tfoot>
    </table>
    
单元格合并

input 标签:input

场景:

在网页中显示收集用户信息的表单效果,如:登录页、注册页等

标签名:input
  • input标签可以通过type属性设置不同的值,来展示不同的效果。
type属性值:
  1. text:文本框,用于输入单行文本

    昵称:<input type="text" placeholder="请输入昵称">
    
type=text
  1. password:密码框,用于输入密码

    密码:<input type="password" placeholder="请输入密码">
    
type=password
  1. radio:单选框,用于多选一

    <!-- input的type为radio或checkbox时可以用label标签包裹,从而实现点击文字也能选中的效果 -->
    <!-- 可以通过input标签的checked属性设置默认选中 -->
    性别:
    <label><input type="radio" name="gander" checked>男</label>
    <label><input type="radio" name="gander">女</label>
    
type=radio
  1. checkbox:多选框,用于多选多

    爱好:
    <label><input type="checkbox" checked>看电影</label>
    <label><input type="checkbox">听音乐</label>
    <label><input type="checkbox">打游戏</label>
    
type=checkbox
  1. file:文件选择,用于上传文件

    <!-- 单文件上传 -->
    <input type="file">
    <!-- 可以为input标签设置multiple属性让其可以实现文件多选 -->
    <input type="file" multiple>
    
type=file
  1. submit:提交按钮,用于提交表单中的内容

    <input type="submit">
    
type=submit
  1. reset:重置按钮,用于重置表单

    <input type="reset">
    
type=reset
  1. button:普通按钮,默认无功能,可以配合JavaScript添加功能。

    <input type="button" value="这是普通按钮">
    
type=button

按钮标签:button

button标签其实就是input的标签type为submitresetbutton时的按钮样式。

场景:

在网页中显示用户可以点击的按钮

type属性:
  1. submit:提交按钮,用于提交表单中的内容

    <button type="submit">提交</button>
    
type=submit
  1. reset:重置按钮,用于重置表单

    <button type="reset">重置</button>
    
type=reset
  1. button:普通按钮,默认无功能,可以配合JavaScript添加功能

    <button type="button">这是普通按钮</button>
    
type=button
注意点:
  • 谷歌浏览器中button默认是提交按钮
  • button标签时双标签,更便于包裹内容:文字图片等

下拉菜单:select

场景:

在网页中提供多个选择项供用户选择

标签组成:
标签名 说明
select 下拉菜单的整体
option 下拉菜单的每一项
常见属性:
  • selected:下拉菜单的默认选中
代码:
<select>
    <option>北京</option>
    <option selected>上海</option>
    <option>广州</option>
    <option>深圳</option>
</select>
select标签

文本域标签:textarea

场景:

在网页中提供可输入多行文本的表单控件

常见属性:
属性名 说明
cols 规定了文本域内可见宽度
rows 规定了文本域内可见行数(高度)
代码:
个人介绍: <br>
<textarea cols="60" rows="10"></textarea>
textarea标签
注意点:
  • 右下角可以拖拽改变大小
  • 实际开发中针对样式效果推荐使用CSS设置

Label标签:label

场景:常用于绑定内容与表单标签的关系
使用方法1:
  1. 使用label标签把内容(如:文本)包裹起来

  2. 在表单标签上添加id属性

  3. 在label标签的for属性中设置对应的id属性值

  4. 代码如下:

    <input id="check" type="checkbox"><label for="check">我是一个勾选框</label>
    
使用方法2:
  1. 直接使用label标签吧内容(如:文本)和表单标签一起包裹起来

  2. 要把label标签的for属性删除即可

  3. 代码如下:

    <label><input type="checkbox">我是一个勾选框</label>
    

语义标签:div、span

场景:

在实际开发网页时会大量频繁的使用到div和span这两个没有语义的标签

div标签:
  • div标签是一个双标签

  • 特点是一行显示一个(独占一行)

  • 代码如下:

    <div>这里是一个div标签</div>
    
span标签:
  • span标签是一个双标签

  • 特点是一行可以显示多个

  • 代码如下:

    <span>这里是一个span标签</span>
    

三、字符实体

  • 在网页中展示特殊符号效果时需要使用到字符实体替代,否则可能会与html代码冲突。
  • 字符实体的书写结构是:&{实体名(英文)};

常见字符实体如下表:

显示结果 描述 实体名
空格 &nbsp;
< 小于号 &it;
> 大于号 &gt;
& 和号 &amp;
" 双引号(单个) &quot;
' 单引号(单个) &apos;(IE浏览器不支持)
¢ 分(cent) &cent;
£ 镑(pound) &pound;
¥ 元(yen) &yen;
欧元(euro) &euro;
§ 小节 &sect;
© 版权(copyright) &copy;
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容

  • 概述 在网易云课堂学习李南江老师的《从零玩转HTML5前端+跨平台开发》时,所整理的笔记。笔记内容为根据个人需求所...
    墨荀阅读 2,327评论 0 7
  • 一、HTML简介 1.什么是HTML HTML,Hyper Text Markup Language(超文本标记语...
    青年心路阅读 759评论 0 0
  • HTML引用 元素定义短的引用,浏览器通常会为 元素包围引号。 元素定义被引用的节,浏览器通常会对 元素进...
    做有趣的恶魔阅读 598评论 0 1
  • 网站基本介绍 网站是由网站形成,而网页是由图片,链接,文字等元素组成的,就是html文件 常见浏览器有 [图片上传...
    王德发饿死了阅读 484评论 0 0
  • 一. HTML简介 1. 什么是HTML HTML是用来描述网页的一种语言。 HTML指的是超文本标记语言 HTM...
    肠粉白粥_Hoben阅读 817评论 0 1