80:20原则:80%的知识,只有20%的场景可以用到,而20%的知识,有80%的场景可以用到。
没有人可以把知识全部学会。太多太多了……我们只需深入掌握这关键的20%,即可完成绝大多数的开发需要。而那80%的知识,用处不大但绝不是没有用处,把它归类于【扩展课程】。
HTML:Hyper Text Markup Languange 超文本标记语言;定义网页中有什么
CSS:Cascading Style Sheets 层叠样式表;定义网页中的东西长什么样子
难不难?
对比所有的开发技术,HTML&CSS是最简单的。
如何学习?
讲解顺序?
HTML讲解一点 -> CSS(补充HTML的知识)
HTML:简单,没有什么效果。学习起来很枯燥
CSS:相对复杂
开发工具:VSCode:Visual Studio Code,通用编辑器,微软。
记笔记:MarkDown:MD,文档格式标椎。文档编写者不需要关注文档的格式,仅关注内容本身。
术语降低沟通成本
1.web :互联网
2.w3c:万维网联盟,非盈利性组织:w3.org 为互联网提供各种标椎
3.XML:可扩展的的标记性语言:extension markup language,用于定义文档结构。
HTML是w3c组织定义的语言标准,HTML是用于描述页面结构的语言。
Mozilla Development Network,Mozilla(开发者社区)组织出品了火狐浏览器
权威的查资料的地方 比如查:h1 mdn
CSS是w3c定义的语言标准,CSS是用于描述页面展示的语言。(核心)
CSS决定了页面长什么样子。
浏览器内核执行 -> 页面
浏览器:
1.shell:外壳
2.core:内核(JS执行引擎、HTML&CSS渲染引擎)
几种常见浏览器的内核:
HTML5、CSS3
HTML5 :2014年 已经制作完成并发布
CSS3:目前还没有制定完成。有些浏览器能识别,有些不能识别。
XHTML:可以认为是HTML的一种版本,完全符合XML的规范。标准要求高。退出历史舞台。
windows记事本
Sublime
ATom
Dreamweaver
VSCode 界面简洁 可扩展插件
1.将界面设置成中文:按F1,输入Configure Display Language ,点击,安装其他语言
2.显示文件图标主题:点击扩展插件:vscode-icons
3.直接在浏览器中可以运行,并且能够自动刷新(非常有用): Live Server
4.增强Markdown的预览:Markdown Preview Enhanced
Emmet插件:可以帮我们自动生成HTML代码片段。(内置的)
其他叫法:标签,元素
<a href="http://www.duyiedu.com" title = "黑龙江渡一教育有限公司">渡一教育a>
元素 = 起始标记(begin tag)+ 元素内容 + 结束标记(end tag) + 元素属性(非必需)
属性 = 属性名 + 属性值
1.局部属性:某些元素特有的属性
2.全局属性:所有元素通用,eg:title
<meta charset="UTF-8">
有些元素没有结束标记,这样的元素叫做:空元素
空元素的两种写法:
1.
2.
元素不能相互嵌套:
<div><p>div><p>
父元素,子元素,祖先元素,后代元素,兄弟元素(拥有同一个父元素的元素)
文档声明:告诉浏览器,当前文档使用的是html5标准
DOCTYPE html>
不写文档声明,将导致浏览器进入怪异渲染模式。
<html lang="en">
html>
根元素,一个页面最多只能一个,并且该元素是所有其他元素的父元素或祖先元素。(html5中没有强制要求书写该元素)
lang属性:language,全局属性,表示该元素内部使用的文字是使用哪一种自然语言书写而成的。
lang = “cmn-hans” 表示简体中文
<head>
head>
文档头,文档头内部的内容,不会显示到页面上。
<meta>
文档的元数据:附加信息。(这些信息不用来显示,用来起一些特定作用)
charset:指定网页内容编码。
计算机中,低压电(0-2 V)0,高压电(2-5 V)1 。使用的是二进制。所以在计算机中只能存储数字。为了存储文字,将文字和数字进行一一对应,比如a–97,A–64.
该字典就叫做字符编码表。中国GB2312,台湾GBK
UTF-8 是Unicode 编码的一个版本,它们是万国码。
<meta name="viewport" content="width=device-width, initial-scale=1.0">
把网页的视口设定为适应宽度,以此来兼容手机端。
<meta http-equiv="X-UA-Compatible" content="ie=edge">
这段代码用来解决IE浏览器的兼容性问题,就是告诉浏览器,如果你是一个IE浏览器,那么推荐你将内核切换成edge.
<title>Documenttitle>
表示网页的标题
<body>
body>
文档体,页面上所有要参与显示的元素,都应该放置到文档体中。
语义化在很早以前就提出来了,在html5中更加强调语义化。
<h1>:一级标题
<p>:段落
<a>:超链接
标题:head
h1~h6:表示一级标题到六级标题
【VSCode快捷键】:ctrl+Enter:光标不在末尾时的换行。
ctrl+shift+Enter:在上面增加一个空行
【代码快速生成】:比如要写6个h1标签:h1*6>{内容}+Tab键
假如写h1~h6:h$*6>{$级标题}+Tab键
'>'代表要写子元素,'$'代表每次自增 1 的变量
段落:paragraphs
在VSCode中输入lorem,再按Tab键,会生成乱数假文(没有任何实际含义的文字),随机生成的,批量生成时内容不一样
在lorem后写1,表示只随机生成一个单词,写1000,那么就是1000个单词
没有语义,仅用于样式的设置
某些元素在显示时会独占一行(块级元素),而某些元素不会(行级元素)。
到了HTML5,已经弃用这种说法
HTML标准中块级元素和行内元素的区别至高出现在4.01标准中。在HTML5,这种区别被一个更复杂的内容类别代替,“块级”类别大致相当于HTML5中的流内容类别,而“行内”类别相当于HTML5中的措辞内容类别,不过除了这两个还有其他类别。
预格式化文本格式
空白折叠:在源代码中的连续空白字符(空格、换行、制表),在页面显示时,会被折叠为一个空格。
例外:在pre元素里的内容不会出现空白折叠
在pre元素内部出现的内容,会按照源代码格式显示到页面上。
该元素通常用于在网页中显示一些代码(这样会保留代码缩进)。
<code>
<pre>
var i = 2;
if(i){
console.log(i);
}
pre>
code>
在代码的pre元素外再套一层code元素,可以实现语义化。code表示代码区域。
pre元素功能的本质:它有一个默认的CSS属性:white-space : pre;
<code style = "white-space : pre">
var i = 2;
if(i){
console.log(i);
}
code>
实体字符(HTML Entity)
实体字符通常用于在页面中显示一些特殊符号。
- 小于符号:
<
<
- 大于符号:
>
- 空格符号
non-breaking space
- 版权符号(©)
©
- &符号
&
常用的转义字符见下表:
字符 | 含义 | 实体名 | 实体(十进制) | 实体(十六进制) |
---|---|---|---|---|
空格 | |
|
或者 (下同) |
|
< | 小于号 | < |
< |
< |
> | 大于号 | > |
> |
> |
= | 等于号 | > |
= |
= |
" | 双引号 | " |
" |
" |
# | 数字符号 | # |
# |
|
$ | 美元符号 | $ |
$ |
|
% | 百分号 | % |
% |
|
& | 逻辑与 | & |
& |
& |
’ | 单引号 | ' |
' |
|
( | 左括号 | ( |
( |
|
) | 右括号 | ) |
) |
|
* | 星号 | * |
* |
使用方法:
例如,想显示这个字面内容,应该写成:
<a>
超链接
hyper reference:通常表示跳转地址
【VSCode代码快速生成】:((h2>{章节$})+p>lorem)*6
'+'后面写的是兄弟节点
((h2[id="chapter$"]>{章节$})+p>lorem1000)*6
属性写在[]内,属性名与等号,等号与属性值之间不要有空格,否则生成不了。
【小技巧】:按住鼠标滚轮垂直向下拖动,可以生成多行光标,高效率修改代码。
id属性:全局属性,表示元素在文档中的唯一编号
<a href="#">回到顶部a>
‘#’后面不跟任何东西,浏览器默认会帮你跳转到顶部。
锚点跳转也会改变地址栏地址,所以它跟超链接跳转地址从本质上讲没啥区别。
表示跳转窗口位置
target属性的取值:
站内资源:当前网站的资源
站外资源:非当前网站的资源
站外资源:绝对路径
站内资源:相对路径
url地址:
协议名://主机名:端口号/路径
schema://host:port/path
当跳转目标和当前页面协议相同时,可以省略协议。
https://mbd.baidu.com/newspage/data/landingsuper?
http://www.renren.com
file:///F:/VSCode%20%E4%BB%A3%E7%A0%81%E5%92%8C%E7%AC%94%E8%AE%B0/HTML/2.HTML%E6%A0%B8%E5%BF%83/5.a%E5%85%83%E7%B4%A0/index.html
协议名:http、https(比http安全性高)、file(表示本地文件)
主机名:域名、IP地址
http://127.0.0.1:5500/HTML/ (IP地址)
端口号:如果协议是http协议,默认端口号为80;如果协议是https协议,默认端口号为443
以./开头,./表示当前资源所在的目录
可以书写…/表示返回上一级目录
相对路径中:./可以省略
image的缩写,空元素,没有结束标记
src属性:source(来源,出处)
alt属性:当图片资源失效时,将使用该属性的文字描述来替代图片
<a href="https://www.baidu.com/" target="_blank">
<img src="./img/sun.jpg" alt = "这是一个太阳系">
a>
map:地图
它与img元素,a元素联合使用,可以做到点击图片某一区域,跳转到一个链接,点击另一个区域,跳转到另一链接。
map的子元素:area
<a href="https://www.baidu.com/" target="_blank">
<img usemap="#txMap" src="./img/sun.jpg" alt = "这是一个太阳系">
a>
<map name="txMap">
<area shape="circle" coords="240,197,47" href="https://baike.baidu.com/item/%E6%9C%A8%E6%98%9F/222105?fr=aladdin" alt="" target="_blank">
<area shape="rect" coords="58,20,347,62" href="https://baijiahao.baidu.com/s?id=1615843473568508231&wfr=spider&for=pc" alt="" target="_blank">
<area shape="poly" coords="263,140,296,128,311,92,364,102,403,98,366,121,346,154,299,142" href="https://baike.baidu.com/item/土星/136354?fr=aladdin" alt="" target="_blank">
map>
shape:所选区域形状
coords:坐标
可以用QQ截图来测量图片的坐标。
衡量坐标时,为了避免衡量误差,需要使用专业的衡量工具。
PS、pxcook、cutpro(老师开发的)
figure:指代,定义。
图片元素表示其自己的内容标签,通常带有标题。通常根据文档的主流引用,因此可以在不影响文档的情况下在文档中移动文档。
通常用于把图片、图片标题、描述包裹起来,使图片和文字产生相关性,实现语义化。
子元素:figcaption,表示标题
<figure>
<a href="https://www.baidu.com/" target="_blank">
<img usemap="#txMap" src="./img/sun.jpg" alt = "这是一个太阳系">
a>
<figcaption>
<h2>太阳系h2>
figcaption>
<p>
太阳系是以太阳为中心,和所有受到太阳的引力约束天体的集合体。包括八大行星(由离太阳从近到
远的顺序:水星、金星、地球、火星、木星、土星、天王星、海王星)、以及至少173颗已知的卫星
、5颗已经辨认出来的矮行星,包括四个柯伊伯带天体,和数以亿计的太阳系小天体,和彗星。
p>
figure>
video 视频
audio 音频
controls:控制控件的显示,取值只能为controls
某些属性,只有两种状态:1.不写 2.取值为属性名。这种属性叫做布尔属性
布尔属性,在HTML5中,可以不用书写属性值:
<video style="width: 300px" controls src="./media/open.mp4">video>
autoplay:布尔属性,自动播放
muked:布尔属性,静音播放(有些浏览器的设置问题,导致视频添加了autoplay属性也无法自动播放)
loop:布尔属性,循环播放
和视频用法完全一致
1.旧版本的浏览器不支持这两个元素
2.不同的浏览器支持的音视频格式可能不一致
通常的视频格式:mp4、webm
实际开发过程中,为了获得最好的兼容性,往往会准备同一视频资源的两种格式(甚至更多):
<video style="width: 300px" muted loop autoplay controls>
<source src="./media/open.mp4">
<source src="./media/open.webm">
video>
ol: ordered list 父元素:有序列表
li: list item 子元素:列表项
【快捷键】:alt + shift + 向下箭头 = 向下复制粘贴所选文本
把ol改为ul
ul:unordered list
无序列表常用于制作菜单或新闻列表
通常用于一些术语的定义
dl : definition list 父元素
dt : definition title 子元素
dd : definition description 子元素
容器元素:该元素代表一块区域,内部用于放置其他元素或其他容器。
没有语义
在HTML5中提出了很多语义化元素
显示效果与div一样,没有任何效果,只是为了提供语义。
以前:块级元素可以包含行级元素,行级元素不可以包含块级元素,a元素除外(a元素作为行级元素可以包含块级元素)。
现在,已经摒弃了块级元素和行级元素的说法。
元素的包含关系由元素的内容类别决定。
例如,查看h1元素中是否可以包含p元素:百度:h1 mdn
总结:
百度:内容类别 mdn
行级元素(inline):内容决定元素所占位置,不可以通过css改变宽高
span、strong、em、a、del、i、video、audio
块级元素(block):独占一行,可以通过css改变宽高
div、p、ul、li、ol、form、address
行级块元素(inline-block):内容决定大小,可以改宽高
img
凡是带有inline的元素,都有文字特性
,比如img,多个img展示时,默认情况下它们之间会有间距。间距是哪来的?是 空格/回车 所带来的。
它是HTML5的新元素,是一个容器元素,它的语义是:导航
【牛逼写法】ul5>(li>h3>a>lorem5)+(li6>a>lorem5)
这是把新闻列表的第一个li元素单独加上h3标签
单词,banner:横幅
【快键键】:alt + shift + f :格式化代码,当代码写的很乱,缩进不正确时使用。
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>百度新闻——海量中文资讯平台title>
head>
<body>
<header>
<div>
<ul>
<li><a href="">网页a>li>
<li><a href="">新闻a>li>
<li><a href="">贴吧a>li>
<li><a href="">知道a>li>
<li><a href="">音乐a>li>
<li><a href="">图片a>li>
<li><a href="">视频a>li>
<li><a href="">地图a>li>
<li><a href="">文库a>li>
ul>
<ul>
<li><a href="">百度首页a>li>
<li><a href="">用户名a>li>
<ul>
<li><a href="">我的主页a>li>
<li><a href="">账号设置a>li>
<li><a href="">退出a>li>
ul>
<li>
<a href="">
<span>百度新闻客户端span>
<img src="./img/sncode.png" alt="这是一张二维码">
a>
li>
ul>
div>
<div>
<div>
<h1>
<a href="">
百度新闻
<img src="./img/logo.png" alt="">
a>
h1>
div>
<div>
<input type="text">
<button>百度一下button>
div>
<div>
<a href="">帮助a>
div>
div>
<div>
<nav>
<a href="">首页a>
<a href="">国内a>
<a href="">国际a>
<a href="">军事a>
<a href="">财经a>
<a href="">娱乐a>
<a href="">体育a>
<a href="">互联网a>
<a href="">科技a>
<a href="">游戏a>
<a href="">女人a>
<a href="">汽车a>
<a href="">房产a>
nav>
div>
header>
<div>
<div>
<div>
<div>
<h2>热点要闻h2>
div>
<div>
<ul>
<li>
<h3><a href="">Lorem ipsum dolor sit amet.a>h3>
li>
<li><a href="">Lorem ipsum dolor sit amet.a>li>
<li><a href="">Totam sunt sapiente iste ratione.a>li>
<li><a href="">Odio ab saepe ipsam ullam.a>li>
<li><a href="">Provident cupiditate ea ipsa obcaecati.a>li>
<li><a href="">Enim nihil reiciendis provident perferendis?a>li>
<li><a href="">Dicta distinctio porro placeat dolor.a>li>
ul>
<ul>
<li>
<h3><a href="">Assumenda minus ex cum soluta.a>h3>
li>
<li><a href="">Sapiente minus similique officiis sint!a>li>
<li><a href="">Dolore corporis harum recusandae quibusdam.a>li>
<li><a href="">Minus magni cumque eius cupiditate?a>li>
<li><a href="">Maiores laborum quo libero pariatur.a>li>
<li><a href="">Aliquam dolore accusamus voluptates minima.a>li>
<li><a href="">Quidem excepturi illum repudiandae modi.a>li>
ul>
<ul>
<li>
<h3><a href="">Laborum nostrum magni animi ratione!a>h3>
li>
<li><a href="">Ipsam cumque accusantium nulla doloremque.a>li>
<li><a href="">Illo fuga praesentium voluptas veritatis.a>li>
<li><a href="">Aperiam explicabo nostrum praesentium perspiciatis.a>li>
<li><a href="">Temporibus expedita eveniet dolores dolorum.a>li>
<li><a href="">Odio atque facilis molestiae doloribus!a>li>
<li><a href="">Accusamus ut tempore fuga odio?a>li>
ul>
<ul>
<li>
<h3><a href="">Officia animi temporibus dolorum delectus.a>h3>
li>
<li><a href="">Rerum minus a assumenda iusto?a>li>
<li><a href="">Ducimus natus omnis odio incidunt.a>li>
<li><a href="">Hic impedit quos magni modi.a>li>
<li><a href="">Illum magni esse aliquid? Accusamus?a>li>
<li><a href="">Incidunt veniam provident beatae sed.a>li>
<li><a href="">Veritatis obcaecati incidunt ea. Dolore?a>li>
ul>
<ul>
<li>
<h3><a href="">Eaque iusto nisi nostrum maxime?a>h3>
li>
<li><a href="">Aspernatur perferendis dolorem corrupti unde.a>li>
<li><a href="">Eum id sed eos necessitatibus?a>li>
<li><a href="">Quisquam, cumque. Molestiae, impedit enim?a>li>
<li><a href="">Voluptatibus illo exercitationem veritatis. Laudantium.a>li>
<li><a href="">Perspiciatis culpa voluptatibus qui repellat.a>li>
<li><a href="">Explicabo rerum quisquam temporibus quaerat.a>li>
ul>
div>
div>
<div>
<div>
<div>
<div>
<div>
<a href="">
<img src="./img/banner1.jpg" alt="">
<h3>Lorem ipsum dolor sit amet.h3>
a>
div>
<div>
<a href="">
<img src="./img/banner2.jpg" alt="">
<h3>Pariatur eius adipisci placeat aspernatur.h3>
a>
div>
<div>
<a href="">
<img src="./img/banner3.jpg" alt="">
<h3>Labore possimus earum neque non.h3>
a>
div>
<div>
<a href="">
<img src="./img/banner4.jpg" alt="">
<h3>Unde nisi ipsa dolore repellendus!h3>
a>
div>
<div>
<a href="">
<img src="./img/banner5.jpg" alt="">
<h3>Maiores, velit saepe. Quisquam, odit!h3>
a>
div>
<div>
<a href="">
<img src="./img/banner6.jpg" alt="">
<h3>Accusantium accusamus nisi ipsam sapiente?h3>
a>
div>
<div>
<a href="">
<img src="./img/banner7.jpg" alt="">
<h3>Itaque ipsam nihil non dolorum.h3>
a>
div>
<div>
<a href="">
<img src="./img/banner8.jpg" alt="">
<h3>Soluta ducimus dolorem ipsum necessitatibus?h3>
a>
div>
div>
<div>
<span><span><span>>span>
div>
<ul>
<li>li>
<li>li>
<li>li>
<li>li>
<li>li>
<li>li>
<li>li>
<li>li>
ul>
div>
<div>
<a href="">
<img src="./img/adv1.png" alt="">
a>
<a href="">
<img src="./img/adv2.jpg" alt="">
a>
div>
div>
<div>
<div>
<h3>
热搜新闻词
<span>HOT WORDSspan>
<span>span>
h3>
div>
<ul>
<li>Lorem, ipsum.li>
<li>Quas, voluptas.li>
<li>Culpa, perferendis!li>
<li>Quaerat, pariatur.li>
<li>Quam, reprehenderit?li>
<li>Dolores, nobis.li>
<li>Itaque, hic.li>
<li>Nisi, tempore!li>
<li>Impedit, voluptatibus.li>
<li>Maiores, eligendi.li>
ul>
div>
<div>
<div>
<h3>
百家号
<span>BAIJIAspan>
<span>span>
h3>
div>
<div>
<div>
<ul>
<li><a href=""><span>Lorem ipsum dolor sit.span><img src="./img/test1.jpg" alt="">a>li>
<li><a href=""><span>Quasi fugiat cum mollitia!span><img src="./img/test2.jpg" alt="">a>li>
<li><a href=""><span>Voluptas deleniti architecto velit.span><img src="./img/test3.jpg" alt="">a>li>
<li><a href=""><span>Porro laudantium dolorem officia?span><img src="./img/test4.jpg" alt="">a>li>
ul>
div>
<div>
<ul>
<li><a href="">Lorem ipsum dolor sit.a>li>
<li><a href="">Quasi labore in enim.a>li>
<li><a href="">Delectus itaque modi reprehenderit.a>li>
<li><a href="">Modi ducimus reiciendis non!a>li>
<li><a href="">Ratione tempora quasi magnam.a>li>
ul>
<ul>
<li><a href="">Vel reiciendis necessitatibus voluptates!a>li>
<li><a href="">Earum ipsam voluptate nisi.a>li>
<li><a href="">Dolorum omnis voluptatum magni.a>li>
<li><a href="">Culpa labore eum assumenda.a>li>
<li><a href="">Nisi ducimus modi exercitationem!a>li>
ul>
<ul>
<li><a href="">Mollitia eveniet minima autem?a>li>
<li><a href="">Voluptas asperiores error ullam?a>li>
<li><a href="">Rem officia debitis aut!a>li>
<li><a href="">Ipsum, voluptatum nam. Maxime.a>li>
<li><a href="">Sint illo iusto voluptatem.a>li>
ul>
div>
div>
div>
div>
div>
div>
<footer>
<div>
<div>
<div>更多精彩内容div>
<div>
<div>
<img src="./img/sncode.png" alt="">
div>
<div>
<a href="">Android下载a>
<a href="">iPhone下载a>
div>
div>
<div>
扫描二维码,收看更多新闻
div>
div>
<div>
<div>
<h4>百度新闻独家出品h4>
<ul>
<li>Lorem ipsum dolor sit amet.li>
<li>Repellendus esse at ut accusantium.li>
<li>Mollitia deleniti similique ipsa sequi?li>
ul>
div>
div>
div>
<div>
<p>
责任编辑:胡彦BN098 刘石娟BN068 谢建BN085 李芳雨BN091 储信艳BN087 焦碧碧BN084 禤聪BN095 王鑫BN060 崔超BN071 违法和不良信息举报电话:400-921-6911
p>
<p>
<a href="">用户协议a>
<a href="">隐私策略a>
<a href="">投诉中心a>
京公网安备11000002000001号
<a href="">互联网新闻信息服务许可a>
©2019Baidu
<a href="">使用百度前必读a>
<a href="">a>
<a href="">a>
<a href="">a>
p>
div>
footer>
<aside>
aside>
body>
html>