html介绍
web服务器的本质
import socket
sk=socket.socket()
sk.bind(('127.0.0.1'.8080))
sk.listen(5)
while True:
conn,addr=sk.accept()
data=conn.recv(1024)
conn.send(b"http/1.1 200 ok
")
conn.send(b"<h1>hello world</h1>")
conn.close()
浏览器发请求---》http协议--》服务端接收请求---》服务端返回响应--》服务端把html文件内容发给浏览器---》浏览器渲染页面
html是什么
1、超文本标记语言
2、本质上是浏览器可识别的规则,我们按照规则写网页,浏览器根据规则渲染我们的网页,对于不同的浏览器,对同一个标签可能会有不同的解释
3、网页文件的扩展名:.html或.htm
html不是什么
html是一种标记语言,它不是一种编程语言。html使用标签来描述网页
html文档结构
<!DOCTYPE html>
<html lang="zh-CN"
<head>
<meta charset='utf-8'>
<title>css样式优先级</title>
</head>
<body>
</body>
</html>
<! DOCTYPE html>声明为html5文
< html></ html>是文档的开始标记和结束的标记。是html页面的根元素,在它们之间是文档的头部和主体
< head>< /head>定义了html文档的开头部分。它们之间的内容不会在浏览器的文档窗口显示,包含了文档的元(meta)数据
< title>< /title>定义了网页标题,在浏览器标题栏显示
< body>< /body>之间的文本是可见的网页主体内容
对于中文网页需要使用<meta charset='utf8'>声明编码,否则会出现乱码。有些浏览器会设置gbk为默认编码,则你需要设置为<meta charset='gbk>'
html标签格式
html标签是由尖括号包围的关键字,如,
html标签通常是成对出现的,比如
,第一个标签是开始,第二个标签是结束。结束标签会有斜线也有一部分标签是单独呈现的,比如
<br/ >
标签的语法
<标签名 属性1=“属性值1” 属性2=“属性值2”....>内容部分</标签名>
<标签名 属性1="属性值1" 属性2="属性值2".../>
几个很重要的属性
1、id:定义标签的唯一ID,HTML文档树中唯一
2、class:为html元素定义一个或多个类名(classname)(css样式类名)
3、style:规定元素的行内样式(css样式)
html注释
<!--注释内容-->
标签
<!DOCTYPE>声明必须是html文档的第一行,位于<html>标签之前
<!DOCTYPE>声明不是html标签,它是指web浏览器关于页面使用哪个html版本进行编写的指令
html常用标签
head内常用标签
<title></title> 定义网页标题
<style></style> 定义内部样式表
<script></script> 定义js代码或引入外部js文件
<link/> 引入外部式表文件或网站图标
<meata/> 定义网页原信息
Meta标签
<meta>元素可提供有关页面的元信息(meta-information),针对搜索引擎和更新频度的描述和关键词
<meta>标签位于文档的头部,不包括任何内容
<meta>提供的信息是用户不可见的
meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能
http-equiv属性:相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值
指定文档的编码类型
<meta http-equiv="content-Type"charset="utf8">
2秒后跳转到对应的网址,注意引号
<meta http-equiv="refresh" content="2;url=https://www.baidu.com"
告诉ie以最高级模式渲染文档
<meta http-equiv="x-ua-compatible"content="IE=edge"
names属性:主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的
<meta name="keywords" content"meta总结,html meta,meta属性,meta属性,meta跳转">
<meta name="description" content="老男孩教育python学院"
body内常用标签
基本标签
<b>加粗</b>
<i>斜体</i>
<u>下划线</u>
<s>删除</s>
<p>段落标签<p>
<h1>标题1</h1>
<h2>标题2</h2>
<h3>标题3</h3>
<h4>标题4</h4>
<h5>标题5</h5>
<h6>标题6</h6>
<br> 换行
<hr> 水平线
特殊字符
空格
> >
< <
& &
¥ ¥
版权 ©;
注册 ®
div标签和span标签
div标签用来定义一个块级元素,并无实际的意义。主要通过css样式为其赋予不同的表现
span标签用来定义内联(行内)元素,并无实际的意义。主要通过css样式为其赋予不同的表现
块级元素与行内元素的区别
所谓块元素,是以另外一行开始渲染的元素,行内元素则不需另起一行。如果单独在网页中插入这两个元素,不会对页面产生任何的影响。这两个元素是专门为定义css样式而生的
注意:通常块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素
p标签不能包含块级标签,p标签也不能包含p标签
img标签
<img src='图片路径' alt='图片未加载成功时的提示' title='鼠标悬浮时提示信息'width='宽' height='高(宽高两个属性只用一个会自动等比缩放'>
a标签
超链接标签
所谓的超链接是指从一个网页指向一个目标的连接关系,这个目标可以是另外一个网页,也可以是相同网页上的不同位置,还可以是一个图片,一个电子邮件地址,一个文件,甚至是一个应用程序
<a href="http://www.oldboydu.com" target="_blank">点我</a>
href属性指定目标网页地址。该地址可以有几种类型
1、绝对url------指向另一个站点
2、相对url------指当前站点中确切的路径
3、锚url-----指向页面中的锚
target:
1、_blank表示在新标签页中打开目标网页
2、_self表示在当前标签页中打开目标网页
列表
1、无序列表
<ul type="disc">
<li>第一项</li>
<li>第二项</li>
</ul>
type属性:
1、disc(实心圆点,默认值)
2、circle(空心圆圈)
3、square(实心方块)
4、none(无样式)
2、有序列表
<ol type="1" start="2">
<li>第一项</li>
<li>第二项</li>
</ol>
type属性:
1、1数字列表,默认值
2、A大写字母
3、a小写字母
4、I 大写罗马
5、i小写罗马
3、标题列表
<dl>
<dt>标题1</dt>
<dd>内容1</dd>
<dt>标题2</dt>
<dd>内容1</dd>
<dd>内容2</dd>
</dl>
表格
表格是一个二维数据空间,一个表格由若干行组成,一个行又有若干单元格组成,单元格可以包含文字、列表、图案、表单、数字符号、预置文本和其他的表格等内容
表格最重要的目的是显示表格类数据,表格类数据是指最适合组织为表格格式(即按行和列组织)的数据
<table>
<thead>
<tr>
<th>序号</th>
<th>姓名</th>
<th>爱好</th>
<tr>
</thread>
<tbody>
<tr>
<td>1</td>
<td>LZS</td>
</tr>
<tr>
<td>2</td>
<td>嘿嘿</td>
</tr>
</tbody>
<table>
属性:
1、border:表格边框
2、cellpadding:内边距
3、cellspacing:外边距
4、width:像素百分比(最好通过css来设置长宽)
5、rowspan:单元格竖行跨多少行
6、colspan:单元格横行跨多少列(即合并单元格)
form
功能:表单用于服务器传输数据,从而实现用户与web服务器的交互
表单能够包含input系列标签,比如文本字段,复选框,单选框,提交按钮等等
表单还可以包含textarea,select,fieldset和label标签
表单属性
accept-charset:规定在被提交表单中使用的字符集(默认:页面字符集)
action:规定向何处提交表单的地址(url)
autocomp lete:规定浏览器应该自动完成表单
enctype:规定被提交数据的编码(默认:url-encoded)如果是上传文件需要将 enctype="multipat/form-data"
method:规定在提交表单时所用的http方法
name:规定识别表单的名称(对于dom使用:document.forms.name)
novalidate:规定浏览器不验证表单
target:规定action属性中地址的目标
表单元素
input
text: 单行输入文本 <input type='text'>
password:密码输入框 <input type='password'>
date: 日期输入框 <input type='date'>
checkbox:复选框 <input type='checkbox' checked='checked'>
radio: 单选框 <input type='radio'>
submit: 提交按钮 <input type='submit'value='提交'>
reset: 重置按钮 <input type='reset' value='重置'>
button: 普通按钮 <input type='button' value='普通按钮'>
hidden: 隐藏输入框 <input type='hidden'>
file: 文本选择框 <input type='file'>
属性说明:
name:表单提交时的“键”,注意和id的区别
value:表单提交时对应项的值
type=’button‘,’reset‘,’submit‘时,为按钮上显示的文本内容
type=’text‘,’password‘,’hidden‘时,为输入框的初始值
type=’checkbox‘,’radio‘,’file‘,为输入相关联的值
checked:radio和checkbox默认被选中的项
readonly:text和password设置只读
disabled:所有input均适用
select标签
<form action=" " method='post'>
<select name="city" id='city'>
<option value='1'>北京</option>
<option selected='selected' value='2'>上海</option>
<option value="3">广州</option>
<option value='4'>深圳</option>
属性说明:
multiple:布尔属性,设置后为多选,否则默认单选
disabled:禁用
selected:默认选中该项
value:定义提交时的选项值
label标签
定义:<label>标签为input元素定义标注(标记)
说明:
1、label元素不会向用户呈现任何特殊效果
2、<label>标签的for属性值应当与相关元素的id属性值相同
<form action="">
<label for="username">用户名</label>
<input type='text' id="username" name='username'
</form>
textarea多行文本
<textarea name="memo" id="memo" cols="30" rows="10">默认内容</textarea>
name:名称
rows:行数
cols:列数
disabled:禁用