目录
HTML简介
1.1 web本质
- 浏览器发请求
- HTTP协议(服务端在发送数据之前,需要先发送报头)
- 服务端接收请求
- 服务端返回响应
- 服务端把HTML文件内容发给浏览器
- 浏览器渲染页面
import socket s = socket.socket() s.bind(('127.0.0.1', 8080)) s.listen(5) while True: print('服务端已启动...') conn, addr = s.accept() data = conn.recv(1024) conn.send(b"HTTP/1.1. 200 ok\r\n\r\n") conn.send(b"Hello World :)") conn.close()
1.2 HTML本质
超文本标记语言(Hypertext Markup Language, HTML):一种用于创建网页的标记语言。
本质:是浏览器可识别的规则,我们按照规则写网页,浏览器根据规则渲染我们的网页。对于不同的浏览器,对同一个标签可能会有不同的解释。(兼容性问题)
网页文件的扩展名:
.html
或.htm
(在古老的计算机时代,不能用html四位的扩展名 : /)
1.3 HTML误区
HTML是一种标记语言(markup language),它不是一种编程语言。
HTML使用标签来描述网页。
1.4 HTML文档结构
最基本的HTML文档:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>css样式优先级</title> </head> <body> </body> </html>
<!DOCTYPE html>
声明为HTML5文档。<!DOCTYPE>
声明必须是 HTML 文档的第一行,位于 标签之前。<!DOCTYPE>
声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。
<html>
、</html>
是文档的开始标记和结束的标记。是HTML页面的根元素,在它们之间是文档的头部(head)和主体(body)。<head>
、</head>
定义了HTML文档的开头部分。它们之间的内容不会在浏览器的文档窗口显示,包含了文档的元(meta)数据。<title>
、</title>
定义了网页标题,在浏览器标题栏显示。
或外的文本内容也会默认放入中。<body>
、</body>
之间的文本是可见的网页主体内容,放在<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>sdhasd</title> <style> </style> <link rel="stylesheet" href="01.css"/> <meta name="keywords" content="meta总结,html meta,meta属性,meta跳转"> <meta name="description" content="老男孩教育Python学院"> </head> <body> <div> aa </div> </body> 猜猜我在body的外面会显示吗?<!--会显示--> </html> 猜猜我在body的外面会显示吗?<!--会显示-->
注意:对于中文网页需要使用 声明编码,否则会出现乱码。有些浏览器会设置 GBK 为默认编码,则你需要设置为 。
1.5 HTML标签格式
<body> >>>标签的书写, 双标签,<head></head> 单标签 <meta charset="UTF-8"> >>>标签里面的语法/属性 <标签名 属性名="属性值"></标签名> <标签名 属性名="属性值" /> <标签名 id="属性值" class="属性值 属性值 属性值"></标签名> <标签名 >内容</标签名> <标签名 属性名="内容"/> </body>
1.6 HTML注释
<!--注释内容-->
1.7 HTML标签
- 标题标签
- 段落标签
- 链接标签
- 锚点
- id属性/class属性
- 图片标签
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--行内标签--> <!--块级标签--> <!--标题标签--> <h1 id="h1">我是标题1</h1> <h2>我是标题2</h2> <h3>我是标题3</h3> <h4>我是标题4</h4> <h5>我是标题5</h5> <h6>我是标题6</h6> <h7>我是标题7</h7> 我是标题7 <!--段落标签--> <p>我是p</p> <p>我是p</p> <!--a标签,链接标签, href="链接的地址" 第一种情况:target属性默认是_self,如果是self就会覆盖当前的html, 第二种情况:如果target属性默认是_blank,就会重新打开窗口 --> <a href="02.html" target="_blank">首页</a> <a href="02.html" target="_self">首页</a> <!--锚点--> <a href="#h1">首页</a> <!--id属性, id="属性值",如果是id属性,属性值必须全页面唯一 class属性 class属性可以全局不唯一 <a class="a b c k"></a> --> <!--img 图片标签 src="图片的地址" alt="当图片不能加载的时候,就会显示,还有给搜索引擎提示我们图片的内容" title="当我们的鼠标悬浮在图片上的时候,就会显示"--> <img src="http://s9.rr.itc.cn/r/wapChange/20174_1_21/a7o3k08442035758542.jpg" alt=""> <img src="1.jpg" alt=""> <img src="2.jpg" alt="dasdasd"> <img src="1.jpg" title="这是你们的老婆"> </body> </html>
- 无序列表标签
- 有序列表标签
- 标题列表
- 表格标签
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--无序列表标签 disc(实心圆点,默认值) circle(空心圆圈) square(实心方块) none(无样式) --> <ul class="a" type="circle"> <li>1</li> <li>2</li> <li>3</li> </ul> <!--有序列表标签 type属性: 1 数字列表,默认值 A 大写字母 a 小写字母 Ⅰ大写罗马 ⅰ小写罗马 --> <ol type="A" start="2"> <li>1</li> <li>2</li> <li>3</li> </ol> <!--标题列表--> <!--标题1--> <!--nie--> <!--nei--> <!--挑剔--> <!--nier--> <!--strs="23456789abcdefghik"--> <!--5--> <!--标题列表--> <dl> <dt>标题1</dt> <dd>内容1</dd> <dt>标题2</dt> <dd>内容1</dd> <dd>内容2</dd> </dl> <!--表格标签 border: 表格边框. cellpadding: 内边距 cellspacing: 外边距. width: 像素 百分比.(最好通过css来设置长宽) rowspan: 单元格竖跨多少行 colspan: 单元格横跨多少列(即合并单元格) --> <table border="1" cellpadding="20" cellspacing="20" > <thead> <tr> <th>name</th> <th>age</th> <th>sex</th> </tr> </thead> <tbody> <tr> <td rowspan="3">egon</td> <td>39</td> <td>男</td> </tr> <tr> <td colspan="2">egon</td> <td>39</td> <td>男</td> </tr> <tr> <td>egon</td> <td>39</td> <td>男</td> </tr> </tbody> </table> </body> </html>
1.8 特殊字符
内容 | 对应代码 |
---|---|
空格 |   |
> | > |
< | < |
& | & |
¥ | ¥ |
版权 | © |
注册 | ® |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> 普通文本 <br> <b>加粗</b> <br> <i>斜体</i> <br> <u>下划线</u> <br> <s>删除</s> <!--换行--> <a href="">a</a> <br> <a href="">a</a> <br> <a href="">a</a> <!--水平线--> <hr> <div>我是块级</div> <span>我是行内</span> <span>我是行内</span> <!--html中特殊符号--> <span>我是 行内</span> <!--空格 --> <!--> >--> <!--< <--> <!--& &--> <!--¥ ¥--> <!--版权 ©--> <!--注册 ®--> <!--<script>--> <!--alert("123")--> <!--</script>--> <hr> <hr> <hr> <hr> <hr> 1<span> ¥ 版权 © 注册 ® </body> </html>
注意:<br>
表示换行、<hr>
表示水平线。
1.9 div标签和span标签
- div标签用来定义一个块级元素,并无实际的意义。主要通过CSS样式为其赋予不同的表现。
- span标签用来定义内联(行内)元素,并无实际的意义。主要通过CSS样式为其赋予不同的表现。
2.0 块级元素vs行内元素
- 所谓块元素,是以另起一行开始渲染的元素,行内元素则不需另起一行。如果单独在网页中插入这两个元素,不会对页面产生任何的影响。
这两个元素是专门为定义CSS样式而生的。