网站是什么
网站是由一个一个网页构成的,要想理解网站是什么,首先要理解网页是什么
可以认为,网站就是放在服务器上的一个文件夹,该文件夹中可以包含子文件夹以及各种各样的文件,这些文件都可以通过域名来访问
网页是什么
网页其实就是放在服务器上的一个文件,当我们浏览网页时,浏览器向服务器发请求,然后对请求的结果进行解析,渲染出各种漂亮的界面,比如表格、图片、标题、列表等
网页的本质 —— 由 HTML 代码构成的纯文本文件
网页的基本构成
结构
- HTML —— 用于描述页面的结构
- 使用
标签
的形式来标识网页中的不同组成部分 纯文本
只能保存文本内容
表现
- CSS —— 用于控制页面中元素的样式
行为
- JS —— 用于响应用户操作
什么是 HTML
HTML 全称 —— 超文本标记语言
HTML 可以将符合规范的字符串让浏览器解析生成网页,没有 html 包裹的字符是无法被浏览器识别的
HTML 是由一系列节点组成的,我们网页结构中的标签、注释、属性、文本都是节点
总结起来,HTML 就是将这些节点通过浏览器解析后生成网页的一种计算机语言
标签
网页版本声明 doctype
doctype
- 加在网页最顶部
1 | <!-- html5 的版本声明 --> |
html 标签
此元素可告知浏览器其自身是一个 HTML 文档
根标签, 一个网页中有且只有一个.网页中所有内容都应该写在根标签中
1 | <html lang="en"> |
lang 指明你的网页是英文还是中文网页,当指定值和本地浏览器默认值不一样时,浏览器会提示 是否翻译为中文
, 可以不指定,也可以指定为 zh-CN
常用属性值 | 说明 |
---|---|
“en” | 声明此网页为英文网页 |
“zh-CN” | 声明此网页为中文网页 |
不写 lang | 浏览器自行判断是否弹出是否翻译 |
head
meta、title、link、style 以及 script 标签是可以放在 head 标签内部的
meta 标签
meta 标签内的信息不会显示在页面中
meta 标签有很多功能
- 可以定义文档中的关键字
- 可以对文档进行描述
- 可以配合自身的属性设置网页的过期时间
meta 的 charset 属性
用来定义页面的编码格式
常用属性值 | 说明 |
---|---|
ISO-8859-1 | 表示网页的默认编码格式 |
UTF-8 | 表示万国码,是目前最常用的编码格式 |
gb2312 | 表示国际汉字码,不包含繁体 |
gbk | 表示国家标准扩展版。增加了繁体,包含所有亚洲字符集 |
1 | <meta charset="UTF-8" /> |
乱码问题
计算机只认识 0 和 1
- 编码——依据一定的规则, 将字符转换成二进制编码的过程
- 解码——依据一定的规则,将二进制编码转换为字符的过程
- 字符集——编码和解码的规则
- 常见的字符集
- ASCII
- ISO-8859-1
- GBK
- GB2312
- UTF-8 (最常用)
- ANSI (自动以系统的默认编码来保存文件)
- 常见的字符集
产生乱码的原因
编码和解码采用的字符集不同
解决方法
1
<meta charset="UTF-8" />
meta 的 name 属性
name 属性可以用来定义网页的关键字、描述、作者以及版权信息
常用属性值 | 说明 |
---|---|
keywords | 用来定义网页的关键字。关键字可以是多个,之间需要用英文逗号, 隔开 |
description | 用来定义网页的描述 |
author | 用来定义网页的作者 |
copyright | 用来定义网页的版权信息 |
viewport | 优化移动浏览器的显示 |
theme-color | 浏览器地址栏变色 |
format-detection | 忽略页面中符合格式的字符识别为电话号码和邮箱 |
apple-mobile-web-app-capable | 启用 WebApp 全屏模式 |
apple-mobile-web-app-status-bar-style | 隐藏状态栏/设置状态栏颜色:只有在开启WebApp全屏模式时才生效(content的值为default | black | black-translucent) |
name 属性需要和 content 属性一起使用才能生效
1 | <meta name="keywords" content="<head>标签描述"> |
mea 的 http-equip 属性
可以设置网页的过期时间,自动刷新
常用属性值 | 说明 |
---|---|
expires | 设置网页的过期时间 |
refresh | 设置网页自动刷新的时间间隔,单位是秒 |
content-type | 定义文件的类型,用来告诉浏览器该以什么格式和编码来解析此文件 |
X-UA-Compatible | 避免 IE 使用兼容模式 |
1 | <meta http-equiv="content-type" content="text/html"> 用来告诉浏览器本网页编写的是 HTML 代码,需要用 HTML 的格式来进行解析 |
http-equiv 也需要搭配 content 属性来使用
title
用来表示文档的标题, 搜索引擎在检索页面时, 会首先检索 title 标签 中的内容
link
标签配合 href 属性来引用外部 CSS链入一个文档, 通过 rel 属性指定链入文档内容的类型
1
<link rel="stylesheet" href="index.css" />
style
用来在内部编写 CSS 样式
script
用来引入外部文件, 配合 src 属性
不建议写在 head 中
href 和 src 的区别
- src 是 source 的简写,表示来源地址,用来引入地址中的内容。引入的内容会嵌入到当前标签所在的位置,所以浏览器在解析引入文件时,会停止对后续文档的处理,直到 src 的内容加载完毕
- href 是 Hypertext Reference 的简写,表示超文本引用。在使用 href 时,浏览器不会停止解析当前文件。因为 href 属性中的内容只是与当前页面有关联,然后当前页面对它进行一次引用
a
href 属性用来指明要跳转到的 url,target 属性用来指明新页面的打开方式
1 | <a href="http://c.biancheng.net" target="_blank">C语言中文网</a> |
a 标签的 href 属性
属性指定链接的目标,也就是要跳转到什么位置,href 可以有多种形式
href 使用的路径可以是绝对路径,也可以是相对路径
a 标签的 target 属性
使用 target 属性来改变目标窗口的打开方式
属性值 | 说明 |
---|---|
_self | 默认,在现有的窗口中打开新页面,原窗口将被覆盖 |
_blank | 在新的窗口中打开新页面 |
a 标签的默认样式
a 标签默认带有下划线,字体为蓝色
可以重置 a 标签的样式
img
用来引入一张图片,src 属性的值可以是绝对路径,也可以是相对路径
1 | <img src="../image/logo.jpg"/> |
img 标签如果只指定宽度(或高度),图片默认是等比缩放的
img 元素默认有 3px 下边距
- 如何解决?
- display: block;
- vertical-align: middle;
- img 父元素设置 font-size: 0;
form
HTML 中的表单不仅可以供用户填写信息还可以为用户提供信息,将用户信息提交给服务器
表单元素应该放在