1. 网页介绍
软件分类
系统软件
- windows linux macOS
应用软件
- office qq
游戏软件
- 绝地求生 王者荣耀
客户端和服务器
- 客户端: 能看见的部分
- 服务器: 为软件提供服务
服务器语言
- java(推荐,,工作好找) PHP c# python Node.js(js编写服务器,前端必须学)
客户端形式
- 文字客户端: 用命令的形式使用软件,开发人员常用
- 图形化界面(C/S): 鼠标属性点击缩放拖动使用
- 网页(B/S架构): 访问网页来使用软件
网页优点
- 不用安装
- 不需更新
- 跨平台[最重要,开发成本降低,app需要在不同平台各自开发一个app,ios 安卓 pc 鸿蒙系统...]
网页语言
- HTML CSS JavsScript
网页和浏览器
浏览器作用
- 渲染网页呈现出来
网页结构
- 结构 html
- 表现 css
- 行为 javascript
2. 注释
- 多行注释
<!-- 注释中的内容 -->- 不能嵌套注释
- 单行注释
//
- 在网页中看不见,可以在源码上看见
- 要简单明了
3.标签 = 元素
- 父元素
- 直接包含子元素叫做父元素
- 子元素
- 直接被父元素包含的元素时子元素
- 祖先元素
- 直接/间接包含后代元素
- 一个元素的父元素也是她的的祖先元素
- 后代元素
- 直接或间接被祖先元素包含的元素
- 兄弟元素
- 拥有相同父元素的元素
分类
- 单标签:
<img><img/>两种都可以 - 双标签
标签属性
- 位置: 双标签的开始标签/单标签
- 形式: 键值对/属性名
- 作用: 设置标签中的内容如何显示
- 注:
- 属性和标签名/其他属性应该使用空格隔开
- 属性名不能瞎写,更具文档中的规定编写
- 属性可以有多个
4.网页的基本结构
<!doctype html>
- 是什么: 文档声明
- 作用: 告诉浏览器当前网页的版本
- 注意: html不区分大小写
<html>
- 是什么: 根标签/根元素
- 限制: 网页中的所有内容都要写根元素的里边
- lang='en' : 当前语言是英文的,会在浏览器中弹出是否翻译成中文(浏览器是中午的)
- en 英文
- zh 中文
<head>
- 是什么: 网页的头部
- 效果: 不会在网页中直接出现
- 作用: 帮助浏览器/搜索引擎来解析网页
- 浏览器读网页
- 搜索引擎有爬虫程序,把网页源代码所有信息爬到数据库
<meta>
- 是什么: 帮助浏览器去解析网页的
<meta charset='utf-8'>设置网页的字符集,避免乱码- 作用: 避免出现兼容性问题,设置网页的原数据
- charset 指定网页的字符集
- name 指定数据的名称
- content 指定的数据的内容
- keywords 表示网站的关键字,关键字之间用逗号隔开
- description 指定网站的描述,会显示在搜索引擎的搜索结果
- http-equiv 网页重定向
// 提高网页浏览器爬虫好爬取,以提高的搜索排名
<head>
<meta name="Keywords" content="网上购物,网上商城,家电,手机,电脑,服装,居家,母婴,美妆,个护,食品,生鲜,京东"/>
// 三秒后跳转界面到百度
<meta http-equiv='refresh' content='3;url=http://www.baidu.com'>
</head>
<title>
- 是什么: 浏览器的标题
- 显示在浏览器的标题栏
- 作用: 搜索引擎判断网页的主要内容之一是根据title中的内容来
- 浏览器中: title标签的内容会作为搜索结果的超链接上的文字显示
<body>
- 是什么: html的子元素,表示网页的主题,网页中所有可见的都应该写在body中
5. 编码
- UTF-8 万国码
6. vscode
插件
live插件
- 作用: 改代码浏览器会自动同步刷新
- 插件推荐: Live Server
- 实施: 实时更新的服务器打开网页
- 优点: 地址栏不是磁盘地址,而是真真正正的服务器地址,契合真实项目上线的环境(是部署在服务器上)
快捷键
- ctrl+enter 光标下移,内容不下移
- ctrl+/ 注释
- alt+shift+箭头: 整行复制
- 输入lorem: 自动生成英文句子
7.html语法
- 关注标签的语义,而不是样式
实体
空格
- 背景: 在网页中编写多个空格默认情况会自动被浏览器解析为一个空格
- 解决:
小于号 大于号
- 背景: 会把大小于号解析成标签
- 问题: 在html中有些时候,不能直接书写一些特殊符号,例如连续大的空格,字母两侧的大于和小于号
- 解决: 使用html中的实体(转义字符)
- 空格
- 大于号
> - 小于号
< - 版权符号
© - www.w3school.com.cn/html/html_e… 查看
- 空格
语义化标签
标题标签 h1-6
- 重要性: h1仅次于title,一般一个界面只有一个h1
- 使用频率: h1-3常用, h4-6很少用
- 特点: 块元素
<hgroup>
- 含义: 对标题进行组合
- 特点: 块元素
<p>
- 含义: 段落标签
- 特点: 块元素[独占一行]
<em>
- 含义: 语音语调的突出
- 效果: 斜体
- 特点: 行内元素[在页面不会独占一行]
<strong>
- 含义: 强调
- 效果: 加粗
- 特点: 行内元素
<blockquote>
- 含义: 引用别人的话,长引用
- 效果: 展现为一个左、右两边进行缩进的段落。
- 特点: 块元素
<q>
- 含义: 短引用
- 特点: 行内元素
<br/>
- 含义: 换行
- 特点: 块元素
<b>
- 含义: 强调
- 效果: 加粗
- 特点: 行内元素
<i>
- 含义: 表现因某些原因需要区分普通文本的一系列文本
- 效果: 斜体
- 特点: 行内元素w
<small>
- 含义: 被重新定义为表示边注释和附属细则,包括版权和法律文本
- 效果: 字体变小一号
- 特点: 行内元素
<sub>
- 含义: 下标元素
- 效果: 文本相比,展示得更低并且更小
- 特点: 行内元素
<sup>
- 含义: 上标元素
- 效果: 与主要的文本相比,展示得更高并且更小
- 特点: 行内元素
块元素 行内元素
块元素
- 作用: 在网页中一般通过块元素来对页面进行布局
- 使用情况: 一般在块元素中放行内元素,块元素
- p元素: 不能放任何块元素
行内元素
- 作用: 用来包裹文字
语义化标签
- 不是必须的,可以用可以不用
- 以下都是h5新增的
<header>
- 含义: 网页的头部
- 使用情况: 可以有很多header
<mian>
- 含义: 网页的主体部分
- 使用情况: 一个页面中只会有一个main
<footer>
- 含义: 网页的底部
- 使用情况: 可以有很多footer
- 以上三个标签时h5以后新增的标签,用的不多,不是必须需要的,主要是看在SEO中的作用,实际上在SEO中的作用不明显,所以用的少
<nav>
- 含义: 网页中的导航
<aside>
- 含义: 侧边栏或者标注框
<articl>
- 含义: 独立的一个文章
<section>
- 含义: 独立的区块,上面的都不能用时,使用section,表示其他的意思
h5之前
-
div
- 含义: 没有语义
- 使用: 目前来讲div还是我们主要的布局元素
- 特点: 块元素
-
span
- 含义: 没有语义
- 使用: 一般用于网页中选中文字
- 特点: 行内元素
列表
- 列表内可以互相嵌套
有序列表
- ol>li
无序列表
- ul>li
定义列表
- dl>dt+dd*2
超链接
-
作用: 从一个页面跳转到其他页面/当前页面的其他位置
-
<a href='https://www.baidu.com'> -
特点: 行内元素
-
嵌套: 放所有标签出来本身标签
-
颜色: 紫颜色-访问过的链接 蓝色-未访问过的地址
-
属性
- href 跳转链接
- target 指定超链接打开的位置[ _self 默认值 在当前页面打开超链接 ; _blank 在一个新页面中打开超链接]
- 跳转到指定那个位置[href='#' - 页面顶部; href='#目标元素的id属性值' - 跳转到指定位置]
-
占位符:
- 开发中位置跳转路径时,可以用href='#',作为占位符
- href='javascript:;' 点击后什么也不会发生,不会跳到顶部
相对路径
- 上一级目录
../ - 当前目录
./; 可以省略不写
绝对路径
- www.baidu.com
- C://......
图片标签
-
作用: 向当前页面中引入一个外部图片
-
<img/><img>单标签 -
属性
- src 指定外部图片的路径
- alt 对图片的描述,图片加载不出来时显示,浏览器爬虫会把alt的内容和图片进行关联[图片不写alt属性不会被搜索引擎收录]
- width
- height [宽度和高度如果只修改了一个,则另有一个会等比例缩放] [一般在PC端,不建议修改图片,最好让美工直接切好,调小浪费内存,调大失真]
-
特点: 替换元素,既有块元素也有行内元素,不独占一行
-
图片格式:
- jpeg(jpg) 支持颜色多,不支持动图,不支持透明度 [一般用来显示照片 可以压缩]
- gif 支持的颜色少,支持简单透明,支持动图 [颜色的单一的图片 动图]
- png 颜色丰富,支持复杂透明 [专为网页而生的]
- webp 谷歌推出专门用来表示网页中的图片的一种格式 [具备其他图片格式的所有优点,且文件还特别小,谷歌压缩算法很先进] [缺点: 兼容性不好]
- base64 图片使用base64进行编码,可以将图片转换为字符,通过字符形式来引入图片 [一般都需要一些和网页一起加载的图片从才会使用base64,相比起来速度快]
- 效果一样,用小的,加载速度快; 效果不一致,用效果好的[效果和大小中取一个平衡]
内联框架
- 作用: 向当前页面引入一个其他页面
<iframe>- 属性
- src 指定要引入的网页路径
- frameborder 指定内联框架的边框
音视频
- 默认情况下不允许用户自己控制播放停止
音频
-
<audio scr='./XXXX.mp3' controls autoplay> -
作用: 向页面中引入一个外部的音频文件
-
属性
- src 路径
- controls 允许用户自己控制播放
- autoplay 音频文件是否自动播放 [大部分浏览器都不会自动对音乐进行播放]
- loop 循环播放
-
不兼容情况
- 背景: ie8浏览器不兼容auido标签
- 解决: 支持的浏览器,会去寻找source标签,不支持的,会忽略audio和source标签,从而显示文字
<audio controls>
对不起,您的浏览器不支持播放音频,请升级浏览器!
<source src='./XXXX.mp3'>
</auido>
- ie8等老版本的支持播放音频的文件
<embed src='XXX.mp3' type='audio/mp3'>[缺: 会自动播放,必须加上width height]- type 值为文件具体大的类型/文件具体类型
<audio controls>
<source src='./XXXX.mp3'>
<source src='./XXXX.ogg'>
<embed src='XXX.mp3' type='audio/mp3' width='300' height='200'>
</auido>
- 音频格式
- 背景: 一些浏览器不支持部分音频文件
- 解决: 多写几种音频文件的sorce
<audio controls>
对不起,您的浏览器不支持播放音频,请升级浏览器!
<source src='./XXXX.mp3'>
<source src='./XXXX.ogg'>
</auido>
视频文件
-
<video> -
属性
- scr
- autoplay
- loop
- controls
-
兼容性
<video controls>
<source src='XX.mp4'>
<source src='XX.webm'>
<embed src="XX.mp4" type='video/mp4'>
</video>
现实情况
- 背景: 本地存储视频音频文件占服务武器内存量大,加载速度上需要更大的带宽,成本高
- 解决
- 七牛云: 托管到这个平台,引入别人的链接
- 上传到一些视频平台,引入别人的链接,白嫖
9.属性
id
- 使用范围: 每个标签都可以添加一个id属性
- 特点:
- 唯一标识符,同样一个页面不能出现重复的id属性
- 区分大小写
10.
- 标签写在根元素外部/p元素中嵌套了块元素/根元素中才出现了除head和body以外的子元素
- 原因: 浏览器在解析网页时,会自动对网页中不符合规范的内容进行修正
- 修正: 源码加载到内存(F12)后进行修证
- 修正的影响: 性能会慢一点