day01 html
初识html
<!--文档的声明-->
<!doctype html>
<html lang="en"> #浏览器右上角弹出"翻译中文"
<head>
<!--网站配置: 配置元信息-->
<meta charset="UTF-8">
<!--标题标签-->
<title>八戒爱谁谁</title>
</head>
<body>
<h1>嘻嘻哈哈</h1>
<h2>嘻嘻哈哈</h2>
<h3>嘻嘻哈哈</h3>
<h4>嘻嘻哈哈</h4> #这个应该就是默认的16px
<h5>嘻嘻哈哈</h5>
<h6>嘻嘻哈哈</h6>
<!--默认文本: 16px-->
嘻嘻哈哈
</body>
</html>
一.web标准
w3c: 万维网联盟组织, 用来制定web标准的机构
web标准: 制作网页遵循的规范
web标准规范的分类: 结构标准, 表现标准, 行为标准
html: 结构标准, 用来制作页面的
css: 表现标准, 对页面进行美化的
javascript: 行为标准, 就是让网页动起来, 具有生命力的
二.浏览器介绍
浏览器是页面运行的平台, 常用的浏览器有ie(trident), firefox(gecko), chrome(blink), 猎豹浏览器, safari(webkit) 和 opera等
浏览器内核: 也就是浏览器所采用的渲染引擎, 决定了浏览器如何显示网页的内容以及页面的格式信息
渲染引擎是兼容性问题出现的根本原因
三.html概述
hyper text markup language, 超文本标记语言
不是编程语言, 是一种描述性的标记语言, 用于描述超文本内容的显示方式: 字体,颜色,大小等
作用:
是负责描述文档语义的语言
注意:
不是编程语言,没有编译的过程; 而是标记语言, html页面直接由浏览器解析执行,除了语义,其他什么都没有
四.html的网络术语
网页:由各种标记组成的一个页面就叫网页
主页(首页):一个网站的起始页面或者导航页面
标记:<p>称为开始标记, </p>称为结束标记,也叫标签: 每个标签都规定好了特殊的含义
元素:<p>内容</p>称为元素
属性:给每个标签所做的辅助信息
五.html的规范
是一个弱势语言
不区分大小写
后缀名: html或htm(简写: 因为有些系统不支持后缀名超过3个字符,比如dos)
html的结构:
声明部分: 主要告诉浏览器这个页面使用的是哪个标准, 如:html5标准
head部分: 将页面的一些额外的信息告诉服务器, 不会显示在页面上
body部分: 我们所写的代码必须放在此标签内
六.编写html的规范
1.所有的标记元素都要正确的嵌套,不能交叉嵌套
2.所有的标记用小写(习惯, 易读)
3.所有的标记必须关闭
双边标记:<span></span>
单边标记:转成 <br /> <hr> 转成 <hr />,还有<img src=“URL” />
4.所有的属性值必须加引号
5.所有的属性必须有值
七.html的语法特征
html对换行不敏感, 对tab不敏感
html只在乎标签的嵌套结构, 嵌套的关系: 和换行, tab无关(不影响页面的结构)
也就是说html不是依靠缩进来表示嵌套的,但是,我们要有良好的缩进, 使代码更易读
空白折叠现象
html中所有的文字之间, 如果有空格,换行,tab都将被折叠为一个空格显示
标签要严格封闭
八.html结构详解
新建html文件, 输入 ! 或 html:5, 按tab键后, 自动生成一部分代码
1.文档声明头:
<!doctype html>:任何一个标准的html页面, 第一行一定有声明, 告知浏览器文档使用哪种html或xhtml规范
doctype declaration, 文档声明, DTD
xhtml: 可扩展(extensible)超文本标记语言, 目的是为了取代html, 因为html书写不很规范, 会造成其他设备(ipad, 手机, 电视)等无法正常显示
xhtml与html4.0的标记基本上一样
xhtml是严格的,纯净的html
html5中极大简化了DTD,也就是说html5中没有xhtml了(w3c自己打脸了)
2.头标签(head)
head标签都放在头部分之间, 这里包含了<title>,<meta>,<link>,<style>
<title>:指定整个网页的标题, 在浏览器最上方显示
<meta>:提供有关页面的基本信息
<link>:定义文档与外部资源的关系
<style>:定义内部样式表(css)与网页的关系
<meta>标签: 可提供有关页面的原信息(meta-information),针对"搜索引擎和更新频度"的描述和关键词
标签位于文档的头部,不包含任何内容
提供的信息是用户不可见的,meta标签的组成: meta标签共有两个属性,他们分别是http-equiv属性和name属性, 不同的属性又有不同的参数值,这些不同的参数值实现了不同的网页功能
http-equiv(同等)属性:它用来向浏览器传达一些有用的信息, 帮助浏览器正确地显示网页内容,与之对应的属性值为content, content中的内容其实就是各个参数的变量值
<!--重定向 2秒后跳转到对应的网址,注意分号-->
<meta http-equiv="refresh" content="2; URL=http://www.luffycity.com">
<!--指定文档的内容类型和编码类型 -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!--告诉IE浏览器以*模式渲染当前网页-->
<meta http-equiv="x-ua-compatible" content="IE=edge"> #(compatible: 兼容)
name属性:主要用于页面的关键字和描述,是写给搜索引擎看的, 关键字可以有多个,用','逗号隔开,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息的.
<!--这些关键词,就是告诉搜索引擎,这个网页是干嘛的,能够提高搜索命中率。让别人能够找到你,搜索到-->
<meta name="Keywords" content="网易,邮箱,游戏,新闻,体育,娱乐,女性,亚运,论坛,短信" />
<!--只要设置Description页面描述,那么百度搜索结果,就能够显示这些语句,这个技术叫做SEO(search engine optimization,搜索引擎优化)。-->
<meta name="Description" content="网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、等30多个内容频道,网聚人的力量。" />
<!--下面这个标签,是让我们网页支持移动端,移动设备优先(了解即可)-->
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>:主要用来告诉用户和搜索引擎这个网页的主要内容是什么, 搜索引擎可以通过网页标题, 迅速地判断出当前网页的主题.
<title>八戒爱谁谁</title>
<link>:
<!--标题前面的小图标-->
<link rel="shortcut icon" href="http://hcdn1.luffycity.com/static/frontend/index/Luffy-study-logo.png">
<link rel="shortcut icon" href="file:///C:\Users\THINKPAD\Desktop\bajie.jpg">
<!--css的作用: 修饰标签, 静态资源-->
<link rel="stylesheet" href="./index.css">
<style>:修饰标签, 连接内接资源
<style>
h2{
color: blue;
}
</style>
3.body标签
字体标签相关
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>bajieaishuishui</h1>
<!--h1~h6: 页面中只有一个 h1, 是给爬程用的: 都是独占一行显示--> #具有align(排列)属性:属性值可以是left, center, right
<h2>bajieaishuishui</h2>
<!--分隔线--------------------------------------------------------------->
<hr />
<!--回车换行-->
八戒<br />爱谁谁<br />
<!--空格-->
爱 谁谁
<!--下划线underline-->
<u>悟空</u>
<!--粗体-->
<strong>大唐</strong>
<!--斜体-->
<em>斜体</em>
<i>斜体</i>
<!--上标-->
<sup>bajie</sup>
<!--下标-->
<sub>bajie</sub>
<!--删除线-->
<del>删除线</del>
</body>
</html>
排版标签:
块级标签
div:division分割;
行内标签
span:范围,跨度:不会影响网页的结构;
这两个东西是最重要的"盒子"
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
span{ #对body中所有的span都起作用
color: red;
}
h3{
color: darkblue; #对body中所有的h3标题都起作用
}
</style>
</head>
<body>
<h3><span>9.9元</span> <del>99</del></h3>
<div id="topBar">topBar: 顶部栏
<div class="top-l">左边区域</div>
<div class="shopCar">购物<span>车</span></div>
<div class="login">登录</div>
</div>
<div id="header">header: 头部</div>
<div id="container">container: 内容区域</div>
<div id="footer">footer: 脚部</div>
</body>
</html>
p标签:段落标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--p标签: 是一个文本级标签, p里面只能放文字,图片,表单元素, 其他的一律不能放.(不能包含容器标签: 如div,h1~h6), 也不能嵌套-->
<!--p标签: 可以装的有: strong, em, i, u, del, a, span, img-->
<p>
<strong>八戒爱谁谁</strong>
文本
</p>
<p>大唐</p>
</body>
</html>
a标签: 超链接标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<a href="file:///C:\Users\THINKPAD\Desktop\bajie.jpg">八戒一下</a><br /> #超链接默认是蓝色, 按住是红色, 访问过是紫色, 悬浮还可以是别的颜色
<a href="http://www.baidu.com/">百度一下</a>
<p>
<a href="http://www.baidu.com/">百度一下</a> #p里面可以放a标签
#<h2>bajie</h2> #但是,不能放h1,h2... ...标签,因为h1等是独占一行的, 是可以装东西的,是容器
</p>
<p>
<a href="http://www.baidu.com/", id="anchor", class="anchor", title="bajie">百度一下</a> #id不能重复
<a href="#", id="anchor1", class="anchor", title="这个是假链接">百度一下</a> #类名可以重复
</p>
</body>
</html>
img标签:图片标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
.bajie{ #选中某一个span的方法
width: 200px; #span里面不能设置宽和高(因为是行内标签, 如果要设置需要转成块级标签)
height: 100px;
color: red;
display: block;
}
div{
width: 300px;
height: 300px;
}
</style>
</head>
<body>
<div>
悟空
</div>
<span class="bajie">bajie</span>
<span>八戒</span>
<!--img: src:链接的图片资源, alt:是图片资源加载失败时显示的内容-->
<!--img: 高度和长度写一个就行了, 比例会自己匹配-->
<img src="file:///C:\Users\THINKPAD\Desktop\xiongmao.jpg" alt="大熊猫来了!", width="100">
<img src="file:///C:\Users\THINKPAD\Desktop\xiongmao.jpg" alt="大熊猫来了!", width="900", height="200"> #都写, 如果比例不对, 图片会失真
</body>
</html>
标签分类:
1.行内标签:
在一行内显示: span, strong, em, i, del, a
不能设置宽和高: 默认宽和高是根据内容的大小填充的
1.1行内块标签:img, input输入框
在一行内显示
可以设置宽高
2.块级标签:
独占一行: p, div, h1~h6
可以设置宽和高: 不过不设置, 默认宽是父标签的100%填充的, 高度是内容的高度
#html标签 特征
对空格和换行不敏感
空白折叠现象
标签要严格封闭
form表单控件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="https://www.baidu.com/s">
<!--表单控件-->
<!--https://www.baidu.com/s?wd=bajie: 这样色地提交-->
<input type="text" name="wd", value="bajie" /> #key value
<input type="password" name="pwd", value="bajie" /> #key value
<input type="submit" value="搜索"> #把?wd=bajie的输入内容, 提交到form表单中写明的地址
</form>
</body>
</html>
九.mime文件类型
https://www.w3school.com.cn/media/media_mimeref.asp
格式: 类型/子类型 扩展名
text/html html, htm