△HTML:css
超文本标记语言,是一种用于建立网页的标记语言,不是编程语言,没有逻辑
本质上是浏览器可识别的规则
咱们按照规则写网页,浏览器根据规则渲染咱们的网页。对于不一样的浏览器,对同一个标签可能会有不一样的解释。(兼容性问题)
网页文件的扩展名:.html或.htm(没有区别)html
网页文件的扩展名:.html或.htm(没有区别)前端
咱们按照规则写网页,浏览器根据规则渲染咱们的网页。对于不一样的浏览器,对同一个标签可能会有不一样的解释。(兼容性问题)python
网页文件的扩展名:.html或.htm(没有区别)web
△css:
层叠样式表是一种用来表现HTML等文件样式(效果)的计算机语言编程
JavaScript:
简称“JS”,是一种属于网络的脚本语言
经常使用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果
一般JavaScript脚本是经过嵌入在HTML中来实现自身的功能的bootstrap
△jQuery:
jQuery是一个快速、简洁的JavaScript框架,它封装JavaScript经常使用的功能代码后端
△boodstarp(JQ+css):
bootstrap:简洁、直观、强悍的前端开发框架
它在jQuery的基础上进行了更为个性化的完善,造成一套本身独有的网站风格,并兼容大部分jQuery插件。浏览器
△B/S (前端/后端)服务器
Web服务的本质:
浏览器发请求 --> HTTP协议 --> 服务端接收请求 -->
服务端返回响应 --> 服务端把HTML文件内容发给浏览器 --> 浏览器渲染页面
浏览器内嵌了一个socket客户端,默认TCP连接
△浏览器自带socket客户端,本身编写的服务端也能够为浏览器服务
from socket import * jd_server = socket() jd_server.bind(("",8001)) jd_server.listen(5) conn,client_add = jd_server.accept() from_client_msg = conn.recv(1024) print(from_client_msg.decode()) conn.send("nihao".encode()) conn.close() jd_server.close()
按照HTTP协议加载浏览器能看懂的数据:
conn.send(b"HTTP/1.1 200 OK\r\n\r\n") conn.send(b"nihao")
HTTP/1.1 200 OK:
HTTP/1.1 是一个规范
200 表明请求成功
OK 表示一切正常
conn.send(b"<h1>nihao</h1>") #用标题包裹数据,更好看一些
标签通常造成一个结构写在文件里,这个文件就是HTML文件
HTTP/1.1 是一个规范
conn.send(b"HTTP/1.1 200 OK\r\n\r\n") conn.send(b"nihao")
pycharm中建立一个html文件(英文名,不要空格)
你会发现,整个结构都直接生成好了,由于无论什么浏览器,文档结构都是这样的
html文件能够在pycharm中就能打开
△本身写一个服务器
当浏览器来连服务器时,把HTML文件发送给浏览器
from socket import * s = socket() s.bind(("",8881)) s.listen(5) new_s, addr = s.accept() data = new_s.recv(1024) print(data.decode()) new_s.send(b"HTTP/1.1 200 OK\r\n\r\n") with open("test.html","rb") as f: data = f.read() new_s.send(data) new_s.close() s.close()
△最基本的HTML文档:
<!DOCTYPE html> <html lang="zh-CN"> <!--这个lang表示语言,zh-CN是中文的意思,就是说,你整个文档的内容以中文为主--> <!--若是以英文为主,就写成lang='en',用谷歌之类打开,它会认为是英文的,自动给翻译(若是设置了自动翻译的话)--> <head> <meta charset="UTF-8"> <title>标题</title> </head> <body> </body> </html> <!DOCTYPE html>:HTML文件声明,声明为HTML5文档 <html>、</html>:是文档的开始标记和结束的标记。是HTML页面的根元素,在它们之间是文档的头部(head)和主体(body) <head>、</head>:定义了HTML文档的开头部分。它们之间的内容不会在浏览器的文档窗口显示。包含了文档的元(meta)数据,配置信息等,是给浏览器看的,你看到的是在body标签里面写的 <title>、</title>:定义了网页标题,在浏览器标题栏显示 <body>、</body>:之间的文本是可见的网页主体内容 注意:对于中文网页须要使用 <meta charset="utf-8"> 声明编码,不然会出现乱码 有些浏览器会设置 GBK 为默认编码,则你须要设置为 <meta charset="gbk">
△浏览器页面调试工具 F12
Elements(元素):对浏览器看来,全部标签都是元素
标签对文本进行了标记,因此HTML叫超文本标记语言
浏览器有识别标签的机制
块级/内联:判断依据为显示的web中独占至少一行的body中的标签
块级标签(行外标签,独占一行):
块级标签可以包含内联标签,和某些块级标
<h1>一级标题</h1> 标题标签 <br> 换行标签 <hr> 换行横线标签 <p> 段落标签 第一章内容 </p> <div style="color:green"> </div> 换行文档分区标签 <ul> 无序列表标签 <li>茶</li> 列表内容标签 </ul> <ol type="I" start="2"> 有序列表标签 li>梅</li> </ol> <dl> 无标识标签 <dt>河北省</dt> <dd>邯郸</dd> </dl> <table border="1"> 表格线框宽度 表格标签 <tr> 定义行 第一行 <th>Month</th> 表头加粗的内容 <th>Savings</th> </tr> <tr> 第二行 <td>January</td> 表内容 <td>$100</td> </tr> </table>
内联标签(行内标签,不独占一行):
不能包含块级标签
<img width="200" height="200" src="timg.jpg" alt="稍等片刻" title="李孝利"> 图片标签 <a href="">跳到底部</a> 超连接标签 <span style="color:blue">蓝色</span> 文档标签
全封闭标签:
<title>网头</title> 网头标签 <h1>一级标题</h1> 标题标签 <a href="">跳到底部</a> 超连接标签 <p>个人车是 <span style="color:blue">蓝色</span> 的。</p> 段落标签 文档分区标签 <div style="color:green"> </div> 换行文档分区标签 <p> 段落标签 第一章内容 </p> <ul> 无序列表标签 <li>茶</li> </ul> <ol type="I" start="2"> 有序列表标签 li>梅</li> </ol> <dl> 无标识标签 <dt>河北省</dt> <dd>邯郸</dd> </dl> <table border="1"> 表格线框宽度 表格标签 <tr> 定义行 第一行 <th>Month</th> 表头加粗的内容 <th>Savings</th> </tr> <tr> 第二行 <td>January</td> 表内容 <td>$100</td> </tr> </table>
自封闭标签:
<meta> 元信息标签 <link rel="icon" href="图标文件路径"> 网头图标标签 <br> 换行标签 <hr> 换行横线标签 <img width="200" height="200" src="timg.jpg" alt="稍等片刻" title="李孝利"> 图片标签
<meta />
标签 元信息用处:标签位于文档的头部,提供的信息是用户不可见的,是一个自封闭标签,全封闭标签,可提供有关页面的元信息(meta-information)
有一下关键字:
定义文档字符编码和更新频度的描述:
<meta charset="utf-8" content="3"/> 三秒刷新 <meta http-equiv="Refresh" content="2;url=https://www.baidu.com"/> 自动跳转
浏览器内核(渲染引擎):渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息
渲染引擎是兼容性问题出现的根本缘由,大部分渲染效果差很少
<meta http-equiv="Refresh"> <meta http-equiv="X-UA-Compatible" cotent="IE=edge"> IE比较个色
"keywords" 是一个常常被用到的名称。它为文档定义了一组关键字
某些搜索引擎在遇到这些关键字时,会用这些关键字对文档进行分类
<meta name="keywod" content="古风,武侠,悟道"/>
设置网站描述信息,用于在搜索引擎搜索时,显示网站基本描述信息
<meta name="description" content="这是一个古风网站"/>
name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes"
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes"/> device-width:设备宽度 - initial-scale=1.0,初始显示缩放比例。 - minimum-scale=0.5,最小缩放比例。 - maximum-scale=1.0,最大缩放比例。 - user-scalable=yes,是否支持可缩放比例(触屏缩放)
<title>网头</title>
标签<link rel="icon" href="图标文件路径"/>
<h1> <h1>
标签 标题<body> hehe #body中没有包裹的就是普通文本显示 <h1>一级标题</h1> <h2>二级标题</h2> <h3>三级标题,大圣</h3> <h4>四级标题</h4> <h5>五级标题</h5> <h6>六级标题</h6> </body>
<h1>123</h1> <br> <h2>4<br>5</h2> 123 4 5
注意点:直接回车、空格等空白内容都被认为是一个空格
<h2>1<hr>2</h2> 1 ---------------------------------- 2
锚点:页面内容进行跳转(在本身的页面跳)
<body> <a href="#i1">第一章</a> <a href="#i2">第二章</a> <a href="#i3">第三章</a> <h1 id="i1">第一章 XXX</h1> <p> #段落标签 第一章内容 </p>
不加href属性,就是普通文本显示
<a>古风</a>
加上href属性,不加值文字有颜色效果,还有下划线,而且点击后会刷新当前的html页面
<a href="# ">跳到底部</a>
加上href属性,而且加上值
<a href="http://www.baidu.com" target="_self" >baidu</a>
跳转对应网址的页面
未访问以前是蓝色的字体颜色
访问以后是紫色的字体颜色
target属性:
_self:在当前标签页打开 href属性值的那个网址
_blank:在新的标签页打开 href属性值的那个网址
<p> 第一章内容 </p>
<p>个人车是 <span style="color:blue">蓝色</span> 的。</p> 若是不对 div和span 应用样式,那么 span 元素中的文本与其余文本不会任何视觉上的差别
div是一个块级元素。这意味着它的内容自动地开始一个新行
能够把文档分割为独立的、不一样的部分
<div style="color:green"> #字体为绿色 <h3>This is a header</h3> <p>This is a paragraph.</p> </div> <div style="background: red">内容</div> #背景为绿色
兴趣爱好: <ul> #<ul>做为无序列表的声明 <li>茶</li> <li>酒</li> <li>棋</li> </ul>
君子: <ol type="I" start="2"> #<ol> 标签订义有序列表,有序列表的各个列表项有前后顺序, <li>梅</li> #因此会使用数字进行标识 <li>兰</li> <li>竹</li> <li>菊</li> </ol>
<dl> <dt>河北省</dt> 表头 <dd>邯郸</dd> 内容 <dd>石家庄</dd> <dt>山西省</dt> <dd>太原</dd> <dd>平遥</dd> </dl> 河北省 邯郸 石家庄 山西省 太原 平遥
<table border="1"> 表格线框宽度 <tr> 定义行 第一行 <th>Month</th> 表头加粗的内容 <th>Savings</th> </tr> <tr> 第二行 <td>January</td> 表内容 <td>$100</td> </tr> </table> 表格由 table 元素以及一个或多个 tr、th 或 td 元素组成 tr 元素定义表格行,th 元素定义表头,td 元素定义表格单元 border:规定表格边框的宽度
<img width="200" height="200" src="timg.jpg" alt="稍等片刻" title="李孝利"/> src属性:图片路径 必须写 alt属性:图片加载失败或者正在加载时提示的内容 title属性:鼠标悬浮时显示的内容 # 不经常使用,经过css来控制 width:设置宽度 height:设置高度