ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# HTML 入门 # 复习 1. 上网原理: 本质是数据传输! 每个网址对应一个具体文件,根据网址URL,响应资源(html.css,js,图片)等到用户本地,浏览器解析 2. 存文本: 只有内容无样式!! 无语义! 3. HTML: 超文本标记语言! 4. 标签 ``` <h1><h1> 标题语意, h是 headline标题的缩写 <p></p> p 是paragraph 段落的意思 HTML中除了语义,其他什么都没有:没有样式、没有交互、没有行为。 所以HTML不能让文本居中、字号调整、颜色改变、字体…… ```` # 目标 *编号为本节重难点* ![](https://box.kancloud.cn/b1fe60dc4e645ffd9b4d167c059bb3ec_436x305.png) - 常见标签(h,p,img,a,hr,div,span,文本小标签,注释和特殊字符,ol,ul,dl) # 基本环境 > 一些基本的电脑常识需要了解! 文件后缀名,浏览器等 这里还是要重复下上章节的内容!简单了解下电脑基础知识 - 不同文件有不同后缀: *.jpg 图片 *.mp3 网页 *.txt 文本 - 网页 *.html - 默认文件后缀名不显示,需要手动设置显示 双击我的电脑-- 工具---文件夹选项--- 查看---去掉勾选"隐藏已知文件扩展名" ![](https://box.kancloud.cn/57efe3f19f79a6ab040b5b8e2b1417a3_831x344.png) - 浏览器 浏览网页的软件叫"浏览器", 常用浏览器有很多,有自己独立核心技术"内核"的浏览器有如下几个,其余都是盗版! ![](https://box.kancloud.cn/20642d14c8f0c6d8d4c4f288506ff779_325x63.png) | 浏览器 | 简介 | | --- | --- | | IE | 微软,用户量最大 | | FireFox | 火狐, 最专业 | | Google & Safari |谷歌和苹果, 最炫 都是 webkit内核 | | Opera | 欧朋, 最小巧,欧美常用 | # 第一个网页 > 网页本质上是文本文档! 以下步骤可以快速建立第一给自己的网页! 1. 新建一个txt文件: 2. 改后缀名为*.html 3. 输入内容,保存用浏览器打开 ![](https://box.kancloud.cn/7fb852b28b389d3bbe13bcbd98929010_132x47.png) ![](https://box.kancloud.cn/598695dd6780fd360b30cfc50b020fd6_178x43.png) ![](https://box.kancloud.cn/fe0b47fed0a05059e97a999b5ccf0199_530x262.png) 也就是说,html本质上和txt没有任何区别,他们都是纯文本文件。 我们强行把这个文件的拓展名,从txt更改为html,我们会发现小图标就变成浏览器的小图标了: 在“打开方式”中,用记事本可以编辑它。 现在要养成 `编辑器里面编辑 → 保存ctrl+s → 浏览器里面刷新F5` 的习惯。 # 使用标签为网页添加效果 > 以上3步可快速建立一个最简单网页! 本质上是一个文本! 如何为网页添加特殊效果呢? 接了下我们为网页添加一对特殊格式的字符 ``` 我的第一个网页 <h1>静夜思</h1> ``` 保存,浏览,可发现"静夜思" 标题别加粗放大! 这就是一个标题! ![](https://box.kancloud.cn/9e8835d789996dc1c1c1f3ee717dba04_149x275.png) 总结: > h1就标识"静夜思"为标题! 在网页中这种成对存在的特殊符号叫"标签/标记" 基本语法: <起始标签>内容</结束标签> 标签一般成对存在,必须闭合! / 标示闭合符号 网页中正因为添加了各种标签才拥有了丰富的效果! 所以网页全称"超文本标签语言" Hyper Text Markup Langulare 超级 文本 标记 语言 > # 制作一个标准网页 [傻傻的才记忆] > 以上我们制作的是一个最简单的网页,一个标准网页结构如下: ## 标准结构 ![](https://box.kancloud.cn/7c429d0a129390ca3c4c94a3dad9b3d8_320x358.png) ``` 1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 3<head> 4 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 5 <title>Document</title> 6</head> 7<body> 8 9</body> 10</html> ``` 我们详细讲解! ## 文档声明头 第一行 就是文档声明头,DocType Declaration。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。 ![](https://box.kancloud.cn/2162399d77566d40f8b43802bb5dcac4_658x340.png) 到底有哪些规范呢? 首先我们先确定一件事儿,我们`现在学习的是HTML4.01`这个版本,这个版本是IE6开始兼容的。HTML5是IE9开开始兼容的。但是IE6、7、8这些浏览器还不能过早的淘汰,所以这几年网页还是应该用HTML4.01来制作。后面将知道手机、移动端的网页,就可以使用HTML5了。 HTML4.01里面有两大种规范,每大种规范里面又各有3种小规范。所以一共6种规范(见下面): HTML4.01里面规定了普通、XHTML两大种规范。 HTML觉得自己有一些规定不严谨,比如,标签是否可以用大写字母呢? ``` <H1></H1> ``` 所以,HTML就觉得,把一些规范严格的标准,又制定了一个XHTML1.0。在XHTML中的字母X,表示“严格的”。 总结一下,一共有6种DTD,说白了,HTML第一行语句一共有6种: ![](https://box.kancloud.cn/b3c0ca9558557d6e920ec26fe76d7287_596x256.png) strict表示“严格的”,这种模式里面的要求更为严格。这种严格体现在哪里?有一些标签不能使用。 比如,u标签,就是可以让一个本文加上下划线,但是这和HTML的本质有冲突,因为HTML只能负责语义,不能负责样式,而u这个下划线是样式。所以,在strict中是不能使用u标签的。 1 <u>嘻嘻嘻嘻嘻</u> 怎么给文本增加下划线呢?今后的css将使用css属性来解决。 Transitional表示“普通的”,这种模式就是没有一些别的规范。 Frameset表示“框架”,在框架的页面使用 ## 字符集 > 字库规模 : urf-8 > gbk(只有汉字) ``` <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> ``` 字符集用meta标签定义,meta表示“元”。“元”配置,就是表示基本的配置项目。 charset就是charactor set“字符集”的意思。这个meta不用背,谁背谁傻,自动生成的。 中文能够使用的字符集两种: ``` 第一种:UTF-8 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 第二种:gb2312 <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> 也可以写成gbk <meta http-equiv="Content-Type" content="text/html;charset=gbk"> ``` 什么是字符集?活字印刷术,所有的汉字都有一个个小印章,需要哪个字,就取哪个字。 ![](https://box.kancloud.cn/ef63f9c6fb3fd82a9bcd5106c62d1083_226x150.png) 但是,有两个人都发明了字库。老王发明了一个,老李也发明了一个。 比如同一个汉字,“传”字在老王的字库里面是第2个大盘子第4行第43列的。 而这个汉字“传”在老李的字库里面是第5个大盘子第6行第13列的。 计算机,不能直接存储汉字,而是存储的是编码,所以,计算机记录“传”这个字,就是这么记录的: 老王:20443 老李:50613 > 有两个字库UTF-8和gb2312。 UTF-8是国际通用字库,里面涵盖了所有地球上所有人类的语言文字, 比如阿拉伯文、汉语、鸟语…… gb2312 是国标,是中国的字库,里面仅涵盖了汉字和一些常用外文, 比如日文片假名,和常见的符号。 `字库规模: UTF-8(字全) > gb2312(只有汉字)` 我们用meta标签可以声明当前这个html文档的字库,但是一定要和保存的类型一样,否则乱码!(重点) ![](https://box.kancloud.cn/99afedb29a7c2d9120f9f36a1ed8ea8d_577x318.png) 当我们不设置的时候,sublime默认类型就是UTF-8。而一旦更改为gb2312的时候,就一定要记得设置一下sublime的保存类型: 文件→ set File Encoding to → Chinese Simplified(GBK) ![](https://box.kancloud.cn/29f8d9fc0af8ed835603ae3086ee2487_680x347.png) 注意,由于UTF-8里面保存了世界上所有人类语言,所以描述一个汉字需要的码更多。 UTF-8里面存储一个汉字3个字节。而gb2312中存储一个汉字2个字节。 `保存大小: UTF-8(更臃肿、加载更慢) > gb2312 (更小巧,加载更快)` ![](https://box.kancloud.cn/8af4fda02581491fb1db096263e0fd16_553x94.png) 列出2个使用情形: 1) 你们公司是做日本动漫的,经常出现一些日语动漫的名字,网页要使用UTF-8。如果用gb2312将无法显示日语。 2) 你们公司就是中文网页,极度的追求网页的显示速度,要使用gb2312。如果使用UTF-8将每个汉字多一个byte,所以5000个汉字,多5kb。 我们亲测: ● qq网、网易、搜狐都是使用gb2312。这些公司,都追求显示速度。 ● 新华网藏语频道,使用的是UTF-8,保证字符集的数量。 我们的课程,一律使用UTF-8,因为我们懒,懒得改了。 浏览器就是通过meta来看你是什么字符集的,比如你保存的时候meta写的,和声明的不匹配,那么浏览器就是乱码。 ## 关键字和页面描述 > meta除了可以设置字符集,还可以设置关键字和页面描述。,有利于SEO优化 ``` <meta name="Keywords" content="网易,邮箱,游戏,新闻,体育,娱乐,女性,亚运,论坛,短信" /> <meta name="Description" content="网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。" /> ``` 只要设置的Description页面描述,那么百度搜索结果,就能够显示这些语句,这个技术叫做SEO,search engine optimization,搜索引擎优化。 ![](https://box.kancloud.cn/8733f3ede552fd8321dd2ab17e60638d_458x157.png) 抽象一下: ``` <meta name=”” content=”” /> ``` name就是“名字”的意思,content是“内容”的意思。 也就是说,我们定义了一个名字是“Description”(描述)的meta。内容是网易是中国领先…… 定义关键词: ``` <meta name="Keywords" content="网易,邮箱,游戏,新闻,体育,娱乐,女性,亚运,论坛,短信" /> ``` 这些关键词,就是告诉搜索引擎,这个网页是干嘛的,能够提高搜索命中率。让别人能够找到你,搜索到你。 Keywords就是“关键词”的意思。 ## title > 网页标题 ``` <title>爱奇艺-全球领先的在线视频网站-海量正版高清视频在线观看</title> ``` title也是有助于SEO搜索引擎优化的: ![](https://box.kancloud.cn/f21f819f7b4906d7523160433cab34ed_230x34.png) ## body 用户可见的内容都必须写在body中 总结: 网页的head标签里面,表示的是页面的配置,有什么配置? 字符集、关键词、页面描述、页面标题。 今后我还能看见一些配置:IE适配、视口、iPhone小图标等等…… ## 补充:网站小图标 > head 中也可以加入网站小图标 ``` <link rel="shortcut icon" href="图标.ico"> ``` ![](https://box.kancloud.cn/7b7d64cf19e35821bfcc88321c8272d4_235x36.png) # 常用标签简介 > 常用标签: 标题,段落,水平线,换行,图片 ## . 标题系列 ` h1-h6` 是 headline标题的缩写 ```` <h1>静夜思</h1> <h2>静夜思</h2> <h3>静夜思</h3> <h4>静夜思</h4> <h5>静夜思</h5> <h6>静夜思</h6> ```` 效果如图: h1-h6,标题标签,字体加粗放大,逐渐变小 ![](https://box.kancloud.cn/d6481ae2fefcd93d9a1b0b3c29e33779_165x269.png) ## 段落 `p ` p是`paragraph` 段落的缩写段落会自动换行 ``` HTML标签是分等级的,HTML将所有的标签分为两种:容器级、文本级。 顾名思义,容器级的标签,里面可以放置任何东西;文本级的标签里面, 只能放置文字、图片、表单元素。 ```` p标签是一个文本级标签。从学习p的第一天开始,就要死死记住:p里面只能放文字、图片、表单元素。其他的一律不能放。 ![](https://box.kancloud.cn/b8120db08c1d6f0bb8c2ca443aba939c_154x38.png) Chrome浏览器 是世界上HTML5支持最好的浏览器。提供了非常好的开发工具,非常适合我们开发人员使用。审查元素功能的快捷键是F12。 Chrome的英语原意“硅”,是谷歌公司的产品 审查元素功能: ![](https://box.kancloud.cn/0998040a8ed0b43073a916bfce43c00c_680x371.png) 试着把h放到p到里: ``` <p> 我是一个小段落 <h1>我是一个主标题</h1> </p> ``` 浏览器不允许你这么做,我们使用Chrome的F12审查,你会发现,浏览器自己把p封闭掉了,不让你去包裹h1。 ![](https://box.kancloud.cn/7c09232dec4efc9df40489b1ee6c39d3_286x91.png) `所以,再次强调,p是一个文本级的标签,p里面只能放文字、图片、表单元素。` ``` 正确的: <h3>个人经历</h3> <p> 我是一个主标题 </p> ```` ## 水平线 ``` <hr> ``` ## 换行 ```` <br/> ```` ## 块 表示页面中一个区域,稍后可添加宽高! ``` <div>内容</div> ``` ## 行标签 表示一行中的一个或一部分,用户为一行中特定部分添加效果! ``` <span>内容</span> ``` ## 注释和特殊符号 注释: ``` <!--- 要注释的内容 --> ``` 特殊符号/实体 | 符号 | 介绍 | | --- | --- | | &ngbsp; | 空格 | | &gt; | 大于号 | | &lt; | 小于号 | | &quot; | 引号 | | &copy; | 版权@符号 | | &reg; | 注册商标 | ## 图片 > 网页中能用的图片类型: jpg/jpeg, gif, png,bmp, 类型之间区别css课程会讲解! 不能插入的图片类型 *.psd, ai HTML页面不是直接插入图片,而是插入图片的引用地址,所以也要把图片上传到服务器上,语法: - 语法 ``` <img src="图片路径" alt="错误提示" > ``` img 是英文`image` 图片的简写 src 是应为`source` 资源的简写, 千万那别写成 scr src是 img标签的属性, 双引号中是属性的值! 这个标签和我们之前学的,都不一样,因为这个标签不是“对儿”。自封闭标签,也称为单标签。 为什么?原因很简单,如果是对儿,里面就要有内容,表示给这个内容增加语义。比如 ``` <h1>哈哈哈哈,我是主标题啦!!!</h1> ``` 图片就是一个图片,不需要给什么文字增加语义,所以就是自己一个人活得挺好! - alt 属性 alt是英语alternate“替代”的意思,就表示不管因为什么原因,当这个图片无法被显示的时候,出现的替代文字。 ![](https://box.kancloud.cn/9440806ebe56ae3dfa519a655efd7696_270x178.png) - 相对路径 HTML中插入图片,所以现在有两个文件,一个html文件,一个是jpg文件。 我们关心的就是这两个文件的相对位置。即使这个网站项目,被用u盘拷给了别人,只要相对路径不变。图片一定能够正常显示。 当图片在文件夹里面的时候 ![](https://box.kancloud.cn/4f6b08b3e355d062cc88ff43ce937bf4_254x128.png) ``` <img src="images/baby.jpg" alt="巴黎结婚照" /> ``` 如果在很深的文件夹中,也不怕,可以一直罗列下去: ``` <img src="images/jiehunzhao/baby.jpg" alt="巴黎结婚照" /> ``` 如果情况变得复杂,我们的图片在浅一层的文件夹中: ![](https://box.kancloud.cn/432ec22b1d3dc7cc85a1051909cbe62d_255x180.png) ``` <img src="../3.jpg" alt="" /> ../ 标示上层目录 ``` 如果是上两级: ``` <img src="../../3.jpg" alt="" ``` 相对路径不会出现这种情况: ``` aaa/../bbb/1.jpg ../要么不写,要么就写在开头。 ``` ![](https://box.kancloud.cn/ccd78943ef76a8fd5127001ccce7f61a_158x76.png) ![](https://box.kancloud.cn/a6de90f8a046562234b232896bc69977_353x219.png) ``` 标准答案: <img src="../../photo/1.png" /> ``` 解释: 现在document是最大的文件夹,里面有两个文件夹work和photo。work中又有一个文件夹叫做myweb。myweb文件夹里面有index.html。 所以index.html在myweb文件夹里面,上一级就是work文件夹,上两级就是document文件夹。通过document文件夹当做一个中转站,进入photo文件夹,看到了1.png。 表示一个区域! ## 超连接 >一个网站,是由很多html网页组成的,html网页之间能够通过超级链接互相跳转,从而形成了“网”。 ``` <a href="页面地址" title='标题' target='目标打开位置'>图片或/文字</a> <a href="1.html">结婚照</a> ``` 效果图,字体颜色变色,自动添加下划线,鼠标滑过变小手 ![](https://box.kancloud.cn/ce945de0663abc6b073f1a5eb23035ed_82x40.png) a是英语anchor“锚”的意思,就好像这个页面往另一个页面扔出了一个锚。是一个文本级的标签。 ![](https://box.kancloud.cn/7dfca246ad886927d770f64c4fb71738_183x114.png) href是英语hypertext reference超文本地址的缩写。读作“喝瑞夫”,不要读作“喝夫”。 - 属性 title ![](https://box.kancloud.cn/ea55bfc3d948413174f4923ba9590907_309x86.png) ``` title是悬停文本,相当于图片标题 <a href="09_img.html" title="很好看哦">结婚照</a> ``` - 属性 target ``` target 是否在新窗口中打开 target实际上是“目标”的意思。 blank就是“空白”的意思,就表示新建一个空白窗口。为毛有一个_ ,就是规定,没啥好解释的。 <a href="09_img.html" title="很好看哦" target="_blank/_self">结婚照</a> ``` 也就是说,如果不写target=”_blank”或 "_self "那么就是在当前窗口打开,如果写了,就是在新的空白标签页中打开。 清楚img和a标签的各自的属性: ``` <img src="1.jpg" /> <a href="1.html"></a> ``` - 网页内的锚点 页面当中可以有锚点,所谓的锚点,就是一个小标记,这个小标记是用户不可察觉的,用户不知道这里有一个标记。 相当于页面之间定位!!!网页太长时用! 锚点用name属性来设置,一个a标签如果name属性(或者id属性),那么就是页面的一个锚点。 ``` <a name="锚点名">我的作品</a> 或者: <a id="锚点名">我的作品</a> 使用: 网页名#锚点名 ``` ![](https://box.kancloud.cn/9ff59ebcc4cf099b27dba13f85722496_515x289.png) 如果有一个超级链接,指向页面中的锚点,那么就是: ``` <a href="#wdzp">点击我就查看我的作品</a> ``` ![](https://box.kancloud.cn/69a3dcd2228bab620a929985512c361d_519x272.png) - a 是一个文本级标签 比如一个段落中的所有文字都能够被点击,那么应该: ``` <p> <a href="">段落段落段落段落段落段落</a> </p> ``` a的语义要小于p,a就是可以当做文本来处理,所以p里面相当于放的就是纯文字。 ## 有序列表 ## 无序列表 ## 自定义列表 # 如何丰富标签效果? > 标签的核心是搭建网页结构 "语义化"内容, 无丰富的效果! 真实网站效果是非常丰富的!我们通过属性或 样式 关键字来控制表情的效果! ## 属性概念 属性概念源于生活! 生活物体(学名叫对象),的名词或形容词的描述叫"对象" 比如: 人: 姓名,性别,年龄, 生日,身高,体重等.... 网页编程时,每个标签都可以当初一个物体.也有自己的属性! 比如: 图片: 宽 width,高 height ,字体颜色:,字体大小等 ## 属性语法 ``` <起始标签 属性1="值1" 属性2="值2" ...></结束标签> 不同属性之间通过空格隔开, 属性值用""引起来 ``` 案例: ``` 图片控制宽高 <img src="路径" width="100px" height="100%"/> div控制宽高 <div width="100px" height="200px"></div> <h1 align="left/center/right">静夜色</h1> ````` 注意: 属性控制的样式是有限的,能力的方式是使用 样式关键字: style (风格/样式) ``` 就不起作用! <h1 color="red">静夜思</h1> ``` ## style关键字 属性写在style关键字中! 属性和值之间用 冒号隔开, 多个之间用分号隔开! 这个是万能的!后期工作写法略微变化! ``` <起始标签 style="属性1:值1;属性2:值2;..."></结束标签> ``` 案例: ``` <div style="width:100px;height:100px;background-color:red;">快1</div> // margin:0 auto; div居中 <div style="width:100px;height:100px;background-color:red; margin: 0 auto;">快2</div> //字体居中 <div style="width:100px;height:100px;background-color:red; text-align:center">快2</div> <img style="width:100px;height:100px"/> //行标签 字形,大小,粗细 欢迎 <span style="color:red;font-size:30px;font-family:'宋体';font-width:'bold';"> 张局长</span> 来视察 ``` ## 标签常用属性 以下是常用的属性,可以完成我们网页80%的工作流 ,可先记住 | 常用属性 | 说明 | | --- | --- | | width | 宽度 单位 %或px | | height | 高度 | | border | 边框 broder:1px solid red | | color | 字体颜色 | | background-color | 背景颜色 | | font-size | 字体大小 | | align/text-align/margin:0 auto; | 居中属性 | | float | 浮动 | # 编程规范 1. HTML内容结构要求符合语义化 1. 标签必须被正确地嵌套。 2. 标签必须被关闭。 3. 标签名必须用小写字母。 4. 属性值必须用引号扩起来 5. 要注意缩进,提高可度性 # 总结: 1. 基本环境 2. 标签能为页面添加效果 3. 常用标签 4. 属性和style控制外观 5. 常用属性 6. 规范 难点: 标签,为表情添加样式